• G
    of: Fix comparison of "compatible" properties · 1976152f
    Grant Likely 提交于
    Commit 7c7b60cb
    "of: put default string compare and #a/s-cell values into common header"
    
    Breaks various things on powerpc due to using strncasecmp instead of
    strcasecmp for comparing against "compatible" strings.
    
    This causes things like the 4xx PCI code to fail miserably due to the
    partial matches in code like this:
    
           for_each_compatible_node(np, NULL, "ibm,plb-pcix")
                   ppc4xx_probe_pcix_bridge(np);
           for_each_compatible_node(np, NULL, "ibm,plb-pci")
                   ppc4xx_probe_pci_bridge(np);
    
    It's not quite right to do partial name match. Entries in a compatible
    list are meant to be matched whole. If a device is compatible with both
    "foo" and "foo1", then the device should have both strings in its
    "compatible" property.
    
    This patch reverts powerpc and microblaze us to use strcasecmp.
    Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
          (for patch description)
    Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
    Acked-by: NDavid S. Miller <davem@davemloft.net>
    Acked-by: NMichal Simek <michal.simek@petalogix.com>
    1976152f
of.h 7.1 KB