Commit f1e0addc authored by Rob Herring's avatar Rob Herring Committed by Michael Ellerman

macintosh: Use of_node_name_{eq, prefix} for node name comparisons

Convert string compares of DT node names to use of_node_name_{eq,prefix}
helpers instead. This removes direct access to the node name pointer.

This changes a single case insensitive node name comparison to case
sensitive for "ata4". This is the only instance of a case insensitive
comparison for all the open coded node name comparisons on powerpc.
Searching the commit history, there doesn't appear to be any reason for
it to be case insensitive.

A couple of open coded iterating thru the child node names are converted
to use for_each_child_of_node() instead.
Signed-off-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent c1fa31b0
...@@ -160,7 +160,7 @@ anslcd_init(void) ...@@ -160,7 +160,7 @@ anslcd_init(void)
struct device_node* node; struct device_node* node;
node = of_find_node_by_name(NULL, "lcd"); node = of_find_node_by_name(NULL, "lcd");
if (!node || !node->parent || strcmp(node->parent->name, "gc")) { if (!node || !of_node_name_eq(node->parent, "gc")) {
of_node_put(node); of_node_put(node);
return -ENODEV; return -ENODEV;
} }
......
...@@ -190,11 +190,11 @@ static int macio_resource_quirks(struct device_node *np, struct resource *res, ...@@ -190,11 +190,11 @@ static int macio_resource_quirks(struct device_node *np, struct resource *res,
return 0; return 0;
/* Grand Central has too large resource 0 on some machines */ /* Grand Central has too large resource 0 on some machines */
if (index == 0 && !strcmp(np->name, "gc")) if (index == 0 && of_node_name_eq(np, "gc"))
res->end = res->start + 0x1ffff; res->end = res->start + 0x1ffff;
/* Airport has bogus resource 2 */ /* Airport has bogus resource 2 */
if (index >= 2 && !strcmp(np->name, "radio")) if (index >= 2 && of_node_name_eq(np, "radio"))
return 1; return 1;
#ifndef CONFIG_PPC64 #ifndef CONFIG_PPC64
...@@ -207,20 +207,20 @@ static int macio_resource_quirks(struct device_node *np, struct resource *res, ...@@ -207,20 +207,20 @@ static int macio_resource_quirks(struct device_node *np, struct resource *res,
* level of hierarchy, but I don't really feel the need * level of hierarchy, but I don't really feel the need
* for it * for it
*/ */
if (!strcmp(np->name, "escc")) if (of_node_name_eq(np, "escc"))
return 1; return 1;
/* ESCC has bogus resources >= 3 */ /* ESCC has bogus resources >= 3 */
if (index >= 3 && !(strcmp(np->name, "ch-a") && if (index >= 3 && (of_node_name_eq(np, "ch-a") ||
strcmp(np->name, "ch-b"))) of_node_name_eq(np, "ch-b")))
return 1; return 1;
/* Media bay has too many resources, keep only first one */ /* Media bay has too many resources, keep only first one */
if (index > 0 && !strcmp(np->name, "media-bay")) if (index > 0 && of_node_name_eq(np, "media-bay"))
return 1; return 1;
/* Some older IDE resources have bogus sizes */ /* Some older IDE resources have bogus sizes */
if (!strcmp(np->name, "IDE") || !strcmp(np->name, "ATA") || if (of_node_name_eq(np, "IDE") || of_node_name_eq(np, "ATA") ||
of_node_is_type(np, "ide") || of_node_is_type(np, "ata")) { of_node_is_type(np, "ide") || of_node_is_type(np, "ata")) {
if (index == 0 && (res->end - res->start) > 0xfff) if (index == 0 && (res->end - res->start) > 0xfff)
res->end = res->start + 0xfff; res->end = res->start + 0xfff;
...@@ -260,7 +260,7 @@ static void macio_add_missing_resources(struct macio_dev *dev) ...@@ -260,7 +260,7 @@ static void macio_add_missing_resources(struct macio_dev *dev)
irq_base = 64; irq_base = 64;
/* Fix SCC */ /* Fix SCC */
if (strcmp(np->name, "ch-a") == 0) { if (of_node_name_eq(np, "ch-a")) {
macio_create_fixup_irq(dev, 0, 15 + irq_base); macio_create_fixup_irq(dev, 0, 15 + irq_base);
macio_create_fixup_irq(dev, 1, 4 + irq_base); macio_create_fixup_irq(dev, 1, 4 + irq_base);
macio_create_fixup_irq(dev, 2, 5 + irq_base); macio_create_fixup_irq(dev, 2, 5 + irq_base);
...@@ -268,18 +268,18 @@ static void macio_add_missing_resources(struct macio_dev *dev) ...@@ -268,18 +268,18 @@ static void macio_add_missing_resources(struct macio_dev *dev)
} }
/* Fix media-bay */ /* Fix media-bay */
if (strcmp(np->name, "media-bay") == 0) { if (of_node_name_eq(np, "media-bay")) {
macio_create_fixup_irq(dev, 0, 29 + irq_base); macio_create_fixup_irq(dev, 0, 29 + irq_base);
printk(KERN_INFO "macio: fixed media-bay irq on gatwick\n"); printk(KERN_INFO "macio: fixed media-bay irq on gatwick\n");
} }
/* Fix left media bay childs */ /* Fix left media bay childs */
if (dev->media_bay != NULL && strcmp(np->name, "floppy") == 0) { if (dev->media_bay != NULL && of_node_name_eq(np, "floppy")) {
macio_create_fixup_irq(dev, 0, 19 + irq_base); macio_create_fixup_irq(dev, 0, 19 + irq_base);
macio_create_fixup_irq(dev, 1, 1 + irq_base); macio_create_fixup_irq(dev, 1, 1 + irq_base);
printk(KERN_INFO "macio: fixed left floppy irqs\n"); printk(KERN_INFO "macio: fixed left floppy irqs\n");
} }
if (dev->media_bay != NULL && strcasecmp(np->name, "ata4") == 0) { if (dev->media_bay != NULL && of_node_name_eq(np, "ata4")) {
macio_create_fixup_irq(dev, 0, 14 + irq_base); macio_create_fixup_irq(dev, 0, 14 + irq_base);
macio_create_fixup_irq(dev, 0, 3 + irq_base); macio_create_fixup_irq(dev, 0, 3 + irq_base);
printk(KERN_INFO "macio: fixed left ide irqs\n"); printk(KERN_INFO "macio: fixed left ide irqs\n");
...@@ -438,11 +438,8 @@ static struct macio_dev * macio_add_one_device(struct macio_chip *chip, ...@@ -438,11 +438,8 @@ static struct macio_dev * macio_add_one_device(struct macio_chip *chip,
static int macio_skip_device(struct device_node *np) static int macio_skip_device(struct device_node *np)
{ {
if (strncmp(np->name, "battery", 7) == 0) return of_node_name_prefix(np, "battery") ||
return 1; of_node_name_prefix(np, "escc-legacy");
if (strncmp(np->name, "escc-legacy", 11) == 0)
return 1;
return 0;
} }
/** /**
...@@ -489,9 +486,9 @@ static void macio_pci_add_devices(struct macio_chip *chip) ...@@ -489,9 +486,9 @@ static void macio_pci_add_devices(struct macio_chip *chip)
root_res); root_res);
if (mdev == NULL) if (mdev == NULL)
of_node_put(np); of_node_put(np);
else if (strncmp(np->name, "media-bay", 9) == 0) else if (of_node_name_prefix(np, "media-bay"))
mbdev = mdev; mbdev = mdev;
else if (strncmp(np->name, "escc", 4) == 0) else if (of_node_name_prefix(np, "escc"))
sdev = mdev; sdev = mdev;
} }
......
...@@ -376,18 +376,19 @@ static int rackmeter_probe(struct macio_dev* mdev, ...@@ -376,18 +376,19 @@ static int rackmeter_probe(struct macio_dev* mdev,
pr_debug("rackmeter_probe()\n"); pr_debug("rackmeter_probe()\n");
/* Get i2s-a node */ /* Get i2s-a node */
while ((i2s = of_get_next_child(mdev->ofdev.dev.of_node, i2s)) != NULL) for_each_child_of_node(mdev->ofdev.dev.of_node, i2s)
if (strcmp(i2s->name, "i2s-a") == 0) if (of_node_name_eq(i2s, "i2s-a"))
break; break;
if (i2s == NULL) { if (i2s == NULL) {
pr_debug(" i2s-a child not found\n"); pr_debug(" i2s-a child not found\n");
goto bail; goto bail;
} }
/* Get lightshow or virtual sound */ /* Get lightshow or virtual sound */
while ((np = of_get_next_child(i2s, np)) != NULL) { for_each_child_of_node(i2s, np) {
if (strcmp(np->name, "lightshow") == 0) if (of_node_name_eq(np, "lightshow"))
break; break;
if ((strcmp(np->name, "sound") == 0) && if (of_node_name_eq(np, "sound") &&
of_get_property(np, "virtual", NULL) != NULL) of_get_property(np, "virtual", NULL) != NULL)
break; break;
} }
......
...@@ -318,8 +318,8 @@ int __init find_via_pmu(void) ...@@ -318,8 +318,8 @@ int __init find_via_pmu(void)
PMU_INT_ADB | PMU_INT_ADB |
PMU_INT_TICK; PMU_INT_TICK;
if (vias->parent->name && ((strcmp(vias->parent->name, "ohare") == 0) if (of_node_name_eq(vias->parent, "ohare") ||
|| of_device_is_compatible(vias->parent, "ohare"))) of_device_is_compatible(vias->parent, "ohare"))
pmu_kind = PMU_OHARE_BASED; pmu_kind = PMU_OHARE_BASED;
else if (of_device_is_compatible(vias->parent, "paddington")) else if (of_device_is_compatible(vias->parent, "paddington"))
pmu_kind = PMU_PADDINGTON_BASED; pmu_kind = PMU_PADDINGTON_BASED;
......
...@@ -110,8 +110,8 @@ static int wf_lm87_probe(struct i2c_client *client, ...@@ -110,8 +110,8 @@ static int wf_lm87_probe(struct i2c_client *client,
* the Xserve G5 has several lm87's. However, for now we only * the Xserve G5 has several lm87's. However, for now we only
* care about the internal temperature sensor * care about the internal temperature sensor
*/ */
while ((np = of_get_next_child(client->dev.of_node, np)) != NULL) { for_each_child_of_node(client->dev.of_node, np) {
if (strcmp(np->name, "int-temp")) if (!of_node_name_eq(np, "int-temp"))
continue; continue;
loc = of_get_property(np, "location", NULL); loc = of_get_property(np, "location", NULL);
if (!loc) if (!loc)
......
...@@ -267,7 +267,7 @@ static int __init smu_controls_init(void) ...@@ -267,7 +267,7 @@ static int __init smu_controls_init(void)
/* Look for RPM fans */ /* Look for RPM fans */
for (fans = NULL; (fans = of_get_next_child(smu, fans)) != NULL;) for (fans = NULL; (fans = of_get_next_child(smu, fans)) != NULL;)
if (!strcmp(fans->name, "rpm-fans") || if (of_node_name_eq(fans, "rpm-fans") ||
of_device_is_compatible(fans, "smu-rpm-fans")) of_device_is_compatible(fans, "smu-rpm-fans"))
break; break;
for (fan = NULL; for (fan = NULL;
...@@ -287,7 +287,7 @@ static int __init smu_controls_init(void) ...@@ -287,7 +287,7 @@ static int __init smu_controls_init(void)
/* Look for PWM fans */ /* Look for PWM fans */
for (fans = NULL; (fans = of_get_next_child(smu, fans)) != NULL;) for (fans = NULL; (fans = of_get_next_child(smu, fans)) != NULL;)
if (!strcmp(fans->name, "pwm-fans")) if (of_node_name_eq(fans, "pwm-fans"))
break; break;
for (fan = NULL; for (fan = NULL;
fans && (fan = of_get_next_child(fans, fan)) != NULL;) { fans && (fan = of_get_next_child(fans, fan)) != NULL;) {
......
...@@ -424,7 +424,7 @@ static int __init smu_sensors_init(void) ...@@ -424,7 +424,7 @@ static int __init smu_sensors_init(void)
/* Look for sensors subdir */ /* Look for sensors subdir */
for (sensors = NULL; for (sensors = NULL;
(sensors = of_get_next_child(smu, sensors)) != NULL;) (sensors = of_get_next_child(smu, sensors)) != NULL;)
if (!strcmp(sensors->name, "sensors")) if (of_node_name_eq(sensors, "sensors"))
break; break;
of_node_put(smu); of_node_put(smu);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment