hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/input/serio/i8042-sparcio.h
....@@ -53,12 +53,11 @@
5353
5454 static int sparc_i8042_probe(struct platform_device *op)
5555 {
56
- struct device_node *dp = op->dev.of_node;
56
+ struct device_node *dp;
5757
58
- dp = dp->child;
59
- while (dp) {
60
- if (!strcmp(dp->name, OBP_PS2KBD_NAME1) ||
61
- !strcmp(dp->name, OBP_PS2KBD_NAME2)) {
58
+ for_each_child_of_node(op->dev.of_node, dp) {
59
+ if (of_node_name_eq(dp, OBP_PS2KBD_NAME1) ||
60
+ of_node_name_eq(dp, OBP_PS2KBD_NAME2)) {
6261 struct platform_device *kbd = of_find_device_by_node(dp);
6362 unsigned int irq = kbd->archdata.irqs[0];
6463 if (irq == 0xffffffff)
....@@ -67,16 +66,14 @@
6766 kbd_iobase = of_ioremap(&kbd->resource[0],
6867 0, 8, "kbd");
6968 kbd_res = &kbd->resource[0];
70
- } else if (!strcmp(dp->name, OBP_PS2MS_NAME1) ||
71
- !strcmp(dp->name, OBP_PS2MS_NAME2)) {
69
+ } else if (of_node_name_eq(dp, OBP_PS2MS_NAME1) ||
70
+ of_node_name_eq(dp, OBP_PS2MS_NAME2)) {
7271 struct platform_device *ms = of_find_device_by_node(dp);
7372 unsigned int irq = ms->archdata.irqs[0];
7473 if (irq == 0xffffffff)
7574 irq = op->archdata.irqs[0];
7675 i8042_aux_irq = irq;
7776 }
78
-
79
- dp = dp->sibling;
8077 }
8178
8279 return 0;
....@@ -109,8 +106,9 @@
109106 static int __init i8042_platform_init(void)
110107 {
111108 struct device_node *root = of_find_node_by_path("/");
109
+ const char *name = of_get_property(root, "name", NULL);
112110
113
- if (!strcmp(root->name, "SUNW,JavaStation-1")) {
111
+ if (name && !strcmp(name, "SUNW,JavaStation-1")) {
114112 /* Hardcoded values for MrCoffee. */
115113 i8042_kbd_irq = i8042_aux_irq = 13 | 0x20;
116114 kbd_iobase = ioremap(0x71300060, 8);
....@@ -139,8 +137,9 @@
139137 static inline void i8042_platform_exit(void)
140138 {
141139 struct device_node *root = of_find_node_by_path("/");
140
+ const char *name = of_get_property(root, "name", NULL);
142141
143
- if (strcmp(root->name, "SUNW,JavaStation-1"))
142
+ if (!name || strcmp(name, "SUNW,JavaStation-1"))
144143 platform_driver_unregister(&sparc_i8042_driver);
145144 }
146145