if(request_irq(mk712_irq, mk712_interrupt, 0, "mk712", &mk712_dev)) { printk(KERN_WARNING "mk712: unable to get IRQ\n"); release_region(mk712_io, 8); return -EBUSY;
if (!(mk712_dev = input_allocate_device())) { printk(KERN_ERR "mk712: not enough memory\n"); err = -ENOMEM; goto fail;
int __init mk712_init(void){	if(!request_region(mk712_io, 8, "mk712"))	{		printk(KERN_WARNING "mk712: unable to get IO region\n");		return -ENODEV;	}	outb(0, mk712_io + MK712_CONTROL);	if ((inw(mk712_io + MK712_X) & 0xf000) ||	/* Sanity check */	    (inw(mk712_io + MK712_Y) & 0xf000) ||	    (inw(mk712_io + MK712_STATUS) & 0xf333)) {		printk(KERN_WARNING "mk712: device not present\n");		release_region(mk712_io, 8);		return -ENODEV;	}	if(request_irq(mk712_irq, mk712_interrupt, 0, "mk712", &mk712_dev))	{		printk(KERN_WARNING "mk712: unable to get IRQ\n");		release_region(mk712_io, 8);		return -EBUSY;	}	input_register_device(&mk712_dev);	printk(KERN_INFO "input: ICS MicroClock MK712 TouchScreen at %#x irq %d\n", mk712_io, mk712_irq);	return 0;}