diff options
Diffstat (limited to 'drivers/ata/pata_sc1200.c')
-rw-r--r-- | drivers/ata/pata_sc1200.c | 59 |
1 files changed, 10 insertions, 49 deletions
diff --git a/drivers/ata/pata_sc1200.c b/drivers/ata/pata_sc1200.c index 725a8586cd6e..cbab397e3db7 100644 --- a/drivers/ata/pata_sc1200.c +++ b/drivers/ata/pata_sc1200.c | |||
@@ -151,7 +151,7 @@ static void sc1200_set_dmamode(struct ata_port *ap, struct ata_device *adev) | |||
151 | } | 151 | } |
152 | 152 | ||
153 | /** | 153 | /** |
154 | * sc1200_qc_issue_prot - command issue | 154 | * sc1200_qc_issue - command issue |
155 | * @qc: command pending | 155 | * @qc: command pending |
156 | * | 156 | * |
157 | * Called when the libata layer is about to issue a command. We wrap | 157 | * Called when the libata layer is about to issue a command. We wrap |
@@ -160,7 +160,7 @@ static void sc1200_set_dmamode(struct ata_port *ap, struct ata_device *adev) | |||
160 | * one MWDMA/UDMA bit. | 160 | * one MWDMA/UDMA bit. |
161 | */ | 161 | */ |
162 | 162 | ||
163 | static unsigned int sc1200_qc_issue_prot(struct ata_queued_cmd *qc) | 163 | static unsigned int sc1200_qc_issue(struct ata_queued_cmd *qc) |
164 | { | 164 | { |
165 | struct ata_port *ap = qc->ap; | 165 | struct ata_port *ap = qc->ap; |
166 | struct ata_device *adev = qc->dev; | 166 | struct ata_device *adev = qc->dev; |
@@ -175,59 +175,21 @@ static unsigned int sc1200_qc_issue_prot(struct ata_queued_cmd *qc) | |||
175 | sc1200_set_dmamode(ap, adev); | 175 | sc1200_set_dmamode(ap, adev); |
176 | } | 176 | } |
177 | 177 | ||
178 | return ata_qc_issue_prot(qc); | 178 | return ata_sff_qc_issue(qc); |
179 | } | 179 | } |
180 | 180 | ||
181 | static struct scsi_host_template sc1200_sht = { | 181 | static struct scsi_host_template sc1200_sht = { |
182 | .module = THIS_MODULE, | 182 | ATA_BMDMA_SHT(DRV_NAME), |
183 | .name = DRV_NAME, | 183 | .sg_tablesize = LIBATA_DUMB_MAX_PRD, |
184 | .ioctl = ata_scsi_ioctl, | ||
185 | .queuecommand = ata_scsi_queuecmd, | ||
186 | .can_queue = ATA_DEF_QUEUE, | ||
187 | .this_id = ATA_SHT_THIS_ID, | ||
188 | .sg_tablesize = LIBATA_DUMB_MAX_PRD, | ||
189 | .cmd_per_lun = ATA_SHT_CMD_PER_LUN, | ||
190 | .emulated = ATA_SHT_EMULATED, | ||
191 | .use_clustering = ATA_SHT_USE_CLUSTERING, | ||
192 | .proc_name = DRV_NAME, | ||
193 | .dma_boundary = ATA_DMA_BOUNDARY, | ||
194 | .slave_configure = ata_scsi_slave_config, | ||
195 | .slave_destroy = ata_scsi_slave_destroy, | ||
196 | .bios_param = ata_std_bios_param, | ||
197 | }; | 184 | }; |
198 | 185 | ||
199 | static struct ata_port_operations sc1200_port_ops = { | 186 | static struct ata_port_operations sc1200_port_ops = { |
187 | .inherits = &ata_bmdma_port_ops, | ||
188 | .qc_prep = ata_sff_dumb_qc_prep, | ||
189 | .qc_issue = sc1200_qc_issue, | ||
190 | .cable_detect = ata_cable_40wire, | ||
200 | .set_piomode = sc1200_set_piomode, | 191 | .set_piomode = sc1200_set_piomode, |
201 | .set_dmamode = sc1200_set_dmamode, | 192 | .set_dmamode = sc1200_set_dmamode, |
202 | .mode_filter = ata_pci_default_filter, | ||
203 | |||
204 | .tf_load = ata_tf_load, | ||
205 | .tf_read = ata_tf_read, | ||
206 | .check_status = ata_check_status, | ||
207 | .exec_command = ata_exec_command, | ||
208 | .dev_select = ata_std_dev_select, | ||
209 | |||
210 | .freeze = ata_bmdma_freeze, | ||
211 | .thaw = ata_bmdma_thaw, | ||
212 | .error_handler = ata_bmdma_error_handler, | ||
213 | .post_internal_cmd = ata_bmdma_post_internal_cmd, | ||
214 | .cable_detect = ata_cable_40wire, | ||
215 | |||
216 | .bmdma_setup = ata_bmdma_setup, | ||
217 | .bmdma_start = ata_bmdma_start, | ||
218 | .bmdma_stop = ata_bmdma_stop, | ||
219 | .bmdma_status = ata_bmdma_status, | ||
220 | |||
221 | .qc_prep = ata_dumb_qc_prep, | ||
222 | .qc_issue = sc1200_qc_issue_prot, | ||
223 | |||
224 | .data_xfer = ata_data_xfer, | ||
225 | |||
226 | .irq_handler = ata_interrupt, | ||
227 | .irq_clear = ata_bmdma_irq_clear, | ||
228 | .irq_on = ata_irq_on, | ||
229 | |||
230 | .port_start = ata_sff_port_start, | ||
231 | }; | 193 | }; |
232 | 194 | ||
233 | /** | 195 | /** |
@@ -242,7 +204,6 @@ static struct ata_port_operations sc1200_port_ops = { | |||
242 | static int sc1200_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 204 | static int sc1200_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
243 | { | 205 | { |
244 | static const struct ata_port_info info = { | 206 | static const struct ata_port_info info = { |
245 | .sht = &sc1200_sht, | ||
246 | .flags = ATA_FLAG_SLAVE_POSS, | 207 | .flags = ATA_FLAG_SLAVE_POSS, |
247 | .pio_mask = 0x1f, | 208 | .pio_mask = 0x1f, |
248 | .mwdma_mask = 0x07, | 209 | .mwdma_mask = 0x07, |
@@ -252,7 +213,7 @@ static int sc1200_init_one(struct pci_dev *dev, const struct pci_device_id *id) | |||
252 | /* Can't enable port 2 yet, see top comments */ | 213 | /* Can't enable port 2 yet, see top comments */ |
253 | const struct ata_port_info *ppi[] = { &info, &ata_dummy_port_info }; | 214 | const struct ata_port_info *ppi[] = { &info, &ata_dummy_port_info }; |
254 | 215 | ||
255 | return ata_pci_init_one(dev, ppi); | 216 | return ata_pci_sff_init_one(dev, ppi, &sc1200_sht, NULL); |
256 | } | 217 | } |
257 | 218 | ||
258 | static const struct pci_device_id sc1200[] = { | 219 | static const struct pci_device_id sc1200[] = { |