Skip to content

Commit caddca3

Browse files
bbkzzdtor
authored andcommitted
Input: amikbd - convert to use devm_* api
Use devm_* api to simplify code, this makes it unnecessary to explicitly release resources. Signed-off-by: Yangtao Li <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
1 parent 2b6aa9e commit caddca3

File tree

1 file changed

+5
-20
lines changed

1 file changed

+5
-20
lines changed

drivers/input/keyboard/amikbd.c

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ static int __init amikbd_probe(struct platform_device *pdev)
196196
struct input_dev *dev;
197197
int i, err;
198198

199-
dev = input_allocate_device();
199+
dev = devm_input_allocate_device(&pdev->dev);
200200
if (!dev) {
201201
dev_err(&pdev->dev, "Not enough memory for input device\n");
202202
return -ENOMEM;
@@ -208,7 +208,6 @@ static int __init amikbd_probe(struct platform_device *pdev)
208208
dev->id.vendor = 0x0001;
209209
dev->id.product = 0x0001;
210210
dev->id.version = 0x0100;
211-
dev->dev.parent = &pdev->dev;
212211

213212
dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
214213

@@ -218,35 +217,21 @@ static int __init amikbd_probe(struct platform_device *pdev)
218217
amikbd_init_console_keymaps();
219218

220219
ciaa.cra &= ~0x41; /* serial data in, turn off TA */
221-
err = request_irq(IRQ_AMIGA_CIAA_SP, amikbd_interrupt, 0, "amikbd",
222-
dev);
220+
err = devm_request_irq(&pdev->dev, IRQ_AMIGA_CIAA_SP, amikbd_interrupt,
221+
0, "amikbd", dev);
223222
if (err)
224-
goto fail2;
223+
return err;
225224

226225
err = input_register_device(dev);
227226
if (err)
228-
goto fail3;
227+
return err;
229228

230229
platform_set_drvdata(pdev, dev);
231230

232231
return 0;
233-
234-
fail3: free_irq(IRQ_AMIGA_CIAA_SP, dev);
235-
fail2: input_free_device(dev);
236-
return err;
237-
}
238-
239-
static int __exit amikbd_remove(struct platform_device *pdev)
240-
{
241-
struct input_dev *dev = platform_get_drvdata(pdev);
242-
243-
free_irq(IRQ_AMIGA_CIAA_SP, dev);
244-
input_unregister_device(dev);
245-
return 0;
246232
}
247233

248234
static struct platform_driver amikbd_driver = {
249-
.remove = __exit_p(amikbd_remove),
250235
.driver = {
251236
.name = "amiga-keyboard",
252237
},

0 commit comments

Comments
 (0)