PPC: convert for(...) cycles into for_each... form
Subsystems (2)
RFC 1/1 PPC: convert for(...) cycles into for_each... form
From: Cyrill Gorcunov <[email protected]>
This patch does convert cyclic calls to of_find_compatible_node() and of_find_node_by_type() into appropriate macroses. It does reduce code a bit.
Signed-off-by Cyrill Gorcunov <[email protected]>
---
WARNING: I've no PowerPC to test it - please reiew the patch closely. Thanks.
arch/powerpc/kernel/legacy_serial.c | 8 ++++---- arch/powerpc/platforms/82xx/pq2.c | 4 ++-- arch/powerpc/platforms/celleb/scc_sio.c | 5 ++--- arch/powerpc/platforms/powermac/low_i2c.c | 3 +-- arch/powerpc/sysdev/mv64x60_pci.c | 4 ++-- arch/powerpc/sysdev/mv64x60_udbg.c | 4 ++-- arch/powerpc/sysdev/uic.c | 17 +++++------------ 7 files changed, 18 insertions(+), 27 deletions(-)
arch/powerpc/kernel/legacy_serial.c +4 -4
@@ -307,7 +307,7 @@ void __init find_legacy_serial_ports(void) }/* First fill our array with SOC ports */ -for (np =NULL ; (np =of_find_compatible_node (np,"serial" ,"ns16550" )) !=NULL ;) { +for_each_compatible_node (np,"serial" ,"ns16550" ) {struct device_node *soc =of_get_parent (np);if (soc && !strcmp (soc->type,"soc" )) { index =add_legacy_soc_port (np, np);
@@ -318,7 +318,7 @@ void __init find_legacy_serial_ports(void) }/* First fill our array with ISA ports */ -for (np =NULL ; (np =of_find_node_by_type (np,"serial" ));) { +for_each_node_by_type (np,"serial" ) {struct device_node *isa =of_get_parent (np);if (isa && !strcmp (isa->name,"isa" )) { index =add_legacy_isa_port (np, isa);
@@ -329,7 +329,7 @@ void __init find_legacy_serial_ports(void) }/* First fill our array with tsi-bridge ports */ -for (np =NULL ; (np =of_find_compatible_node (np,"serial" ,"ns16550" )) !=NULL ;) { +for_each_compatible_node (np,"serial" ,"ns16550" ) {struct device_node *tsi =of_get_parent (np);if (tsi && !strcmp (tsi->type,"tsi-bridge" )) { index =add_legacy_soc_port (np, np);
@@ -340,7 +340,7 @@ void __init find_legacy_serial_ports(void) }/* First fill our array with opb bus ports */ -for (np =NULL ; (np =of_find_compatible_node (np,"serial" ,"ns16550" )) !=NULL ;) { +for_each_compatible_node (np,"serial" ,"ns16550" ) {struct device_node *opb =of_get_parent (np);if (opb && (!strcmp (opb->type,"opb" ) ||of_device_is_compatible (opb,"ibm,opb" ))) {
arch/powerpc/platforms/82xx/pq2.c +2 -2
@@ -72,11 +72,11 @@ err:void __init pq2_init_pci (void ) { -struct device_node *np =NULL ; +struct device_node *np; ppc_md.pci_exclude_device = pq2_pci_exclude_device; -while ((np =of_find_compatible_node (np,NULL ,"fsl,pq2-pci" ))) +for_each_compatible_node (np,NULL ,"fsl,pq2-pci" )pq2_pci_add_bridge (np); }#endif
arch/powerpc/platforms/celleb/scc_sio.c +2 -3
@@ -42,14 +42,13 @@ static struct {static int __init txx9_serial_init (void ) {extern int early_serial_txx9_setup (struct uart_port *port); -struct device_node *node =NULL ; +struct device_node *node;int i;struct uart_port req;struct of_irq irq;struct resource res; -while ((node =of_find_compatible_node (node, -"serial" ,"toshiba,sio-scc" )) !=NULL ) { +for_each_compatible_node (node,"serial" ,"toshiba,sio-scc" ) {for (i =0 ; i <ARRAY_SIZE (txx9_scc_tab); i++) {if (!(txx9_serial_bitmap & (1 <<i)))continue ;
arch/powerpc/platforms/powermac/low_i2c.c +1 -2
@@ -585,8 +585,7 @@ static void __init kw_i2c_probe(void)struct device_node *np, *child, *parent;/* Probe keywest-i2c busses */ -for (np =NULL ; - (np =of_find_compatible_node (np,"i2c" ,"keywest-i2c" )) !=NULL ;){ +for_each_compatible_node (np,"i2c" ,"keywest-i2c" ) {struct pmac_i2c_host_kw *host;int multibus, chans, i;
arch/powerpc/sysdev/mv64x60_pci.c +2 -2
@@ -164,8 +164,8 @@ static int __init mv64x60_add_bridge(struct device_node *dev)void __init mv64x60_pci_init (void ) { -struct device_node *np =NULL ; +struct device_node *np; -while ((np =of_find_compatible_node (np,"pci" ,"marvell,mv64x60-pci" ))) +for_each_compatible_node (np,"pci" ,"marvell,mv64x60-pci" )mv64x60_add_bridge (np); }
arch/powerpc/sysdev/mv64x60_udbg.c +2 -2
@@ -85,10 +85,10 @@ static void mv64x60_udbg_init(void)if (!stdout)return ; -for (np =NULL ; - (np =of_find_compatible_node (np,"serial" ,"marvell,mpsc" )); ) +for_each_compatible_node (np,"serial" ,"marvell,mpsc" ) {if (np == stdout)break ; + }of_node_put (stdout);if (!np)
arch/powerpc/sysdev/uic.c +5 -12
@@ -326,28 +326,23 @@ void __init uic_init_tree(void)const u32 *interrupts;/* First locate and initialize the top-level UIC */ - - np =of_find_compatible_node (NULL ,NULL ,"ibm,uic" ); -while (np) { +for_each_compatible_node (np,NULL ,"ibm,uic" ) { interrupts =of_get_property (np,"interrupts" ,NULL ); -if (! interrupts) +if (!interrupts)break ; - - np =of_find_compatible_node (np,NULL ,"ibm,uic" ); }BUG_ON (!np);/* uic_init_tree() assumes there's a UIC as the * top-level interrupt controller */ primary_uic =uic_init_one (np); -if (! primary_uic) +if (!primary_uic)panic ("Unable to initialize primary UIC %s\n" , np->full_name);irq_set_default_host (primary_uic->irqhost);of_node_put (np);/* The scan again for cascaded UICs */ - np =of_find_compatible_node (NULL ,NULL ,"ibm,uic" ); -while (np) { +for_each_compatible_node (np,NULL ,"ibm,uic" ) { interrupts =of_get_property (np,"interrupts" ,NULL );if (interrupts) {/* Secondary UIC */
@@ -355,7 +350,7 @@ void __init uic_init_tree(void)int ret; uic =uic_init_one (np); -if (! uic) +if (!uic)panic ("Unable to initialize a secondary UIC %s\n" , np->full_name);
@@ -373,8 +368,6 @@ void __init uic_init_tree(void)/* FIXME: setup critical cascade?? */ } - - np =of_find_compatible_node (np,NULL ,"ibm,uic" ); } }