Input: i8042 - Rework DT node name comparisons
PATCH 1/1 Input: i8042 - Rework DT node name comparisons
Signed-off-by Rob Herring <[email protected]>
--- drivers/input/serio/i8042-sparcio.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-)
drivers/input/serio/i8042-sparcio.h +10 -11
@@ -53,12 +53,11 @@ static struct resource *kbd_res;static int sparc_i8042_probe (struct platform_device *op) { -struct device_node *dp = op->dev.of_node; +struct device_node *dp; - dp = dp->child; -while (dp) { -if (!strcmp (dp->name,OBP_PS2KBD_NAME1 ) || - !strcmp (dp->name,OBP_PS2KBD_NAME2 )) { +for_each_child_of_node (op->dev.of_node, dp) { +if (of_node_name_eq (dp,OBP_PS2KBD_NAME1 ) || +of_node_name_eq (dp,OBP_PS2KBD_NAME2 )) {struct platform_device *kbd =of_find_device_by_node (dp);unsigned int irq = kbd->archdata.irqs[0 ];if (irq ==0xffffffff )
@@ -67,16 +66,14 @@ static int sparc_i8042_probe(struct platform_device *op) kbd_iobase =of_ioremap (&kbd->resource[0 ],0 ,8 ,"kbd" ); kbd_res = &kbd->resource[0 ]; - }else if (!strcmp (dp->name,OBP_PS2MS_NAME1 ) || - !strcmp (dp->name,OBP_PS2MS_NAME2 )) { + }else if (of_node_name_eq (dp,OBP_PS2MS_NAME1 ) || +of_node_name_eq (dp,OBP_PS2MS_NAME2 )) {struct platform_device *ms =of_find_device_by_node (dp);unsigned int irq = ms->archdata.irqs[0 ];if (irq ==0xffffffff ) irq = op->archdata.irqs[0 ]; i8042_aux_irq = irq; } - - dp = dp->sibling; }return 0 ;
@@ -109,8 +106,9 @@ static struct platform_driver sparc_i8042_driver = {static int __init i8042_platform_init (void ) {struct device_node *root =of_find_node_by_path ("/" ); +const char *name =of_get_property (root,"name" ,NULL ); -if (!strcmp (root->name,"SUNW,JavaStation-1" )) { +if (name && !strcmp (name,"SUNW,JavaStation-1" )) {/* Hardcoded values for MrCoffee. */ i8042_kbd_irq = i8042_aux_irq =13 |0x20 ; kbd_iobase =ioremap (0x71300060 ,8 );
@@ -139,8 +137,9 @@ static int __init i8042_platform_init(void)static inline void i8042_platform_exit (void ) {struct device_node *root =of_find_node_by_path ("/" ); +const char *name =of_get_property (root,"name" ,NULL ); -if (strcmp (root->name,"SUNW,JavaStation-1" )) +if (!name ||strcmp (name,"SUNW,JavaStation-1" ))platform_driver_unregister (&sparc_i8042_driver); }
Signature · 1 line
2.19.1