linux/drivers/of
Linus Torvalds 10527106ab Device tree compatible match order bug fix
This branch contains a bug fix for the way devicetree code identifies
 the type of device. Device drivers can contain a list of of_device_ids,
 but it more than one entry will match, then the device driver may choose
 the wrong one. Commit 105353145e, "match each node compatible against
 all given matches first", was queued for v3.14 but ended up causing
 other bugs. Commit 06b29e76a7 attempted to fix it but it had other bugs.
 Merely reverting the fix and waiting until v3.15 isn't a good option
 because there is code in v3.14 that depends on the revised behaviour to
 boot.
 
 This branch should finally fixes the problem correctly. This time
 instead of just hoping that the patch is correct, this branch also adds
 new testcases that validate the behaviour.
 
 The changes in this branch are larger than I would like for a -rc pull,
 but moving the test case data out of out of arch/arm so that it could be
 validated on other architectures was important.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.14 (GNU/Linux)
 
 iQIcBAABAgAGBQJTB2qsAAoJEMWQL496c2LNmvYQAJPwmc3f76L/HxxuJZ3TVpFF
 2JhtCUyzTrsuebDSanAZLhzwCrIL4N8I/1rZObvkQuxUEUPNg4Khx9chMYwsG7L7
 vbdr+3bkYnwaaGHzoH0NnNM5x1NLm29WOeHaWvT9Nm8iA1399AaOeAXniLQrTgBv
 LxipQc3SZpRSKdCDCi2y32TESMJcN7FT1aD4EKHAZocmXMpMaxEYQ2eFO70Txf5O
 1SbNkZ7LsAnm1TmoH7nf0um9IFX7bvt2KkonpKBL2mOoDfq40pBosV3Zt2JwaeDy
 3nkBeAFs3YvIDjZy3h+WdWLXlF9E29P7CXreE/uSJTnoYft6aCDfgz15USc2j2OA
 BTnK0kqJ3NWu6YAKrQHHoQmisnuDwg84oEK0JLJCfMcA3IOCBXV+iYHbo41j/dO5
 yprnS1zms6UZuOXV2RjseQ34THkR3oDPbSxKmFTK/KGaa568ES0l1ZPAsvuVZqNr
 5elDskt+lfF96WLGbyC0DP5Zib/0eFTbf18p///4lefkr6ysT+CdIJTsRj0/Uz0V
 40nwCJH2t+wVCtcI/+mo3yvc4C77OoRhAOAxz8D9YkOlt8ilfgIDeAc1krAAa09T
 0KfpfkLDvXEccZF+Jo2Z9TU7QFdeLVK/QAsvCZN4EcMU31ePEldMiniZ69/aySPl
 D/ahG24w1pakKXujtJK2
 =wJz0
 -----END PGP SIGNATURE-----

Merge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux

Pull devicetree fixes from Grant Likely:
 "Device tree compatible match order bug fix

  This branch contains a bug fix for the way devicetree code identifies
  the type of device.  Device drivers can contain a list of
  of_device_ids, but it more than one entry will match, then the device
  driver may choose the wrong one.  Commit 105353145e, "match each node
  compatible against all given matches first", was queued for v3.14 but
  ended up causing other bugs.  Commit 06b29e76a7 attempted to fix it
  but it had other bugs.  Merely reverting the fix and waiting until
  v3.15 isn't a good option because there is code in v3.14 that depends
  on the revised behaviour to boot.

  This branch should finally fixes the problem correctly.  This time
  instead of just hoping that the patch is correct, this branch also
  adds new testcases that validate the behaviour.

  The changes in this branch are larger than I would like for a -rc
  pull, but moving the test case data out of out of arch/arm so that it
  could be validated on other architectures was important"

* tag 'dt-for-linus' of git://git.secretlab.ca/git/linux:
  of: Add self test for of_match_node()
  of: Move testcase FDT data into drivers/of
  of: reimplement the matching method for __of_match_node()
  Revert "of: search the best compatible match first in __of_match_node()"
2014-02-21 14:35:05 -08:00
..
testcase-data of: Add self test for of_match_node() 2014-02-20 11:52:09 +00:00
address.c of: fix PCI bus match for PCIe slots 2014-02-05 09:59:20 -06:00
base.c of: reimplement the matching method for __of_match_node() 2014-02-20 11:50:58 +00:00
device.c platform: introduce OF style 'modalias' support for platform bus 2014-01-17 01:59:15 +01:00
fdt.c of: Fix NULL dereference in unflatten_and_copy() 2013-12-11 13:40:30 +00:00
irq.c Merge remote-tracking branch 'grant/devicetree/next' into for-3.14 2014-01-17 16:01:27 -06:00
Kconfig of/Kconfig: Spelling s/one/once/ 2013-12-30 10:23:25 -06:00
Makefile Revert "drivers: of: add initialization code for dma reserved memory" 2013-10-15 09:26:07 +01:00
of_mdio.c of_mdio: fix phy interrupt passing 2014-02-18 18:12:53 -05:00
of_mtd.c of: mtd: nuke useless const qualifier 2012-07-10 10:32:06 -05:00
of_net.c phylib: introduce PHY_INTERFACE_MODE_XGMII for 10G PHY 2014-01-13 14:29:48 -08:00
of_pci_irq.c Merge remote-tracking branch 'grant/devicetree/next' into for-next 2013-11-07 10:34:46 -06:00
of_pci.c of: implement pci_address_to_pio as weak function 2013-10-09 20:04:06 -05:00
of_private.h of: Output devicetree alias names in uevent 2013-02-06 11:06:35 +00:00
pdt.c of: remove unnecessary prom.h includes 2013-10-09 20:03:59 -05:00
platform.c Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
selftest.c of: Add self test for of_match_node() 2014-02-20 11:52:09 +00:00