diff options
Diffstat (limited to 'drivers/ide/pmac.c')
| -rw-r--r-- | drivers/ide/pmac.c | 30 | 
1 files changed, 3 insertions, 27 deletions
diff --git a/drivers/ide/pmac.c b/drivers/ide/pmac.c index 2e19d629853..7c481bb56fa 100644 --- a/drivers/ide/pmac.c +++ b/drivers/ide/pmac.c @@ -66,7 +66,6 @@ typedef struct pmac_ide_hwif {  	struct macio_dev		*mdev;  	u32				timings[4];  	volatile u32 __iomem *		*kauai_fcr; -#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC  	/* Those fields are duplicating what is in hwif. We currently  	 * can't use the hwif ones because of some assumptions that are  	 * beeing done by the generic code about the kind of dma controller @@ -74,8 +73,6 @@ typedef struct pmac_ide_hwif {  	 */  	volatile struct dbdma_regs __iomem *	dma_regs;  	struct dbdma_cmd*		dma_table_cpu; -#endif -	  } pmac_ide_hwif_t;  enum { @@ -222,8 +219,6 @@ static const char* model_name[] = {  #define KAUAI_FCR_UATA_RESET_N		0x00000002  #define KAUAI_FCR_UATA_ENABLE		0x00000001 -#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC -  /* Rounded Multiword DMA timings   *    * I gave up finding a generic formula for all controller @@ -413,8 +408,6 @@ static int pmac_ide_build_dmatable(ide_drive_t *drive, struct request *rq);  static void pmac_ide_selectproc(ide_drive_t *drive);  static void pmac_ide_kauai_selectproc(ide_drive_t *drive); -#endif /* CONFIG_BLK_DEV_IDEDMA_PMAC */ -  #define PMAC_IDE_REG(x) \  	((void __iomem *)((drive)->hwif->io_ports.data_addr + (x))) @@ -584,8 +577,6 @@ pmac_ide_set_pio_mode(ide_drive_t *drive, const u8 pio)  	pmac_ide_do_update_timings(drive);  } -#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC -  /*   * Calculate KeyLargo ATA/66 UDMA timings   */ @@ -786,7 +777,6 @@ set_timings_mdma(ide_drive_t *drive, int intf_type, u32 *timings, u32 *timings2,  		drive->name, speed & 0xf,  *timings);  #endif	  } -#endif /* #ifdef CONFIG_BLK_DEV_IDEDMA_PMAC */  static void pmac_ide_set_dma_mode(ide_drive_t *drive, const u8 speed)  { @@ -804,7 +794,6 @@ static void pmac_ide_set_dma_mode(ide_drive_t *drive, const u8 speed)  	tl[0] = *timings;  	tl[1] = *timings2; -#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC  	if (speed >= XFER_UDMA_0) {  		if (pmif->kind == controller_kl_ata4)  			ret = set_timings_udma_ata4(&tl[0], speed); @@ -817,7 +806,7 @@ static void pmac_ide_set_dma_mode(ide_drive_t *drive, const u8 speed)  			ret = -1;  	} else  		set_timings_mdma(drive, pmif->kind, &tl[0], &tl[1], speed); -#endif /* CONFIG_BLK_DEV_IDEDMA_PMAC */ +  	if (ret)  		return; @@ -1008,9 +997,7 @@ static const struct ide_port_info pmac_port_info = {  	.chipset		= ide_pmac,  	.tp_ops			= &pmac_tp_ops,  	.port_ops		= &pmac_ide_port_ops, -#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC  	.dma_ops		= &pmac_dma_ops, -#endif  	.host_flags		= IDE_HFLAG_SET_PIO_MODE_KEEP_DMA |  				  IDE_HFLAG_POST_SET_MODE |  				  IDE_HFLAG_MMIO | @@ -1182,7 +1169,7 @@ pmac_ide_macio_attach(struct macio_dev *mdev, const struct of_device_id *match)  	pmif->regbase = regbase;  	pmif->irq = irq;  	pmif->kauai_fcr = NULL; -#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC +  	if (macio_resource_count(mdev) >= 2) {  		if (macio_request_resource(mdev, 1, "ide-pmac (dma)"))  			printk(KERN_WARNING "ide-pmac: can't request DMA " @@ -1192,7 +1179,7 @@ pmac_ide_macio_attach(struct macio_dev *mdev, const struct of_device_id *match)  			pmif->dma_regs = ioremap(macio_resource_start(mdev, 1), 0x1000);  	} else  		pmif->dma_regs = NULL; -#endif /* CONFIG_BLK_DEV_IDEDMA_PMAC */ +  	dev_set_drvdata(&mdev->ofdev.dev, pmif);  	memset(&hw, 0, sizeof(hw)); @@ -1300,9 +1287,7 @@ pmac_ide_pci_attach(struct pci_dev *pdev, const struct pci_device_id *id)  	base = ioremap(rbase, rlen);  	pmif->regbase = (unsigned long) base + 0x2000; -#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC  	pmif->dma_regs = base + 0x1000; -#endif /* CONFIG_BLK_DEV_IDEDMA_PMAC */  	pmif->kauai_fcr = base;  	pmif->irq = pdev->irq; @@ -1434,8 +1419,6 @@ out:  	return error;  } -#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC -  /*   * pmac_ide_build_dmatable builds the DBDMA command list   * for a transfer and sets the DBDMA channel to point to it. @@ -1723,13 +1706,6 @@ static int __devinit pmac_ide_init_dma(ide_hwif_t *hwif,  	return 0;  } -#else -static int __devinit pmac_ide_init_dma(ide_hwif_t *hwif, -				       const struct ide_port_info *d) -{ -	return -EOPNOTSUPP; -} -#endif /* CONFIG_BLK_DEV_IDEDMA_PMAC */  module_init(pmac_ide_probe);  |