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

staging: nvec: Convert to use devm_input_allocate

nvec_kbd is converted to use devm_input_allocate.
This simplifies error handling and remove path.

Signed-off-by: Leon Romanovsky <leon@leon.nu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Leon Romanovsky and committed by
Greg Kroah-Hartman
167bf09e 5e763f7b

+2 -8
+2 -8
drivers/staging/nvec/nvec_kbd.c
··· 126 126 for (i = 0; i < ARRAY_SIZE(extcode_tab_us102); ++i) 127 127 keycodes[j++] = extcode_tab_us102[i]; 128 128 129 - idev = input_allocate_device(); 129 + idev = devm_input_allocate_device(&pdev->dev); 130 130 idev->name = "nvec keyboard"; 131 131 idev->phys = "nvec"; 132 132 idev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP) | BIT_MASK(EV_LED); ··· 142 142 clear_bit(0, idev->keybit); 143 143 err = input_register_device(idev); 144 144 if (err) 145 - goto fail; 145 + return err; 146 146 147 147 keys_dev.input = idev; 148 148 keys_dev.notifier.notifier_call = nvec_keys_notifier; ··· 161 161 nvec_write_async(nvec, clear_leds, sizeof(clear_leds)); 162 162 163 163 return 0; 164 - 165 - fail: 166 - input_free_device(idev); 167 - return err; 168 164 } 169 165 170 166 static int nvec_kbd_remove(struct platform_device *pdev) ··· 172 176 nvec_write_async(nvec, uncnfg_wake_key_reporting, 3); 173 177 nvec_write_async(nvec, disable_kbd, 2); 174 178 nvec_unregister_notifier(nvec, &keys_dev.notifier); 175 - 176 - input_unregister_device(keys_dev.input); 177 179 178 180 return 0; 179 181 }