void __exit cleanup_module(void) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18) lirc_serial_exit(); #endif #if defined(LIRC_ALLOW_MMAPPED_IO) if(iommap != 0) { release_mem_region(iommap, 8<<ioshift); } else { release_region(io, 8); } #else release_region(io, 8); #endif lirc_unregister_plugin(plugin.minor); dprintk("cleaned up module\n"); }
static int lirc_serial_resume(struct platform_device *dev) { unsigned long flags; if (hardware_init_port() < 0) { lirc_serial_exit(); return -EINVAL; } spin_lock_irqsave(&hardware[type].lock, flags); /* Enable Interrupt */ do_gettimeofday(&lasttv); soutp(UART_IER, sinp(UART_IER)|UART_IER_MSI); off(); lirc_buffer_clear(&rbuf); spin_unlock_irqrestore(&hardware[type].lock, flags); return 0; }