aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/tsi108_dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/sysdev/tsi108_dev.c')
-rw-r--r--arch/powerpc/sysdev/tsi108_dev.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/powerpc/sysdev/tsi108_dev.c b/arch/powerpc/sysdev/tsi108_dev.c
index a113d800cbf0..be2808a292f7 100644
--- a/arch/powerpc/sysdev/tsi108_dev.c
+++ b/arch/powerpc/sysdev/tsi108_dev.c
@@ -66,14 +66,12 @@ EXPORT_SYMBOL(get_vir_csrbase);
66static int __init tsi108_eth_of_init(void) 66static int __init tsi108_eth_of_init(void)
67{ 67{
68 struct device_node *np; 68 struct device_node *np;
69 unsigned int i; 69 unsigned int i = 0;
70 struct platform_device *tsi_eth_dev; 70 struct platform_device *tsi_eth_dev;
71 struct resource res; 71 struct resource res;
72 int ret; 72 int ret;
73 73
74 for (np = NULL, i = 0; 74 for_each_compatible_node(np, "network", "tsi108-ethernet") {
75 (np = of_find_compatible_node(np, "network", "tsi108-ethernet")) != NULL;
76 i++) {
77 struct resource r[2]; 75 struct resource r[2];
78 struct device_node *phy, *mdio; 76 struct device_node *phy, *mdio;
79 hw_info tsi_eth_data; 77 hw_info tsi_eth_data;
@@ -98,7 +96,7 @@ static int __init tsi108_eth_of_init(void)
98 __FUNCTION__,r[1].name, r[1].start, r[1].end); 96 __FUNCTION__,r[1].name, r[1].start, r[1].end);
99 97
100 tsi_eth_dev = 98 tsi_eth_dev =
101 platform_device_register_simple("tsi-ethernet", i, &r[0], 99 platform_device_register_simple("tsi-ethernet", i++, &r[0],
102 1); 100 1);
103 101
104 if (IS_ERR(tsi_eth_dev)) { 102 if (IS_ERR(tsi_eth_dev)) {
@@ -154,6 +152,7 @@ static int __init tsi108_eth_of_init(void)
154unreg: 152unreg:
155 platform_device_unregister(tsi_eth_dev); 153 platform_device_unregister(tsi_eth_dev);
156err: 154err:
155 of_node_put(np);
157 return ret; 156 return ret;
158} 157}
159 158