palm_bk3710: use struct ide_port_info

* Factor out cable detection to palm_bk3710_cable_detect().

* Add palm_bk3710_init_hwif() (->init_hwif method implementation).

* Remove needless ->quirkproc initialization.

* Add missing ->pio_mask initialization.

* Use ATA_* defines for setting ->{ultra,mwdma}_mask.

* Add 'struct ide_port_info palm_bk3710_port_info' and pass it to
  ide_device_add().  Then remove open-coded 'hwif' initialization.

Cc: Anton Salnikov <asalnikov@ru.mvista.com>
Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent c92a7f1d
...@@ -311,6 +311,28 @@ static void __devinit palm_bk3710_chipinit(void __iomem *base) ...@@ -311,6 +311,28 @@ static void __devinit palm_bk3710_chipinit(void __iomem *base)
palm_bk3710_setpiomode(base, NULL, 0, 600, 0); palm_bk3710_setpiomode(base, NULL, 0, 600, 0);
palm_bk3710_setpiomode(base, NULL, 1, 600, 0); palm_bk3710_setpiomode(base, NULL, 1, 600, 0);
} }
static u8 __devinit palm_bk3710_cable_detect(ide_hwif_t *hwif)
{
return ATA_CBL_PATA80;
}
static void __devinit palm_bk3710_init_hwif(ide_hwif_t *hwif)
{
hwif->set_pio_mode = palm_bk3710_set_pio_mode;
hwif->set_dma_mode = palm_bk3710_set_dma_mode;
hwif->cable_detect = palm_bk3710_cable_detect;
}
static const struct ide_port_info __devinitdata palm_bk3710_port_info = {
.init_hwif = palm_bk3710_init_hwif,
.host_flags = IDE_HFLAG_NO_DMA, /* hack (no PCI) */
.pio_mask = ATA_PIO4,
.udma_mask = ATA_UDMA4, /* (input clk 99MHz) */
.mwdma_mask = ATA_MWDMA2,
};
static int __devinit palm_bk3710_probe(struct platform_device *pdev) static int __devinit palm_bk3710_probe(struct platform_device *pdev)
{ {
struct clk *clkp; struct clk *clkp;
...@@ -368,24 +390,15 @@ static int __devinit palm_bk3710_probe(struct platform_device *pdev) ...@@ -368,24 +390,15 @@ static int __devinit palm_bk3710_probe(struct platform_device *pdev)
ide_init_port_data(hwif, i); ide_init_port_data(hwif, i);
ide_init_port_hw(hwif, &hw); ide_init_port_hw(hwif, &hw);
hwif->quirkproc = NULL;
hwif->set_pio_mode = &palm_bk3710_set_pio_mode;
hwif->set_dma_mode = &palm_bk3710_set_dma_mode;
hwif->mmio = 1; hwif->mmio = 1;
default_hwif_mmiops(hwif); default_hwif_mmiops(hwif);
hwif->cbl = ATA_CBL_PATA80;
hwif->ultra_mask = 0x1f; /* Ultra DMA Mode 4 Max
(input clk 99MHz) */
hwif->mwdma_mask = 0x7;
hwif->drives[0].autotune = 1;
hwif->drives[1].autotune = 1;
ide_setup_dma(hwif, mem->start); ide_setup_dma(hwif, mem->start);
idx[0] = i; idx[0] = i;
ide_device_add(idx, NULL); ide_device_add(idx, &palm_bk3710_port_info);
if (!hwif->present) if (!hwif->present)
goto out; goto out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment