X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=drivers%2Fsbus%2Fchar%2Fuctrl.c;h=44d2ef906ac732aa7b0a4c92467602ad128ab9e6;hb=21d364954f5a2a97b4e378f34a13fbf296aa16ec;hp=575b1f7ed410b738233865a67f4d46cb5a31f804;hpb=4854c7b27f0975a2b629f35ea3996d2968eb7c4f;p=powerpc.git diff --git a/drivers/sbus/char/uctrl.c b/drivers/sbus/char/uctrl.c index 575b1f7ed4..44d2ef906a 100644 --- a/drivers/sbus/char/uctrl.c +++ b/drivers/sbus/char/uctrl.c @@ -5,7 +5,6 @@ */ #include -#include #include #include #include @@ -217,14 +216,14 @@ uctrl_open(struct inode *inode, struct file *file) return 0; } -static irqreturn_t uctrl_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t uctrl_interrupt(int irq, void *dev_id) { struct uctrl_driver *driver = (struct uctrl_driver *)dev_id; printk("in uctrl_interrupt\n"); return IRQ_HANDLED; } -static struct file_operations uctrl_fops = { +static const struct file_operations uctrl_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .ioctl = uctrl_ioctl, @@ -365,6 +364,7 @@ static int __init ts102_uctrl_init(void) struct linux_prom_irqs tmp_irq[2]; unsigned int vaddr[2] = { 0, 0 }; int tmpnode, uctrlnode = prom_getchild(prom_root_node); + int err; tmpnode = prom_searchsiblings(uctrlnode, "obio"); @@ -390,7 +390,12 @@ static int __init ts102_uctrl_init(void) if(!driver->irq) driver->irq = tmp_irq[0].pri; - request_irq(driver->irq, uctrl_interrupt, 0, "uctrl", driver); + err = request_irq(driver->irq, uctrl_interrupt, 0, "uctrl", driver); + if (err) { + printk("%s: unable to register irq %d\n", + __FUNCTION__, driver->irq); + return err; + } if (misc_register(&uctrl_dev)) { printk("%s: unable to get misc minor %d\n", @@ -400,7 +405,7 @@ static int __init ts102_uctrl_init(void) } driver->regs->uctrl_intr = UCTRL_INTR_RXNE_REQ|UCTRL_INTR_RXNE_MSK; - printk("uctrl: 0x%x (irq %d)\n", driver->regs, driver->irq); + printk("uctrl: 0x%p (irq %d)\n", driver->regs, driver->irq); uctrl_get_event_status(); uctrl_get_external_status(); return 0;