static unsigned int __init init_chipset_ali15x3 (struct pci_dev *dev, const char *name) 
static unsigned int __devinit init_chipset_ali15x3 (struct pci_dev *dev, const char *name) 
static unsigned int __init init_chipset_ali15x3 (struct pci_dev *dev, const char *name){	unsigned long flags;	u8 tmpbyte;	struct pci_dev *north = pci_find_slot(0, PCI_DEVFN(0,0));	pci_read_config_byte(dev, PCI_REVISION_ID, &m5229_revision);	isa_dev = pci_find_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, NULL);#if defined(DISPLAY_ALI_TIMINGS) && defined(CONFIG_PROC_FS)	if (!ali_proc) {		ali_proc = 1;		bmide_dev = dev;		ide_pci_create_host_proc("ali", ali_get_info);	}#endif  /* defined(DISPLAY_ALI_TIMINGS) && defined(CONFIG_PROC_FS) */	local_irq_save(flags);	if (m5229_revision < 0xC2) {		/*		 * revision 0x20 (1543-E, 1543-F)		 * revision 0xC0, 0xC1 (1543C-C, 1543C-D, 1543C-E)		 * clear CD-ROM DMA write bit, m5229, 0x4b, bit 7		 */		pci_read_config_byte(dev, 0x4b, &tmpbyte);		/*		 * clear bit 7		 */		pci_write_config_byte(dev, 0x4b, tmpbyte & 0x7F);		local_irq_restore(flags);		return 0;	}	/*	 * 1543C-B?, 1535, 1535D, 1553	 * Note 1: not all "motherboard" support this detection	 * Note 2: if no udma 66 device, the detection may "error".	 *         but in this case, we will not set the device to	 *         ultra 66, the detection result is not important	 */	/*	 * enable "Cable Detection", m5229, 0x4b, bit3	 */	pci_read_config_byte(dev, 0x4b, &tmpbyte);	pci_write_config_byte(dev, 0x4b, tmpbyte | 0x08);	/*	 * We should only tune the 1533 enable if we are using an ALi	 * North bridge. We might have no north found on some zany	 * box without a device at 0:0.0. The ALi bridge will be at	 * 0:0.0 so if we didn't find one we know what is cooking.	 */	if (north && north->vendor != PCI_VENDOR_ID_AL) {		local_irq_restore(flags);	        return 0;	}	if (m5229_revision < 0xC5 && isa_dev)	{			/*		 * set south-bridge's enable bit, m1533, 0x79		 */		pci_read_config_byte(isa_dev, 0x79, &tmpbyte);		if (m5229_revision == 0xC2) {			/*			 * 1543C-B0 (m1533, 0x79, bit 2)			 */			pci_write_config_byte(isa_dev, 0x79, tmpbyte | 0x04);		} else if (m5229_revision >= 0xC3) {			/*			 * 1553/1535 (m1533, 0x79, bit 1)			 */			pci_write_config_byte(isa_dev, 0x79, tmpbyte | 0x02);		}	}	local_irq_restore(flags);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/c2f12589bfc4119f2c331ecea8cca4945ed48497/alim15x3.c/buggy/drivers/ide/pci/alim15x3.c