pxa27x_keypad.c (c8712a53671aef12a8b6b3ec4e942ef4f92bc17e) pxa27x_keypad.c (8c7f5f5833815af06872bd6151604e0e18e24c99)
1/*
2 * linux/drivers/input/keyboard/pxa27x_keypad.c
3 *
4 * Driver for the pxa27x matrix keyboard controller.
5 *
6 * Created: Feb 22, 2007
7 * Author: Rodolfo Giometti <giometti@linux.it>
8 *

--- 568 unchanged lines hidden (view full) ---

577 }
578
579 platform_set_drvdata(pdev, keypad);
580 device_init_wakeup(&pdev->dev, 1);
581
582 return 0;
583
584failed_free_irq:
1/*
2 * linux/drivers/input/keyboard/pxa27x_keypad.c
3 *
4 * Driver for the pxa27x matrix keyboard controller.
5 *
6 * Created: Feb 22, 2007
7 * Author: Rodolfo Giometti <giometti@linux.it>
8 *

--- 568 unchanged lines hidden (view full) ---

577 }
578
579 platform_set_drvdata(pdev, keypad);
580 device_init_wakeup(&pdev->dev, 1);
581
582 return 0;
583
584failed_free_irq:
585 free_irq(irq, pdev);
585 free_irq(irq, keypad);
586failed_put_clk:
587 clk_put(keypad->clk);
588failed_free_io:
589 iounmap(keypad->mmio_base);
590failed_free_mem:
591 release_mem_region(res->start, resource_size(res));
592failed_free:
593 input_free_device(input_dev);
594 kfree(keypad);
595 return error;
596}
597
598static int pxa27x_keypad_remove(struct platform_device *pdev)
599{
600 struct pxa27x_keypad *keypad = platform_get_drvdata(pdev);
601 struct resource *res;
602
586failed_put_clk:
587 clk_put(keypad->clk);
588failed_free_io:
589 iounmap(keypad->mmio_base);
590failed_free_mem:
591 release_mem_region(res->start, resource_size(res));
592failed_free:
593 input_free_device(input_dev);
594 kfree(keypad);
595 return error;
596}
597
598static int pxa27x_keypad_remove(struct platform_device *pdev)
599{
600 struct pxa27x_keypad *keypad = platform_get_drvdata(pdev);
601 struct resource *res;
602
603 free_irq(keypad->irq, pdev);
603 free_irq(keypad->irq, keypad);
604 clk_put(keypad->clk);
605
606 input_unregister_device(keypad->input_dev);
607 iounmap(keypad->mmio_base);
608
609 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
610 release_mem_region(res->start, resource_size(res));
611

--- 23 unchanged lines hidden ---
604 clk_put(keypad->clk);
605
606 input_unregister_device(keypad->input_dev);
607 iounmap(keypad->mmio_base);
608
609 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
610 release_mem_region(res->start, resource_size(res));
611

--- 23 unchanged lines hidden ---