ide: fix ->init_chipset method to return 'int' value
PATCH 2/2 ide: fix ->init_chipset method to return 'int' value
From: Bartlomiej Zolnierkiewicz <[email protected]>
Subject: [PATCH] ide: fix ->init_chipset method to return 'int' value
* Return 0 instead of dev->irq in ->init_chipset implementations.
* Fix ->init_chipset method to return 'int' value instead of 'unsigned int' one.
This fixes ->init_chipset handling for host drivers (cs5530, hpt366 and pdc202xx_new) for which it is possible for this method to fail.
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
--- drivers/ide/aec62xx.c | 4 ++-- drivers/ide/alim15x3.c | 2 +- drivers/ide/amd74xx.c | 4 ++-- drivers/ide/cmd64x.c | 2 +- drivers/ide/cs5530.c | 2 +- drivers/ide/delkin_cb.c | 2 +- drivers/ide/hpt366.c | 4 ++-- drivers/ide/it821x.c | 2 +- drivers/ide/pdc202xx_new.c | 4 ++-- drivers/ide/pdc202xx_old.c | 4 ++-- drivers/ide/piix.c | 2 +- drivers/ide/serverworks.c | 4 ++-- drivers/ide/setup-pci.c | 2 +- drivers/ide/siimage.c | 2 +- drivers/ide/sis5513.c | 2 +- drivers/ide/sl82c105.c | 4 ++-- drivers/ide/via82cxxx.c | 2 +- include/linux/ide.h | 4 ++-- 18 files changed, 26 insertions(+), 26 deletions(-)
drivers/ide/aec62xx.c +2 -2
@@ -139,7 +139,7 @@ static void aec_set_pio_mode(ide_drive_t drive->hwif->port_ops->set_dma_mode (drive, pio +XFER_PIO_0 ); } -static unsigned int init_chipset_aec62xx (struct pci_dev *dev) +static int init_chipset_aec62xx (struct pci_dev *dev) {/* These are necessary to get AEC6280 Macintosh cards to work */ if ((dev->device == PCI_DEVICE_ID_ARTOP_ATP865) ||
@@ -156,7 +156,7 @@ static unsigned int init_chipset_aec62xxpci_write_config_byte (dev,0x4a , reg4ah |0x80 ); } -return dev->irq; +return 0 ; }static u8 atp86x_cable_detect (ide_hwif_t *hwif)
drivers/ide/alim15x3.c +1 -1
@@ -212,7 +212,7 @@ static int ali15x3_dma_setup(ide_drive_t* appropriate also sets up the 1533 southbridge. */ -static unsigned int init_chipset_ali15x3 (struct pci_dev *dev) +static int init_chipset_ali15x3 (struct pci_dev *dev) {unsigned long flags;u8 tmpbyte;
drivers/ide/amd74xx.c +2 -2
@@ -140,7 +140,7 @@ static void amd7411_cable_detect(struct* The initialization callback. Initialize drive independent registers. */ -static unsigned int init_chipset_amd74xx (struct pci_dev *dev) +static int init_chipset_amd74xx (struct pci_dev *dev) {u8 t =0 , offset =amd_offset (dev);
@@ -172,7 +172,7 @@ static unsigned int init_chipset_amd74xx t |=0xf0 ;pci_write_config_byte (dev,AMD_IDE_CONFIG + offset, t); -return dev->irq; +return 0 ; }static u8 amd_cable_detect (ide_hwif_t *hwif)
drivers/ide/cmd64x.c +1 -1
@@ -333,7 +333,7 @@ static int cmd646_1_dma_end(ide_drive_treturn (dma_stat &7 ) !=4 ; } -static unsigned int init_chipset_cmd64x (struct pci_dev *dev) +static int init_chipset_cmd64x (struct pci_dev *dev) {u8 mrdmode =0 ;
drivers/ide/cs5530.c +1 -1
@@ -135,7 +135,7 @@ static void cs5530_set_dma_mode(ide_driv* Initialize the cs5530 bridge for reliable IDE DMA operation. */ -static unsigned int init_chipset_cs5530 (struct pci_dev *dev) +static int init_chipset_cs5530 (struct pci_dev *dev) {struct pci_dev *master_0 =NULL , *cs5530_0 =NULL ;
drivers/ide/delkin_cb.c +1 -1
@@ -46,7 +46,7 @@ static const struct ide_port_ops delkin_ .quirkproc = ide_undecoded_slave, }; -static unsigned int delkin_cb_init_chipset (struct pci_dev *dev) +static int delkin_cb_init_chipset (struct pci_dev *dev) {unsigned long base =pci_resource_start (dev,0 );int i;
drivers/ide/hpt366.c +2 -2
@@ -995,7 +995,7 @@ static void hpt3xx_disable_fast_irq(strupci_write_config_byte (dev, mcr_addr +1 , new_mcr); } -static unsigned int init_chipset_hpt366 (struct pci_dev *dev) +static int init_chipset_hpt366 (struct pci_dev *dev) {unsigned long io_base =pci_resource_start (dev,4 );struct hpt_info *info =hpt3xx_get_info (&dev->dev);
@@ -1237,7 +1237,7 @@ static unsigned int init_chipset_hpt366(hpt3xx_disable_fast_irq (dev,0x50 );hpt3xx_disable_fast_irq (dev,0x54 ); -return dev->irq; +return 0 ; }static u8 hpt3xx_cable_detect (ide_hwif_t *hwif)
drivers/ide/it821x.c +1 -1
@@ -604,7 +604,7 @@ static void it8212_disable_raid(struct ppci_write_config_byte (dev,PCI_LATENCY_TIMER ,0x20 ); } -static unsigned int init_chipset_it821x (struct pci_dev *dev) +static int init_chipset_it821x (struct pci_dev *dev) {u8 conf;static char *mode[2 ] = {"pass through" ,"smart" };
drivers/ide/pdc202xx_new.c +2 -2
@@ -325,7 +325,7 @@ static void apple_kiwi_init(struct pci_d }#endif /* CONFIG_PPC_PMAC */ -static unsigned int init_chipset_pdcnew (struct pci_dev *dev) +static int init_chipset_pdcnew (struct pci_dev *dev) {const char *name =DRV_NAME ;unsigned long dma_base =pci_resource_start (dev,4 );
@@ -444,7 +444,7 @@ static unsigned int init_chipset_pdcnew(#endif out: -return dev->irq; +return 0 ; }static struct pci_dev *__devinit pdc20270_get_dev2 (struct pci_dev *dev)
drivers/ide/pdc202xx_old.c +2 -2
@@ -264,7 +264,7 @@ static void pdc202xx_dma_timeout(ide_driide_dma_timeout (drive); } -static unsigned int init_chipset_pdc202xx (struct pci_dev *dev) +static int init_chipset_pdc202xx (struct pci_dev *dev) {unsigned long dmabase =pci_resource_start (dev,4 );u8 udma_speed_flag =0 , primary_mode =0 , secondary_mode =0 ;
@@ -290,7 +290,7 @@ static unsigned int init_chipset_pdc202xprintk ("%sACTIVE\n" , (inb (dmabase |0x1f ) &1 ) ?"" :"IN" ); } out: -return dev->irq; +return 0 ; } static void __devinit pdc202ata4_fixup_irq(struct pci_dev *dev,
drivers/ide/piix.c +1 -1
@@ -204,7 +204,7 @@ static void piix_set_dma_mode(ide_drive_* out to be nice and simple. */ -static unsigned int init_chipset_ich (struct pci_dev *dev) +static int init_chipset_ich (struct pci_dev *dev) {u32 extra =0 ;
drivers/ide/serverworks.c +2 -2
@@ -175,7 +175,7 @@ static void svwks_set_dma_mode(ide_drivepci_write_config_byte (dev,0x54 , ultra_enable); } -static unsigned int init_chipset_svwks (struct pci_dev *dev) +static int init_chipset_svwks (struct pci_dev *dev) {unsigned int reg;u8 btr;
@@ -270,7 +270,7 @@ static unsigned int init_chipset_svwks(spci_write_config_byte (dev,0x5A , btr); } -return dev->irq; +return 0 ; }static u8 ata66_svwks_svwks (ide_hwif_t *hwif)
drivers/ide/setup-pci.c +1 -1
@@ -524,7 +524,7 @@ static int do_ide_setup_pci_device(strucif (noisy)printk (KERN_INFO "%s %s: not 100%% native mode: will " "probe irqs later\n" , d->name,pci_name (dev)); - pciirq = ret; + pciirq =0 ; }else if (!pciirq && noisy) {printk (KERN_WARNING "%s %s: bad irq (%d): will probe later\n" , d->name,pci_name (dev), pciirq);
drivers/ide/siimage.c +1 -1
@@ -464,7 +464,7 @@ static void sil_sata_pre_reset(ide_drive* to 133 MHz clocking if the system isn't already set up to do it. */ -static unsigned int init_chipset_siimage (struct pci_dev *dev) +static int init_chipset_siimage (struct pci_dev *dev) {struct ide_host *host =pci_get_drvdata (dev);void __iomem *ioaddr = host->host_priv;
drivers/ide/sis5513.c +1 -1
@@ -447,7 +447,7 @@ static int __devinit sis_find_family(strreturn chipset_family; } -static unsigned int init_chipset_sis5513 (struct pci_dev *dev) +static int init_chipset_sis5513 (struct pci_dev *dev) {/* Make general config ops here 1/ tell IDE channels to operate in Compatibility mode only
drivers/ide/sl82c105.c +2 -2
@@ -271,7 +271,7 @@ static u8 sl82c105_bridge_revision(struc* channel 0 here at least, but channel 1 has to be enabled by * firmware or arch code. We still set both to 16 bits mode. */ -static unsigned int init_chipset_sl82c105 (struct pci_dev *dev) +static int init_chipset_sl82c105 (struct pci_dev *dev) {u32 val;
@@ -281,7 +281,7 @@ static unsigned int init_chipset_sl82c10 val |=CTRL_P0EN |CTRL_P0F16 |CTRL_P1F16 ;pci_write_config_dword (dev,0x40 , val); -return dev->irq; +return 0 ; }static const struct ide_port_ops sl82c105_port_ops = {
drivers/ide/via82cxxx.c +1 -1
@@ -267,7 +267,7 @@ static void via_cable_detect(struct via8* and initialize its drive independent registers. */ -static unsigned int init_chipset_via82cxxx (struct pci_dev *dev) +static int init_chipset_via82cxxx (struct pci_dev *dev) {struct ide_host *host =pci_get_drvdata (dev);struct via82cxxx_dev *vdev = host->host_priv;
include/linux/ide.h +2 -2
@@ -850,7 +850,7 @@ struct ide_host {ide_hwif_t *ports[MAX_HOST_PORTS +1 ];unsigned int n_ports;struct device *dev[2 ]; -unsigned int (*init_chipset)(struct pci_dev *); +int (*init_chipset)(struct pci_dev *);unsigned long host_flags;void *host_priv;ide_hwif_t *cur_port;/* for hosts requiring serialization */
@@ -1359,7 +1359,7 @@ enum {struct ide_port_info {char *name; -unsigned int (*init_chipset)(struct pci_dev *); +int (*init_chipset)(struct pci_dev *);void (*init_iops)(ide_hwif_t *);void (*init_hwif)(ide_hwif_t *); int (*init_dma)(ide_hwif_t *,