--- drivers/lirc_dev/lirc_dev.c +++ drivers/lirc_dev/lirc_dev.c @@ -242,7 +242,8 @@ #ifdef LIRC_HAVE_DEVFS_24 char name[16]; #endif - DECLARE_MUTEX_LOCKED(tn); + struct semaphore tn; + sema_init(&tn,0); if (!p) { printk("lirc_dev: lirc_register_plugin: " @@ -431,8 +432,9 @@ int lirc_unregister_plugin(int minor) { struct irctl *ir; - DECLARE_MUTEX_LOCKED(tn); - DECLARE_MUTEX_LOCKED(tn2); + struct semaphore tn, tn2; + sema_init(&tn, 0); + sema_init(&tn2, 0); if (minor < 0 || minor >= MAX_IRCTL_DEVICES) { printk("lirc_dev: lirc_unregister_plugin: " --- drivers/lirc_it87/lirc_it87.c +++ drivers/lirc_it87/lirc_it87.c @@ -934,7 +934,7 @@ /* Leaving MB PnP Mode */ it87_write(IT87_CFGCTRL, 0x2); - retval = request_irq(irq, it87_interrupt, 0 /*SA_INTERRUPT*/, + retval = request_irq(irq, it87_interrupt, 0 /*IRQF_DISABLED*/, LIRC_DRIVER_NAME, NULL); if (retval < 0) { printk(KERN_ERR LIRC_DRIVER_NAME --- drivers/lirc_serial/lirc_serial.c +++ drivers/lirc_serial/lirc_serial.c @@ -998,7 +998,7 @@ do_gettimeofday(&lasttv); result=request_irq(irq,irq_handler, - SA_INTERRUPT | (share_irq ? SA_SHIRQ:0), + IRQF_DISABLED | (share_irq ? IRQF_SHARED:0), LIRC_DRIVER_NAME,(void *)&hardware); switch(result) --- drivers/lirc_sir/lirc_sir.c +++ drivers/lirc_sir/lirc_sir.c @@ -1051,7 +1051,7 @@ return -EBUSY; } #endif - retval = request_irq(irq, sir_interrupt, SA_INTERRUPT, + retval = request_irq(irq, sir_interrupt, IRQF_DISABLED, LIRC_DRIVER_NAME, NULL); if (retval < 0) { # ifndef LIRC_ON_SA1100