diff options
Diffstat (limited to 'drivers/scsi/mvme16x_scsi.c')
-rw-r--r-- | drivers/scsi/mvme16x_scsi.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/drivers/scsi/mvme16x_scsi.c b/drivers/scsi/mvme16x_scsi.c index b264b499d982..b5fbfd6ce870 100644 --- a/drivers/scsi/mvme16x_scsi.c +++ b/drivers/scsi/mvme16x_scsi.c | |||
@@ -34,7 +34,7 @@ static struct scsi_host_template mvme16x_scsi_driver_template = { | |||
34 | static struct platform_device *mvme16x_scsi_device; | 34 | static struct platform_device *mvme16x_scsi_device; |
35 | 35 | ||
36 | static __devinit int | 36 | static __devinit int |
37 | mvme16x_probe(struct device *dev) | 37 | mvme16x_probe(struct platform_device *dev) |
38 | { | 38 | { |
39 | struct Scsi_Host * host = NULL; | 39 | struct Scsi_Host * host = NULL; |
40 | struct NCR_700_Host_Parameters *hostdata; | 40 | struct NCR_700_Host_Parameters *hostdata; |
@@ -64,7 +64,8 @@ mvme16x_probe(struct device *dev) | |||
64 | hostdata->ctest7_extra = CTEST7_TT1; | 64 | hostdata->ctest7_extra = CTEST7_TT1; |
65 | 65 | ||
66 | /* and register the chip */ | 66 | /* and register the chip */ |
67 | host = NCR_700_detect(&mvme16x_scsi_driver_template, hostdata, dev); | 67 | host = NCR_700_detect(&mvme16x_scsi_driver_template, hostdata, |
68 | &dev->dev); | ||
68 | if (!host) { | 69 | if (!host) { |
69 | printk(KERN_ERR "mvme16x-scsi: No host detected; " | 70 | printk(KERN_ERR "mvme16x-scsi: No host detected; " |
70 | "board configuration problem?\n"); | 71 | "board configuration problem?\n"); |
@@ -88,7 +89,7 @@ mvme16x_probe(struct device *dev) | |||
88 | out_be32(0xfff4202c, v); | 89 | out_be32(0xfff4202c, v); |
89 | } | 90 | } |
90 | 91 | ||
91 | dev_set_drvdata(dev, host); | 92 | platform_set_drvdata(dev, host); |
92 | scsi_scan_host(host); | 93 | scsi_scan_host(host); |
93 | 94 | ||
94 | return 0; | 95 | return 0; |
@@ -102,9 +103,9 @@ mvme16x_probe(struct device *dev) | |||
102 | } | 103 | } |
103 | 104 | ||
104 | static __devexit int | 105 | static __devexit int |
105 | mvme16x_device_remove(struct device *dev) | 106 | mvme16x_device_remove(struct platform_device *dev) |
106 | { | 107 | { |
107 | struct Scsi_Host *host = dev_get_drvdata(dev); | 108 | struct Scsi_Host *host = platform_get_drvdata(dev); |
108 | struct NCR_700_Host_Parameters *hostdata = shost_priv(host); | 109 | struct NCR_700_Host_Parameters *hostdata = shost_priv(host); |
109 | 110 | ||
110 | /* Disable scsi chip ints */ | 111 | /* Disable scsi chip ints */ |
@@ -123,25 +124,27 @@ mvme16x_device_remove(struct device *dev) | |||
123 | return 0; | 124 | return 0; |
124 | } | 125 | } |
125 | 126 | ||
126 | static struct device_driver mvme16x_scsi_driver = { | 127 | static struct platform_driver mvme16x_scsi_driver = { |
127 | .name = "mvme16x-scsi", | 128 | .driver = { |
128 | .bus = &platform_bus_type, | 129 | .name = "mvme16x-scsi", |
129 | .probe = mvme16x_probe, | 130 | .owner = THIS_MODULE, |
130 | .remove = __devexit_p(mvme16x_device_remove), | 131 | }, |
132 | .probe = mvme16x_probe, | ||
133 | .remove = __devexit_p(mvme16x_device_remove), | ||
131 | }; | 134 | }; |
132 | 135 | ||
133 | static int __init mvme16x_scsi_init(void) | 136 | static int __init mvme16x_scsi_init(void) |
134 | { | 137 | { |
135 | int err; | 138 | int err; |
136 | 139 | ||
137 | err = driver_register(&mvme16x_scsi_driver); | 140 | err = platform_driver_register(&mvme16x_scsi_driver); |
138 | if (err) | 141 | if (err) |
139 | return err; | 142 | return err; |
140 | 143 | ||
141 | mvme16x_scsi_device = platform_device_register_simple("mvme16x-scsi", | 144 | mvme16x_scsi_device = platform_device_register_simple("mvme16x-scsi", |
142 | -1, NULL, 0); | 145 | -1, NULL, 0); |
143 | if (IS_ERR(mvme16x_scsi_device)) { | 146 | if (IS_ERR(mvme16x_scsi_device)) { |
144 | driver_unregister(&mvme16x_scsi_driver); | 147 | platform_driver_unregister(&mvme16x_scsi_driver); |
145 | return PTR_ERR(mvme16x_scsi_device); | 148 | return PTR_ERR(mvme16x_scsi_device); |
146 | } | 149 | } |
147 | 150 | ||
@@ -151,7 +154,7 @@ static int __init mvme16x_scsi_init(void) | |||
151 | static void __exit mvme16x_scsi_exit(void) | 154 | static void __exit mvme16x_scsi_exit(void) |
152 | { | 155 | { |
153 | platform_device_unregister(mvme16x_scsi_device); | 156 | platform_device_unregister(mvme16x_scsi_device); |
154 | driver_unregister(&mvme16x_scsi_driver); | 157 | platform_driver_unregister(&mvme16x_scsi_driver); |
155 | } | 158 | } |
156 | 159 | ||
157 | module_init(mvme16x_scsi_init); | 160 | module_init(mvme16x_scsi_init); |