diff options
Diffstat (limited to 'drivers/scsi/a4000t.c')
-rw-r--r-- | drivers/scsi/a4000t.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/drivers/scsi/a4000t.c b/drivers/scsi/a4000t.c index d4bda2017746..61af3d91ac8a 100644 --- a/drivers/scsi/a4000t.c +++ b/drivers/scsi/a4000t.c | |||
@@ -35,7 +35,7 @@ static struct platform_device *a4000t_scsi_device; | |||
35 | 35 | ||
36 | #define A4000T_SCSI_ADDR 0xdd0040 | 36 | #define A4000T_SCSI_ADDR 0xdd0040 |
37 | 37 | ||
38 | static int __devinit a4000t_probe(struct device *dev) | 38 | static int __devinit a4000t_probe(struct platform_device *dev) |
39 | { | 39 | { |
40 | struct Scsi_Host *host; | 40 | struct Scsi_Host *host; |
41 | struct NCR_700_Host_Parameters *hostdata; | 41 | struct NCR_700_Host_Parameters *hostdata; |
@@ -61,7 +61,8 @@ static int __devinit a4000t_probe(struct device *dev) | |||
61 | hostdata->dcntl_extra = EA_710; | 61 | hostdata->dcntl_extra = EA_710; |
62 | 62 | ||
63 | /* and register the chip */ | 63 | /* and register the chip */ |
64 | host = NCR_700_detect(&a4000t_scsi_driver_template, hostdata, dev); | 64 | host = NCR_700_detect(&a4000t_scsi_driver_template, hostdata, |
65 | &dev->dev); | ||
65 | if (!host) { | 66 | if (!host) { |
66 | printk(KERN_ERR "a4000t-scsi: No host detected; " | 67 | printk(KERN_ERR "a4000t-scsi: No host detected; " |
67 | "board configuration problem?\n"); | 68 | "board configuration problem?\n"); |
@@ -78,7 +79,7 @@ static int __devinit a4000t_probe(struct device *dev) | |||
78 | goto out_put_host; | 79 | goto out_put_host; |
79 | } | 80 | } |
80 | 81 | ||
81 | dev_set_drvdata(dev, host); | 82 | platform_set_drvdata(dev, host); |
82 | scsi_scan_host(host); | 83 | scsi_scan_host(host); |
83 | 84 | ||
84 | return 0; | 85 | return 0; |
@@ -93,9 +94,9 @@ static int __devinit a4000t_probe(struct device *dev) | |||
93 | return -ENODEV; | 94 | return -ENODEV; |
94 | } | 95 | } |
95 | 96 | ||
96 | static __devexit int a4000t_device_remove(struct device *dev) | 97 | static __devexit int a4000t_device_remove(struct platform_device *dev) |
97 | { | 98 | { |
98 | struct Scsi_Host *host = dev_get_drvdata(dev); | 99 | struct Scsi_Host *host = platform_get_drvdata(dev); |
99 | struct NCR_700_Host_Parameters *hostdata = shost_priv(host); | 100 | struct NCR_700_Host_Parameters *hostdata = shost_priv(host); |
100 | 101 | ||
101 | scsi_remove_host(host); | 102 | scsi_remove_host(host); |
@@ -108,25 +109,27 @@ static __devexit int a4000t_device_remove(struct device *dev) | |||
108 | return 0; | 109 | return 0; |
109 | } | 110 | } |
110 | 111 | ||
111 | static struct device_driver a4000t_scsi_driver = { | 112 | static struct platform_driver a4000t_scsi_driver = { |
112 | .name = "a4000t-scsi", | 113 | .driver = { |
113 | .bus = &platform_bus_type, | 114 | .name = "a4000t-scsi", |
114 | .probe = a4000t_probe, | 115 | .owner = THIS_MODULE, |
115 | .remove = __devexit_p(a4000t_device_remove), | 116 | }, |
117 | .probe = a4000t_probe, | ||
118 | .remove = __devexit_p(a4000t_device_remove), | ||
116 | }; | 119 | }; |
117 | 120 | ||
118 | static int __init a4000t_scsi_init(void) | 121 | static int __init a4000t_scsi_init(void) |
119 | { | 122 | { |
120 | int err; | 123 | int err; |
121 | 124 | ||
122 | err = driver_register(&a4000t_scsi_driver); | 125 | err = platform_driver_register(&a4000t_scsi_driver); |
123 | if (err) | 126 | if (err) |
124 | return err; | 127 | return err; |
125 | 128 | ||
126 | a4000t_scsi_device = platform_device_register_simple("a4000t-scsi", | 129 | a4000t_scsi_device = platform_device_register_simple("a4000t-scsi", |
127 | -1, NULL, 0); | 130 | -1, NULL, 0); |
128 | if (IS_ERR(a4000t_scsi_device)) { | 131 | if (IS_ERR(a4000t_scsi_device)) { |
129 | driver_unregister(&a4000t_scsi_driver); | 132 | platform_driver_register(&a4000t_scsi_driver); |
130 | return PTR_ERR(a4000t_scsi_device); | 133 | return PTR_ERR(a4000t_scsi_device); |
131 | } | 134 | } |
132 | 135 | ||
@@ -136,7 +139,7 @@ static int __init a4000t_scsi_init(void) | |||
136 | static void __exit a4000t_scsi_exit(void) | 139 | static void __exit a4000t_scsi_exit(void) |
137 | { | 140 | { |
138 | platform_device_unregister(a4000t_scsi_device); | 141 | platform_device_unregister(a4000t_scsi_device); |
139 | driver_unregister(&a4000t_scsi_driver); | 142 | platform_driver_unregister(&a4000t_scsi_driver); |
140 | } | 143 | } |
141 | 144 | ||
142 | module_init(a4000t_scsi_init); | 145 | module_init(a4000t_scsi_init); |