diff options
Diffstat (limited to 'drivers/ide/mips/swarm.c')
-rw-r--r-- | drivers/ide/mips/swarm.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/ide/mips/swarm.c b/drivers/ide/mips/swarm.c index b12d9d224831..badf79fc9e3a 100644 --- a/drivers/ide/mips/swarm.c +++ b/drivers/ide/mips/swarm.c | |||
@@ -75,7 +75,7 @@ static int __devinit swarm_ide_probe(struct device *dev) | |||
75 | u8 __iomem *base; | 75 | u8 __iomem *base; |
76 | struct ide_host *host; | 76 | struct ide_host *host; |
77 | phys_t offset, size; | 77 | phys_t offset, size; |
78 | int i; | 78 | int i, rc; |
79 | hw_regs_t hw, *hws[] = { &hw, NULL, NULL, NULL }; | 79 | hw_regs_t hw, *hws[] = { &hw, NULL, NULL, NULL }; |
80 | 80 | ||
81 | if (!SIBYTE_HAVE_IDE) | 81 | if (!SIBYTE_HAVE_IDE) |
@@ -115,19 +115,17 @@ static int __devinit swarm_ide_probe(struct device *dev) | |||
115 | hw.irq = K_INT_GB_IDE; | 115 | hw.irq = K_INT_GB_IDE; |
116 | hw.chipset = ide_generic; | 116 | hw.chipset = ide_generic; |
117 | 117 | ||
118 | host = ide_host_alloc(&swarm_port_info, hws); | 118 | rc = ide_host_add(&swarm_port_info, hws, &host); |
119 | if (host == NULL) | 119 | if (rc) |
120 | goto err; | 120 | goto err; |
121 | 121 | ||
122 | ide_host_register(host, &swarm_port_info, hws); | ||
123 | |||
124 | dev_set_drvdata(dev, host); | 122 | dev_set_drvdata(dev, host); |
125 | 123 | ||
126 | return 0; | 124 | return 0; |
127 | err: | 125 | err: |
128 | release_resource(&swarm_ide_resource); | 126 | release_resource(&swarm_ide_resource); |
129 | iounmap(base); | 127 | iounmap(base); |
130 | return -ENOMEM; | 128 | return rc; |
131 | } | 129 | } |
132 | 130 | ||
133 | static struct device_driver swarm_ide_driver = { | 131 | static struct device_driver swarm_ide_driver = { |