diff options
Diffstat (limited to 'drivers/ata/pata_rb500_cf.c')
-rw-r--r-- | drivers/ata/pata_rb500_cf.c | 54 |
1 files changed, 7 insertions, 47 deletions
diff --git a/drivers/ata/pata_rb500_cf.c b/drivers/ata/pata_rb500_cf.c index 4ce9b03fe6c8..800ae4601f44 100644 --- a/drivers/ata/pata_rb500_cf.c +++ b/drivers/ata/pata_rb500_cf.c | |||
@@ -57,7 +57,7 @@ static inline void rb500_pata_finish_io(struct ata_port *ap) | |||
57 | struct ata_host *ah = ap->host; | 57 | struct ata_host *ah = ap->host; |
58 | struct rb500_cf_info *info = ah->private_data; | 58 | struct rb500_cf_info *info = ah->private_data; |
59 | 59 | ||
60 | ata_altstatus(ap); | 60 | ata_sff_altstatus(ap); |
61 | ndelay(RB500_CF_IO_DELAY); | 61 | ndelay(RB500_CF_IO_DELAY); |
62 | 62 | ||
63 | set_irq_type(info->irq, IRQ_TYPE_LEVEL_HIGH); | 63 | set_irq_type(info->irq, IRQ_TYPE_LEVEL_HIGH); |
@@ -109,7 +109,7 @@ static irqreturn_t rb500_pata_irq_handler(int irq, void *dev_instance) | |||
109 | if (gpio_get_value(info->gpio_line)) { | 109 | if (gpio_get_value(info->gpio_line)) { |
110 | set_irq_type(info->irq, IRQ_TYPE_LEVEL_LOW); | 110 | set_irq_type(info->irq, IRQ_TYPE_LEVEL_LOW); |
111 | if (!info->frozen) | 111 | if (!info->frozen) |
112 | ata_interrupt(info->irq, dev_instance); | 112 | ata_sff_interrupt(info->irq, dev_instance); |
113 | } else { | 113 | } else { |
114 | set_irq_type(info->irq, IRQ_TYPE_LEVEL_HIGH); | 114 | set_irq_type(info->irq, IRQ_TYPE_LEVEL_HIGH); |
115 | } | 115 | } |
@@ -117,58 +117,18 @@ static irqreturn_t rb500_pata_irq_handler(int irq, void *dev_instance) | |||
117 | return IRQ_HANDLED; | 117 | return IRQ_HANDLED; |
118 | } | 118 | } |
119 | 119 | ||
120 | static void rb500_pata_irq_clear(struct ata_port *ap) | ||
121 | { | ||
122 | } | ||
123 | |||
124 | static int rb500_pata_port_start(struct ata_port *ap) | ||
125 | { | ||
126 | return 0; | ||
127 | } | ||
128 | |||
129 | static struct ata_port_operations rb500_pata_port_ops = { | 120 | static struct ata_port_operations rb500_pata_port_ops = { |
130 | .tf_load = ata_tf_load, | 121 | .inherits = &ata_sff_port_ops, |
131 | .tf_read = ata_tf_read, | 122 | .sff_exec_command = rb500_pata_exec_command, |
132 | 123 | .sff_data_xfer = rb500_pata_data_xfer, | |
133 | .exec_command = rb500_pata_exec_command, | ||
134 | .check_status = ata_check_status, | ||
135 | .dev_select = ata_std_dev_select, | ||
136 | |||
137 | .data_xfer = rb500_pata_data_xfer, | ||
138 | |||
139 | .qc_prep = ata_qc_prep, | ||
140 | .qc_issue = ata_qc_issue_prot, | ||
141 | |||
142 | .freeze = rb500_pata_freeze, | 124 | .freeze = rb500_pata_freeze, |
143 | .thaw = rb500_pata_thaw, | 125 | .thaw = rb500_pata_thaw, |
144 | .error_handler = ata_bmdma_error_handler, | ||
145 | |||
146 | .irq_handler = rb500_pata_irq_handler, | ||
147 | .irq_clear = rb500_pata_irq_clear, | ||
148 | .irq_on = ata_irq_on, | ||
149 | |||
150 | .port_start = rb500_pata_port_start, | ||
151 | }; | 126 | }; |
152 | 127 | ||
153 | /* ------------------------------------------------------------------------ */ | 128 | /* ------------------------------------------------------------------------ */ |
154 | 129 | ||
155 | static struct scsi_host_template rb500_pata_sht = { | 130 | static struct scsi_host_template rb500_pata_sht = { |
156 | .module = THIS_MODULE, | 131 | ATA_PIO_SHT(DRV_NAME), |
157 | .name = DRV_NAME, | ||
158 | .ioctl = ata_scsi_ioctl, | ||
159 | .queuecommand = ata_scsi_queuecmd, | ||
160 | .slave_configure = ata_scsi_slave_config, | ||
161 | .slave_destroy = ata_scsi_slave_destroy, | ||
162 | .bios_param = ata_std_bios_param, | ||
163 | .proc_name = DRV_NAME, | ||
164 | |||
165 | .can_queue = ATA_DEF_QUEUE, | ||
166 | .this_id = ATA_SHT_THIS_ID, | ||
167 | .sg_tablesize = LIBATA_MAX_PRD, | ||
168 | .dma_boundary = ATA_DMA_BOUNDARY, | ||
169 | .cmd_per_lun = ATA_SHT_CMD_PER_LUN, | ||
170 | .emulated = ATA_SHT_EMULATED, | ||
171 | .use_clustering = ATA_SHT_USE_CLUSTERING, | ||
172 | }; | 132 | }; |
173 | 133 | ||
174 | /* ------------------------------------------------------------------------ */ | 134 | /* ------------------------------------------------------------------------ */ |
@@ -188,7 +148,7 @@ static void rb500_pata_setup_ports(struct ata_host *ah) | |||
188 | ap->ioaddr.ctl_addr = info->iobase + RB500_CF_REG_CTRL; | 148 | ap->ioaddr.ctl_addr = info->iobase + RB500_CF_REG_CTRL; |
189 | ap->ioaddr.altstatus_addr = info->iobase + RB500_CF_REG_CTRL; | 149 | ap->ioaddr.altstatus_addr = info->iobase + RB500_CF_REG_CTRL; |
190 | 150 | ||
191 | ata_std_ports(&ap->ioaddr); | 151 | ata_sff_std_ports(&ap->ioaddr); |
192 | 152 | ||
193 | ap->ioaddr.data_addr = info->iobase + RB500_CF_REG_DATA; | 153 | ap->ioaddr.data_addr = info->iobase + RB500_CF_REG_DATA; |
194 | } | 154 | } |