aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64/kernel/pSeries_vio.c
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2005-08-17 02:40:12 -0400
committerPaul Mackerras <paulus@samba.org>2005-08-29 23:23:47 -0400
commitb877b90f227fb9698d99fb70492d432362584082 (patch)
treeb58168217324bc07c8d6e7368246fa24ba7e96db /arch/ppc64/kernel/pSeries_vio.c
parent5c0b4b8759f78c31172088a91e10733fc014ccee (diff)
[PATCH] Create vio_register_device
Take some assignments out of vio_register_device_common and rename it to vio_register_device. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64/kernel/pSeries_vio.c')
-rw-r--r--arch/ppc64/kernel/pSeries_vio.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/ppc64/kernel/pSeries_vio.c b/arch/ppc64/kernel/pSeries_vio.c
index 338f9e1bdc09..81e94f8aa846 100644
--- a/arch/ppc64/kernel/pSeries_vio.c
+++ b/arch/ppc64/kernel/pSeries_vio.c
@@ -19,6 +19,7 @@
19#include <linux/kobject.h> 19#include <linux/kobject.h>
20#include <asm/iommu.h> 20#include <asm/iommu.h>
21#include <asm/dma.h> 21#include <asm/dma.h>
22#include <asm/prom.h>
22#include <asm/vio.h> 23#include <asm/vio.h>
23#include <asm/hvcall.h> 24#include <asm/hvcall.h>
24 25
@@ -181,11 +182,13 @@ struct vio_dev * __devinit vio_register_device_node(struct device_node *of_node)
181 } 182 }
182 183
183 snprintf(viodev->dev.bus_id, BUS_ID_SIZE, "%x", *unit_address); 184 snprintf(viodev->dev.bus_id, BUS_ID_SIZE, "%x", *unit_address);
185 viodev->name = of_node->name;
186 viodev->type = of_node->type;
187 viodev->unit_address = *unit_address;
188 viodev->iommu_table = vio_build_iommu_table(viodev);
184 189
185 /* register with generic device framework */ 190 /* register with generic device framework */
186 if (vio_register_device_common(viodev, of_node->name, of_node->type, 191 if (vio_register_device(viodev) == NULL) {
187 *unit_address, vio_build_iommu_table(viodev))
188 == NULL) {
189 /* XXX free TCE table */ 192 /* XXX free TCE table */
190 kfree(viodev); 193 kfree(viodev);
191 return NULL; 194 return NULL;