aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-generic.c')
-rw-r--r--drivers/ide/ide-generic.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/ide/ide-generic.c b/drivers/ide/ide-generic.c
index e8818362eb46..a7082c28d06f 100644
--- a/drivers/ide/ide-generic.c
+++ b/drivers/ide/ide-generic.c
@@ -28,9 +28,8 @@ MODULE_PARM_DESC(probe_mask, "probe mask for legacy ISA IDE ports");
28 28
29static ssize_t store_add(struct class *cls, const char *buf, size_t n) 29static ssize_t store_add(struct class *cls, const char *buf, size_t n)
30{ 30{
31 struct ide_host *host;
32 unsigned int base, ctl; 31 unsigned int base, ctl;
33 int irq; 32 int irq, rc;
34 hw_regs_t hw, *hws[] = { &hw, NULL, NULL, NULL }; 33 hw_regs_t hw, *hws[] = { &hw, NULL, NULL, NULL };
35 34
36 if (sscanf(buf, "%x:%x:%d", &base, &ctl, &irq) != 3) 35 if (sscanf(buf, "%x:%x:%d", &base, &ctl, &irq) != 3)
@@ -41,11 +40,9 @@ static ssize_t store_add(struct class *cls, const char *buf, size_t n)
41 hw.irq = irq; 40 hw.irq = irq;
42 hw.chipset = ide_generic; 41 hw.chipset = ide_generic;
43 42
44 host = ide_host_alloc(NULL, hws); 43 rc = ide_host_add(NULL, hws, NULL);
45 if (host == NULL) 44 if (rc)
46 return -ENOENT; 45 return rc;
47
48 ide_host_register(host, NULL, hws);
49 46
50 return n; 47 return n;
51}; 48};