tree 5c6d823f4360eaa6d8723bbc0b4da4c01e57b42e
parent 11c3aead82879448943a1d1795b9d2e52a7bb669
parent d4f414e559caf36d811213e56b56e9b6957caab1
author Arnd Bergmann <arnd@arndb.de> 1462804934 +0200
committer Arnd Bergmann <arnd@arndb.de> 1462804934 +0200
mergetag object d4f414e559caf36d811213e56b56e9b6957caab1
 type commit
 tag omap-for-v4.7/auxdata-signed
 tagger Tony Lindgren <tony@atomide.com> 1462383974 -0700
 
 Device tree auxdata handling fix that allows a match based on the
 compatible string if no exact match based on the IO address is found.
 
 This leaves out the need to patch auxdata for each driver when adding
 new SoCs. And it also reprotedly fixes the issue of passing auxdata
 to a child if the parent instantiates the child from DT as discussed
 in the "[PATCH] of/platform: Allow secondary compatible match in
 of_dev_lookup" mailing list thread.
 
 As a minimal use case, let's also convert omap pinctrl auxdatato
 use a generic match.
 
 There is no need to get this in to the v4.6-rc cycle and it can wait
 for v4.7 merge window. Note that these changes have now been sitting
 in Linux next for about two weeks so far as I wanted to make sure no
 new issues are popping up.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXKjVmAAoJEBvUPslcq6VzNaIQAKBW4SoVCpUnz8U7Vb6drVmk
 kNuXn317CJQIJSPYuncQkmnPPDqvRBB16offmWI2z31R2p8azuf4kTkroqGrIP2+
 ZuXyuxNc3IczxMiWjVN3SKA7/h4fRM+J8IN8AHHf/DAcFOc0Dz1muMhkEX3otT+/
 qFn85iBreeAaNnW9eViZ+lvz6wSYlhrHAPrW3jHJM1Q11OTi45vymS82iU4ztcXo
 zotDxSLaMcQJNAb6wF553JhzwL8G1bM9Ab1b5+vsOVQ/y/wWY+b/maGePUQCWiVX
 cggYoa/0gDmBGAUdLq1GvVTg4HHIEaO0ysrioMlHmOkTf7KXXiKITZTX98FE39rL
 xH/2nkechWV8yWPwhZktjASzcImqItcMdS3axFgdHnV7fpho2an/80Ekod401/Bh
 wIJ48gZxPAyshjr+e8xhyHRdEauVmUYvdiUS/Gv8dEvJJnBqVFYcLd/FNCp43j5X
 G7RQITG0pK7i0xwX+9vNOrD5CzfWCSLYw6iMnMnReMdnw9PUwbYLaiWTuoyC6Pmd
 B9zMkqOzdael6fFuQvRi9ZOEoSK5A3EpLWrvXzrS4nXy1dOa2eDpuxoRkAKACVMf
 wyANAn3YK1pQwtnoGRsdNk98zjMX2o8H1G0XKB0QewNa0zlNhGIUsAiZYX4H/drg
 taAbzAUSLloDcHnyQgis
 =T39l
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.7/auxdata-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical

Merge "non urgent auxdata fix for v4.7 merge window" from Tony Lindgren:

Device tree auxdata handling fix that allows a match based on the
compatible string if no exact match based on the IO address is found.

This leaves out the need to patch auxdata for each driver when adding
new SoCs. And it also reprotedly fixes the issue of passing auxdata
to a child if the parent instantiates the child from DT as discussed
in the "[PATCH] of/platform: Allow secondary compatible match in
of_dev_lookup" mailing list thread.

As a minimal use case, let's also convert omap pinctrl auxdatato
use a generic match.

There is no need to get this in to the v4.6-rc cycle and it can wait
for v4.7 merge window. Note that these changes have now been sitting
in Linux next for about two weeks so far as I wanted to make sure no
new issues are popping up.

* tag 'omap-for-v4.7/auxdata-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Simplify auxdata by using the generic match
  of/platform: Allow secondary compatible match in of_dev_lookup
