diff options
Diffstat (limited to 'drivers/parisc/superio.c')
| -rw-r--r-- | drivers/parisc/superio.c | 33 | 
1 files changed, 12 insertions, 21 deletions
diff --git a/drivers/parisc/superio.c b/drivers/parisc/superio.c index 0846dafdfff..a042d065a0c 100644 --- a/drivers/parisc/superio.c +++ b/drivers/parisc/superio.c @@ -274,7 +274,7 @@ superio_init(struct pci_dev *pcidev)  	else  		printk(KERN_ERR PFX "USB regulator not initialized!\n"); -	if (request_irq(pdev->irq, superio_interrupt, IRQF_DISABLED, +	if (request_irq(pdev->irq, superio_interrupt, 0,  			SUPERIO, (void *)sio)) {  		printk(KERN_ERR PFX "could not get irq\n"); @@ -286,8 +286,9 @@ superio_init(struct pci_dev *pcidev)  }  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87560_LIO, superio_init); -static void superio_mask_irq(unsigned int irq) +static void superio_mask_irq(struct irq_data *d)  { +	unsigned int irq = d->irq;  	u8 r8;  	if ((irq < 1) || (irq == 2) || (irq > 7)) { @@ -303,8 +304,9 @@ static void superio_mask_irq(unsigned int irq)  	outb (r8,IC_PIC1+1);  } -static void superio_unmask_irq(unsigned int irq) +static void superio_unmask_irq(struct irq_data *d)  { +	unsigned int irq = d->irq;  	u8 r8;  	if ((irq < 1) || (irq == 2) || (irq > 7)) { @@ -320,10 +322,9 @@ static void superio_unmask_irq(unsigned int irq)  }  static struct irq_chip superio_interrupt_type = { -	.name	=	SUPERIO, -	.unmask	=	superio_unmask_irq, -	.mask	=	superio_mask_irq, -	.ack =		no_ack_irq, +	.name		=	SUPERIO, +	.irq_unmask	=	superio_unmask_irq, +	.irq_mask	=	superio_mask_irq,  };  #ifdef DEBUG_SUPERIO_INIT @@ -347,14 +348,15 @@ int superio_fixup_irq(struct pci_dev *pcidev)  		BUG();  		return -1;  	} -	printk("superio_fixup_irq(%s) ven 0x%x dev 0x%x from %p\n", +	printk("superio_fixup_irq(%s) ven 0x%x dev 0x%x from %pf\n",  		pci_name(pcidev),  		pcidev->vendor, pcidev->device,  		__builtin_return_address(0));  #endif  	for (i = 0; i < 16; i++) { -		set_irq_chip_and_handler(i, &superio_interrupt_type, handle_level_irq); +		irq_set_chip_and_handler(i, &superio_interrupt_type, +					 handle_simple_irq);  	}  	/* @@ -492,15 +494,4 @@ static struct pci_driver superio_driver = {  	.probe =        superio_probe,  }; -static int __init superio_modinit(void) -{ -	return pci_register_driver(&superio_driver); -} - -static void __exit superio_exit(void) -{ -	pci_unregister_driver(&superio_driver); -} - -module_init(superio_modinit); -module_exit(superio_exit); +module_pci_driver(superio_driver);  | 
