aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_ixp4xx_cf.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/pata_ixp4xx_cf.c')
-rw-r--r--drivers/ata/pata_ixp4xx_cf.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/drivers/ata/pata_ixp4xx_cf.c b/drivers/ata/pata_ixp4xx_cf.c
index 230067d281e3..d9ee1837b7ff 100644
--- a/drivers/ata/pata_ixp4xx_cf.c
+++ b/drivers/ata/pata_ixp4xx_cf.c
@@ -140,9 +140,9 @@ static struct ata_port_operations ixp4xx_port_ops = {
140static void ixp4xx_setup_port(struct ata_ioports *ioaddr, 140static void ixp4xx_setup_port(struct ata_ioports *ioaddr,
141 struct ixp4xx_pata_data *data) 141 struct ixp4xx_pata_data *data)
142{ 142{
143 ioaddr->cmd_addr = (unsigned long) data->cs0; 143 ioaddr->cmd_addr = data->cs0;
144 ioaddr->altstatus_addr = (unsigned long) data->cs1 + 0x06; 144 ioaddr->altstatus_addr = data->cs1 + 0x06;
145 ioaddr->ctl_addr = (unsigned long) data->cs1 + 0x06; 145 ioaddr->ctl_addr = data->cs1 + 0x06;
146 146
147 ata_std_ports(ioaddr); 147 ata_std_ports(ioaddr);
148 148
@@ -152,19 +152,19 @@ static void ixp4xx_setup_port(struct ata_ioports *ioaddr,
152 * ixp4xx in little endian mode. 152 * ixp4xx in little endian mode.
153 */ 153 */
154 154
155 ioaddr->data_addr ^= 0x02; 155 *(unsigned long *)&ioaddr->data_addr ^= 0x02;
156 ioaddr->cmd_addr ^= 0x03; 156 *(unsigned long *)&ioaddr->cmd_addr ^= 0x03;
157 ioaddr->altstatus_addr ^= 0x03; 157 *(unsigned long *)&ioaddr->altstatus_addr ^= 0x03;
158 ioaddr->ctl_addr ^= 0x03; 158 *(unsigned long *)&ioaddr->ctl_addr ^= 0x03;
159 ioaddr->error_addr ^= 0x03; 159 *(unsigned long *)&ioaddr->error_addr ^= 0x03;
160 ioaddr->feature_addr ^= 0x03; 160 *(unsigned long *)&ioaddr->feature_addr ^= 0x03;
161 ioaddr->nsect_addr ^= 0x03; 161 *(unsigned long *)&ioaddr->nsect_addr ^= 0x03;
162 ioaddr->lbal_addr ^= 0x03; 162 *(unsigned long *)&ioaddr->lbal_addr ^= 0x03;
163 ioaddr->lbam_addr ^= 0x03; 163 *(unsigned long *)&ioaddr->lbam_addr ^= 0x03;
164 ioaddr->lbah_addr ^= 0x03; 164 *(unsigned long *)&ioaddr->lbah_addr ^= 0x03;
165 ioaddr->device_addr ^= 0x03; 165 *(unsigned long *)&ioaddr->device_addr ^= 0x03;
166 ioaddr->status_addr ^= 0x03; 166 *(unsigned long *)&ioaddr->status_addr ^= 0x03;
167 ioaddr->command_addr ^= 0x03; 167 *(unsigned long *)&ioaddr->command_addr ^= 0x03;
168#endif 168#endif
169} 169}
170 170