Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'fixes-for-grant' of git://sources.calxeda.com/kernel/linux

Pull DT fixes from Rob Herring:
"Mainly some documentation updates and 2 fixes:

- An export symbol fix for of_platform_populate from Stephen W.
- A fix for the order compatible entries are matched to ensure the
first compatible string is matched when there are multiple matches."

Normally these would go through Grant Likely (thus the "fixes-for-grant"
branch name), but Grant is in the middle of moving to Scotland, and is
practically offline until sometime in August. So pull directly from Rob.

* 'fixes-for-grant' of git://sources.calxeda.com/kernel/linux:
of: match by compatible property first
dt: mc13xxx.txt: Fix gpio number assignment
dt: fsl-fec.txt: Fix gpio number assignment
dt: fsl-mma8450.txt: Add missing 'reg' description
dt: fsl-imx-esdhc.txt: Fix gpio number assignment
dt: fsl-imx-cspi.txt: Fix comment about GPIOs used for chip selects
of: Add Avionic Design vendor prefix
of: export of_platform_populate()

+36 -11
+1
Documentation/devicetree/bindings/input/fsl-mma8450.txt
··· 2 2 3 3 Required properties: 4 4 - compatible : "fsl,mma8450". 5 + - reg: the I2C address of MMA8450 5 6 6 7 Example: 7 8
+2 -2
Documentation/devicetree/bindings/mfd/mc13xxx.txt
··· 46 46 47 47 ecspi@70010000 { /* ECSPI1 */ 48 48 fsl,spi-num-chipselects = <2>; 49 - cs-gpios = <&gpio3 24 0>, /* GPIO4_24 */ 50 - <&gpio3 25 0>; /* GPIO4_25 */ 49 + cs-gpios = <&gpio4 24 0>, /* GPIO4_24 */ 50 + <&gpio4 25 0>; /* GPIO4_25 */ 51 51 status = "okay"; 52 52 53 53 pmic: mc13892@0 {
+2 -2
Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt
··· 29 29 compatible = "fsl,imx51-esdhc"; 30 30 reg = <0x70008000 0x4000>; 31 31 interrupts = <2>; 32 - cd-gpios = <&gpio0 6 0>; /* GPIO1_6 */ 33 - wp-gpios = <&gpio0 5 0>; /* GPIO1_5 */ 32 + cd-gpios = <&gpio1 6 0>; /* GPIO1_6 */ 33 + wp-gpios = <&gpio1 5 0>; /* GPIO1_5 */ 34 34 };
+1 -1
Documentation/devicetree/bindings/net/fsl-fec.txt
··· 19 19 reg = <0x83fec000 0x4000>; 20 20 interrupts = <87>; 21 21 phy-mode = "mii"; 22 - phy-reset-gpios = <&gpio1 14 0>; /* GPIO2_14 */ 22 + phy-reset-gpios = <&gpio2 14 0>; /* GPIO2_14 */ 23 23 local-mac-address = [00 04 9F 01 1B B9]; 24 24 };
+2 -2
Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt
··· 17 17 reg = <0x70010000 0x4000>; 18 18 interrupts = <36>; 19 19 fsl,spi-num-chipselects = <2>; 20 - cs-gpios = <&gpio3 24 0>, /* GPIO4_24 */ 21 - <&gpio3 25 0>; /* GPIO4_25 */ 20 + cs-gpios = <&gpio3 24 0>, /* GPIO3_24 */ 21 + <&gpio3 25 0>; /* GPIO3_25 */ 22 22 };
+1
Documentation/devicetree/bindings/vendor-prefixes.txt
··· 3 3 This isn't an exhaustive list, but you should add new prefixes to it before 4 4 using them to avoid name-space collisions. 5 5 6 + ad Avionic Design GmbH 6 7 adi Analog Devices, Inc. 7 8 amcc Applied Micro Circuits Corporation (APM, formally AMCC) 8 9 apm Applied Micro Circuits Corporation (APM)
+26 -4
drivers/of/base.c
··· 511 511 } 512 512 EXPORT_SYMBOL(of_find_node_with_property); 513 513 514 + static const struct of_device_id *of_match_compat(const struct of_device_id *matches, 515 + const char *compat) 516 + { 517 + while (matches->name[0] || matches->type[0] || matches->compatible[0]) { 518 + const char *cp = matches->compatible; 519 + int len = strlen(cp); 520 + 521 + if (len > 0 && of_compat_cmp(compat, cp, len) == 0) 522 + return matches; 523 + 524 + matches++; 525 + } 526 + 527 + return NULL; 528 + } 529 + 514 530 /** 515 531 * of_match_node - Tell if an device_node has a matching of_match structure 516 532 * @matches: array of of device match structures to search in ··· 537 521 const struct of_device_id *of_match_node(const struct of_device_id *matches, 538 522 const struct device_node *node) 539 523 { 524 + struct property *prop; 525 + const char *cp; 526 + 540 527 if (!matches) 541 528 return NULL; 529 + 530 + of_property_for_each_string(node, "compatible", prop, cp) { 531 + const struct of_device_id *match = of_match_compat(matches, cp); 532 + if (match) 533 + return match; 534 + } 542 535 543 536 while (matches->name[0] || matches->type[0] || matches->compatible[0]) { 544 537 int match = 1; ··· 557 532 if (matches->type[0]) 558 533 match &= node->type 559 534 && !strcmp(matches->type, node->type); 560 - if (matches->compatible[0]) 561 - match &= of_device_is_compatible(node, 562 - matches->compatible); 563 - if (match) 535 + if (match && !matches->compatible[0]) 564 536 return matches; 565 537 matches++; 566 538 }
+1
drivers/of/platform.c
··· 462 462 of_node_put(root); 463 463 return rc; 464 464 } 465 + EXPORT_SYMBOL_GPL(of_platform_populate); 465 466 #endif /* CONFIG_OF_ADDRESS */