Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Input: jornada720_kbd - switch to devm_* APIs

Switch the jornada720_kbd driver to use the devm_* APIs. This is in
preparation to removing the mach/irqs.h include from this driver.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

authored by

Russell King and committed by
Dmitry Torokhov
a8a7bdc5 3f5c5920

+8 -35
+8 -35
drivers/input/keyboard/jornada720_kbd.c
··· 99 99 struct input_dev *input_dev; 100 100 int i, err; 101 101 102 - jornadakbd = kzalloc(sizeof(struct jornadakbd), GFP_KERNEL); 103 - input_dev = input_allocate_device(); 104 - if (!jornadakbd || !input_dev) { 105 - err = -ENOMEM; 106 - goto fail1; 107 - } 102 + jornadakbd = devm_kzalloc(&pdev->dev, sizeof(*jornadakbd), GFP_KERNEL); 103 + input_dev = devm_input_allocate_device(&pdev->dev); 104 + if (!jornadakbd || !input_dev) 105 + return -ENOMEM; 108 106 109 107 platform_set_drvdata(pdev, jornadakbd); 110 108 ··· 125 127 126 128 input_set_capability(input_dev, EV_MSC, MSC_SCAN); 127 129 128 - err = request_irq(IRQ_GPIO0, 129 - jornada720_kbd_interrupt, 130 - IRQF_TRIGGER_FALLING, 131 - "jornadakbd", pdev); 130 + err = devm_request_irq(&pdev->dev, IRQ_GPIO0, jornada720_kbd_interrupt, 131 + IRQF_TRIGGER_FALLING, "jornadakbd", pdev); 132 132 if (err) { 133 133 printk(KERN_INFO "jornadakbd720_kbd: Unable to grab IRQ\n"); 134 - goto fail1; 134 + return err; 135 135 } 136 136 137 - err = input_register_device(jornadakbd->input); 138 - if (err) 139 - goto fail2; 140 - 141 - return 0; 142 - 143 - fail2: /* IRQ, DEVICE, MEMORY */ 144 - free_irq(IRQ_GPIO0, pdev); 145 - fail1: /* DEVICE, MEMORY */ 146 - input_free_device(input_dev); 147 - kfree(jornadakbd); 148 - return err; 137 + return input_register_device(jornadakbd->input); 149 138 }; 150 - 151 - static int jornada720_kbd_remove(struct platform_device *pdev) 152 - { 153 - struct jornadakbd *jornadakbd = platform_get_drvdata(pdev); 154 - 155 - free_irq(IRQ_GPIO0, pdev); 156 - input_unregister_device(jornadakbd->input); 157 - kfree(jornadakbd); 158 - 159 - return 0; 160 - } 161 139 162 140 /* work with hotplug and coldplug */ 163 141 MODULE_ALIAS("platform:jornada720_kbd"); ··· 143 169 .name = "jornada720_kbd", 144 170 }, 145 171 .probe = jornada720_kbd_probe, 146 - .remove = jornada720_kbd_remove, 147 172 }; 148 173 module_platform_driver(jornada720_kbd_driver);