Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 528a572d authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz
Browse files

ide: add ->chipset field to ide_pci_device_t



Add ->chipset field to ide_pci_device_t and use it in ide_hwif_configure()
to set hwif->chipset.  Convert cmd64x, cy82c693, rz1000 and trm290 host
drivers to use this new ability.

While at it define hwif_chipset_t as u8 to save some space in hw_regs_t,
ide_hwif_t and ide_pci_device_t instances.

Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 44a59ad5
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -506,9 +506,6 @@ static void __devinit init_hwif_cmd64x(ide_hwif_t *hwif)
	hwif->set_pio_mode = &cmd64x_set_pio_mode;
	hwif->set_dma_mode = &cmd64x_set_dma_mode;

	if (dev->device == PCI_DEVICE_ID_CMD_646)
		hwif->chipset = ide_cmd646;

	if (!hwif->dma_base)
		return;

@@ -575,6 +572,7 @@ static ide_pci_device_t cmd64x_chipsets[] __devinitdata = {
		.init_chipset	= init_chipset_cmd64x,
		.init_hwif	= init_hwif_cmd64x,
		.enablebits	= {{0x51,0x04,0x04}, {0x51,0x08,0x08}},
		.chipset	= ide_cmd646,
		.host_flags	= IDE_HFLAG_ABUSE_PREFETCH | IDE_HFLAG_BOOTABLE,
		.pio_mask	= ATA_PIO5,
		.mwdma_mask	= ATA_MWDMA2,
+1 −1
Original line number Diff line number Diff line
@@ -428,7 +428,6 @@ static unsigned int __devinit init_chipset_cy82c693(struct pci_dev *dev, const c
 */
static void __devinit init_hwif_cy82c693(ide_hwif_t *hwif)
{
	hwif->chipset = ide_cy82c693;
	hwif->set_pio_mode = &cy82c693_set_pio_mode;

	if (hwif->dma_base == 0)
@@ -454,6 +453,7 @@ static ide_pci_device_t cy82c693_chipset __devinitdata = {
	.init_chipset	= init_chipset_cy82c693,
	.init_iops	= init_iops_cy82c693,
	.init_hwif	= init_hwif_cy82c693,
	.chipset	= ide_cy82c693,
	.host_flags	= IDE_HFLAG_SINGLE | IDE_HFLAG_TRUST_BIOS_FOR_DMA |
			  IDE_HFLAG_BOOTABLE,
	.pio_mask	= ATA_PIO4,
+1 −1
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ static void __devinit init_hwif_rz1000 (ide_hwif_t *hwif)
	u16 reg;
	struct pci_dev *dev = hwif->pci_dev;

	hwif->chipset = ide_rz1000;
	if (!pci_read_config_word (dev, 0x40, &reg) &&
	    !pci_write_config_word(dev, 0x40, reg & 0xdfff)) {
		printk(KERN_INFO "%s: disabled chipset read-ahead "
@@ -53,6 +52,7 @@ static void __devinit init_hwif_rz1000 (ide_hwif_t *hwif)
static ide_pci_device_t rz1000_chipset __devinitdata = {
	.name		= "RZ100x",
	.init_hwif	= init_hwif_rz1000,
	.chipset	= ide_rz1000,
	.host_flags	= IDE_HFLAG_NO_DMA | IDE_HFLAG_BOOTABLE,
};

+1 −1
Original line number Diff line number Diff line
@@ -250,7 +250,6 @@ static void __devinit init_hwif_trm290(ide_hwif_t *hwif)
	u8 reg = 0;
	struct pci_dev *dev = hwif->pci_dev;

	hwif->chipset = ide_trm290;
	cfgbase = pci_resource_start(dev, 4);
	if ((dev->class & 5) && cfgbase) {
		hwif->config_data = cfgbase;
@@ -323,6 +322,7 @@ static void __devinit init_hwif_trm290(ide_hwif_t *hwif)
static ide_pci_device_t trm290_chipset __devinitdata = {
	.name		= "TRM290",
	.init_hwif	= init_hwif_trm290,
	.chipset	= ide_trm290,
	.host_flags	= IDE_HFLAG_NO_ATAPI_DMA |
#if 0 /* play it safe for now */
			  IDE_HFLAG_TRUST_BIOS_FOR_DMA |
+1 −1
Original line number Diff line number Diff line
@@ -397,7 +397,7 @@ static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev, ide_pci_device_t *d,
		memcpy(hwif->io_ports, hwif->hw.io_ports, sizeof(hwif->io_ports));
		hwif->noprobe = !hwif->io_ports[IDE_DATA_OFFSET];
	}
	hwif->chipset = ide_pci;
	hwif->chipset = d->chipset ? d->chipset : ide_pci;
	hwif->pci_dev = dev;
	hwif->cds = (struct ide_pci_device_s *) d;
	hwif->channel = port;
Loading