mirror of https://gitee.com/openkylin/linux.git
Input: rb532_button - switch to using managed resources
Using devm API allows us to clean up error handling paths and drop the remove() method. Link: https://lore.kernel.org/r/20191017204217.106453-16-dmitry.torokhov@gmail.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
aede7a1e0c
commit
528c7d02c7
|
@ -58,7 +58,7 @@ static int rb532_button_probe(struct platform_device *pdev)
|
|||
struct input_polled_dev *poll_dev;
|
||||
int error;
|
||||
|
||||
poll_dev = input_allocate_polled_device();
|
||||
poll_dev = devm_input_allocate_polled_device(&pdev->dev);
|
||||
if (!poll_dev)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -68,34 +68,18 @@ static int rb532_button_probe(struct platform_device *pdev)
|
|||
poll_dev->input->name = "rb532 button";
|
||||
poll_dev->input->phys = "rb532/button0";
|
||||
poll_dev->input->id.bustype = BUS_HOST;
|
||||
poll_dev->input->dev.parent = &pdev->dev;
|
||||
|
||||
dev_set_drvdata(&pdev->dev, poll_dev);
|
||||
|
||||
input_set_capability(poll_dev->input, EV_KEY, RB532_BTN_KSYM);
|
||||
|
||||
error = input_register_polled_device(poll_dev);
|
||||
if (error) {
|
||||
input_free_polled_device(poll_dev);
|
||||
if (error)
|
||||
return error;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rb532_button_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct input_polled_dev *poll_dev = dev_get_drvdata(&pdev->dev);
|
||||
|
||||
input_unregister_polled_device(poll_dev);
|
||||
input_free_polled_device(poll_dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver rb532_button_driver = {
|
||||
.probe = rb532_button_probe,
|
||||
.remove = rb532_button_remove,
|
||||
.driver = {
|
||||
.name = DRV_NAME,
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue