Input: pwm-beeper - remove calls to legacy pwm_request API
Subsystems (2)
Dmitry Torokhov
maintainerPATCH 1/3 Input: pwm-beeper - remove calls to legacy pwm_request API
There are no more users of pwm-beeper driver in mainline relying on this legacy API, so let's remove it and simplify the driver code.
--- drivers/input/misc/pwm-beeper.c | 6 ------ 1 file changed, 6 deletions(-)
drivers/input/misc/pwm-beeper.c +0 -6
@@ -95,7 +95,6 @@ static void pwm_beeper_close(struct input_dev *input)static int pwm_beeper_probe (struct platform_device *pdev) { -unsigned long pwm_id = (unsigned long )dev_get_platdata (&pdev->dev);struct pwm_beeper *beeper;int error;
@@ -105,11 +104,6 @@ static int pwm_beeper_probe(struct platform_device *pdev) beeper->pwm =pwm_get (&pdev->dev,NULL );if (IS_ERR (beeper->pwm)) { -dev_dbg (&pdev->dev,"unable to request PWM, trying legacy API\n" ); - beeper->pwm =pwm_request (pwm_id,"pwm beeper" ); - } - -if (IS_ERR (beeper->pwm)) { error =PTR_ERR (beeper->pwm);dev_err (&pdev->dev,"Failed to request pwm device: %d\n" , error); goto err_free;
Signature · 1 line
2.11.0.390.gc69c2f50cf-goog
Dmitry Torokhov
maintainerPATCH 2/3 Input: pwm-beeper - switch to using managed resources
e of managed resources (devm) simplifies error handling and teardown of the driver.
--- drivers/input/misc/pwm-beeper.c | 44 ++++++++++------------------------------- 1 file changed, 10 insertions(+), 34 deletions(-)
drivers/input/misc/pwm-beeper.c +10 -34
@@ -95,18 +95,19 @@ static void pwm_beeper_close(struct input_dev *input)static int pwm_beeper_probe (struct platform_device *pdev) { +struct device *dev = &pdev->dev;struct pwm_beeper *beeper;int error; - beeper =kzalloc (sizeof (*beeper),GFP_KERNEL ); + beeper =devm_kzalloc (dev,sizeof (*beeper),GFP_KERNEL );if (!beeper)return -ENOMEM ; - beeper->pwm =pwm_get (&pdev->dev,NULL ); + beeper->pwm =devm_pwm_get (dev,NULL );if (IS_ERR (beeper->pwm)) { error =PTR_ERR (beeper->pwm); -dev_err (&pdev->dev,"Failed to request pwm device: %d\n" , error); - goto err_free; +dev_err (dev,"Failed to request pwm device: %d\n" , error); +return error; }/*
@@ -117,13 +118,11 @@ static int pwm_beeper_probe(struct platform_device *pdev)INIT_WORK (&beeper->work, pwm_beeper_work); - beeper->input =input_allocate_device (); + beeper->input =devm_input_allocate_device (dev);if (!beeper->input) { -dev_err (&pdev->dev,"Failed to allocate input device\n" ); - error = -ENOMEM ; - goto err_pwm_free; +dev_err (dev,"Failed to allocate input device\n" ); +return -ENOMEM ; } - beeper->input->dev.parent = &pdev->dev; beeper->input->name ="pwm-beeper" ; beeper->input->phys ="pwm/input0" ;
@@ -142,35 +141,13 @@ static int pwm_beeper_probe(struct platform_device *pdev) error =input_register_device (beeper->input);if (error) { -dev_err (&pdev->dev,"Failed to register input device: %d\n" , error); - goto err_input_free; +dev_err (dev,"Failed to register input device: %d\n" , error); +return error; }platform_set_drvdata (pdev, beeper);return 0 ; - -err_input_free: -input_free_device (beeper->input); -err_pwm_free: -pwm_free (beeper->pwm); -err_free: -kfree (beeper); - -return error; -} - -static int pwm_beeper_remove (struct platform_device *pdev) -{ -struct pwm_beeper *beeper =platform_get_drvdata (pdev); - -input_unregister_device (beeper->input); - -pwm_free (beeper->pwm); - -kfree (beeper); - -return 0 ; }static int __maybe_unused pwm_beeper_suspend (struct device *dev)
@@ -205,7 +182,6 @@ MODULE_DEVICE_TABLE(of, pwm_beeper_match);static struct platform_driver pwm_beeper_driver = { .probe = pwm_beeper_probe, - .remove = pwm_beeper_remove, .driver = { .name ="pwm-beeper" , .pm = &pwm_beeper_pm_ops,
Signature · 1 line
2.11.0.390.gc69c2f50cf-goog
Re: [PATCH 2/3] Input: pwm-beeper - switch to using managed resources
Quoted 1 line · Dmitry Torokhov
e of managed resources (devm) simplifies error handling and teardown
^
Looks like the commit message got cut off.
Quoted 2 lines
of the driver.
Dmitry Torokhov
maintainerPATCH 3/3 Input: pwm-beeper - use input_set_capability()
In reply to Dmitry TorokhovInstead of manipulating capability bits directly, let's use input_set_capability() API.
--- drivers/input/misc/pwm-beeper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/input/misc/pwm-beeper.c +2 -2
@@ -131,8 +131,8 @@ static int pwm_beeper_probe(struct platform_device *pdev) beeper->input->id.product =0x0001 ; beeper->input->id.version =0x0100 ; - beeper->input->evbit[0 ] =BIT (EV_SND ); - beeper->input->sndbit[0 ] =BIT (SND_TONE ) |BIT (SND_BELL ); +inptut_set_capability (beeper->input,EV_SND ,SND_TONE ); +inptut_set_capability (beeper->input,EV_SND ,SND_BELL ); beeper->input->event = pwm_beeper_event; beeper->input->close = pwm_beeper_close;
Signature · 1 line
2.11.0.390.gc69c2f50cf-goog
Dmitry Torokhov
maintainerPATCH v2 3/3 Input: pwm-beeper - use input_set_capability()
Instead of manipulating capability bits directly, let's use input_set_capability() API.
--- drivers/input/misc/pwm-beeper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/input/misc/pwm-beeper.c +2 -2
@@ -131,8 +131,8 @@ static int pwm_beeper_probe(struct platform_device *pdev) beeper->input->id.product =0x0001 ; beeper->input->id.version =0x0100 ; - beeper->input->evbit[0 ] =BIT (EV_SND ); - beeper->input->sndbit[0 ] =BIT (SND_TONE ) |BIT (SND_BELL ); +input_set_capability (beeper->input,EV_SND ,SND_TONE ); +input_set_capability (beeper->input,EV_SND ,SND_BELL ); beeper->input->event = pwm_beeper_event; beeper->input->close = pwm_beeper_close;
Signature · 1 line
2.11.0.390.gc69c2f50cf-goog