aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/iseries/setup.c
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2006-04-27 03:18:21 -0400
committerPaul Mackerras <paulus@samba.org>2006-04-29 04:02:00 -0400
commite10fa77368dff31140451fac04d78d9f51f0f3ac (patch)
tree20f3645859dbd995ded831f5a40b78e823e4fc6e /arch/powerpc/platforms/iseries/setup.c
parent95a1ca6cd8e702a19ee56efae522a5816a56a205 (diff)
[PATCH] powerpc: use the device tree for the iSeries vio bus probe
As an added bonus, since every vio_dev now has a device_node associated with it, hotplug now works. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/iseries/setup.c')
-rw-r--r--arch/powerpc/platforms/iseries/setup.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c
index 4862b8e7c78c..901acbcc0888 100644
--- a/arch/powerpc/platforms/iseries/setup.c
+++ b/arch/powerpc/platforms/iseries/setup.c
@@ -951,6 +951,7 @@ void dt_vdevices(struct iseries_flat_dt *dt)
951 dt_prop_str(dt, "device_type", "vlan"); 951 dt_prop_str(dt, "device_type", "vlan");
952 dt_prop_empty(dt, "compatible"); 952 dt_prop_empty(dt, "compatible");
953 dt_prop_u32(dt, "reg", reg + i); 953 dt_prop_u32(dt, "reg", reg + i);
954 dt_prop_u32(dt, "linux,unit_address", i);
954 955
955 mac_addr[0] = 0x02; 956 mac_addr[0] = 0x02;
956 mac_addr[1] = 0x01; 957 mac_addr[1] = 0x01;
@@ -971,6 +972,7 @@ void dt_vdevices(struct iseries_flat_dt *dt)
971 dt_prop_str(dt, "device_type", "viodasd"); 972 dt_prop_str(dt, "device_type", "viodasd");
972 dt_prop_empty(dt, "compatible"); 973 dt_prop_empty(dt, "compatible");
973 dt_prop_u32(dt, "reg", reg + i); 974 dt_prop_u32(dt, "reg", reg + i);
975 dt_prop_u32(dt, "linux,unit_address", i);
974 dt_end_node(dt); 976 dt_end_node(dt);
975 } 977 }
976 reg += HVMAXARCHITECTEDVIRTUALDISKS; 978 reg += HVMAXARCHITECTEDVIRTUALDISKS;
@@ -980,6 +982,7 @@ void dt_vdevices(struct iseries_flat_dt *dt)
980 dt_prop_str(dt, "device_type", "viocd"); 982 dt_prop_str(dt, "device_type", "viocd");
981 dt_prop_empty(dt, "compatible"); 983 dt_prop_empty(dt, "compatible");
982 dt_prop_u32(dt, "reg", reg + i); 984 dt_prop_u32(dt, "reg", reg + i);
985 dt_prop_u32(dt, "linux,unit_address", i);
983 dt_end_node(dt); 986 dt_end_node(dt);
984 } 987 }
985 reg += HVMAXARCHITECTEDVIRTUALCDROMS; 988 reg += HVMAXARCHITECTEDVIRTUALCDROMS;
@@ -989,6 +992,7 @@ void dt_vdevices(struct iseries_flat_dt *dt)
989 dt_prop_str(dt, "device_type", "viotape"); 992 dt_prop_str(dt, "device_type", "viotape");
990 dt_prop_empty(dt, "compatible"); 993 dt_prop_empty(dt, "compatible");
991 dt_prop_u32(dt, "reg", reg + i); 994 dt_prop_u32(dt, "reg", reg + i);
995 dt_prop_u32(dt, "linux,unit_address", i);
992 dt_end_node(dt); 996 dt_end_node(dt);
993 } 997 }
994 998