Skip to content

Commit 7f9ce64

Browse files
sredtor
authored andcommitted
Input: twl4030-pwrbutton - simplify driver using devm_*
Use managed irq resource to simplify the driver. Signed-off-by: Sebastian Reichel <[email protected]> Reviewed-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
1 parent 0330f93 commit 7f9ce64

File tree

1 file changed

+4
-22
lines changed

1 file changed

+4
-22
lines changed

drivers/input/misc/twl4030-pwrbutton.c

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ static int twl4030_pwrbutton_probe(struct platform_device *pdev)
5858
int irq = platform_get_irq(pdev, 0);
5959
int err;
6060

61-
pwr = input_allocate_device();
61+
pwr = devm_input_allocate_device(&pdev->dev);
6262
if (!pwr) {
6363
dev_err(&pdev->dev, "Can't allocate power button\n");
6464
return -ENOMEM;
@@ -70,39 +70,22 @@ static int twl4030_pwrbutton_probe(struct platform_device *pdev)
7070
pwr->phys = "twl4030_pwrbutton/input0";
7171
pwr->dev.parent = &pdev->dev;
7272

73-
err = request_threaded_irq(irq, NULL, powerbutton_irq,
73+
err = devm_request_threaded_irq(&pwr->dev, irq, NULL, powerbutton_irq,
7474
IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
7575
"twl4030_pwrbutton", pwr);
7676
if (err < 0) {
7777
dev_err(&pdev->dev, "Can't get IRQ for pwrbutton: %d\n", err);
78-
goto free_input_dev;
78+
return err;
7979
}
8080

8181
err = input_register_device(pwr);
8282
if (err) {
8383
dev_err(&pdev->dev, "Can't register power button: %d\n", err);
84-
goto free_irq;
84+
return err;
8585
}
8686

8787
platform_set_drvdata(pdev, pwr);
8888

89-
return 0;
90-
91-
free_irq:
92-
free_irq(irq, pwr);
93-
free_input_dev:
94-
input_free_device(pwr);
95-
return err;
96-
}
97-
98-
static int __exit twl4030_pwrbutton_remove(struct platform_device *pdev)
99-
{
100-
struct input_dev *pwr = platform_get_drvdata(pdev);
101-
int irq = platform_get_irq(pdev, 0);
102-
103-
free_irq(irq, pwr);
104-
input_unregister_device(pwr);
105-
10689
return 0;
10790
}
10891

@@ -116,7 +99,6 @@ MODULE_DEVICE_TABLE(of, twl4030_pwrbutton_dt_match_table);
11699

117100
static struct platform_driver twl4030_pwrbutton_driver = {
118101
.probe = twl4030_pwrbutton_probe,
119-
.remove = __exit_p(twl4030_pwrbutton_remove),
120102
.driver = {
121103
.name = "twl4030_pwrbutton",
122104
.owner = THIS_MODULE,

0 commit comments

Comments
 (0)