Skip to content
  • Grant Likely's avatar
    of: Fix comparison of "compatible" properties · 1976152f
    Grant Likely authored
    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: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
          (for patch description)
    Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
    Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
    Acked-by: default avatarMichal Simek <michal.simek@petalogix.com>
    1976152f