Skip to content

Commit

Permalink
Input: misc - use platform_{get,set}_drvdata()
Browse files Browse the repository at this point in the history
Use the wrapper functions for getting and setting the driver data using
platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev,
so we can directly pass a struct platform_device.

Also, unnecessary dev_set_drvdata() is removed, because the driver core
clears the driver data to NULL after device_release or on probe failure.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
  • Loading branch information
Jingoo Han authored and Dmitry Torokhov committed May 23, 2013
1 parent d520145 commit 35c4b12
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 14 deletions.
7 changes: 2 additions & 5 deletions drivers/input/misc/sgi_btns.c
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ static int sgi_buttons_probe(struct platform_device *pdev)
__clear_bit(KEY_RESERVED, input->keybit);

bdev->poll_dev = poll_dev;
dev_set_drvdata(&pdev->dev, bdev);
platform_set_drvdata(pdev, bdev);

error = input_register_polled_device(poll_dev);
if (error)
Expand All @@ -139,19 +139,16 @@ static int sgi_buttons_probe(struct platform_device *pdev)
err_free_mem:
input_free_polled_device(poll_dev);
kfree(bdev);
dev_set_drvdata(&pdev->dev, NULL);
return error;
}

static int sgi_buttons_remove(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct buttons_dev *bdev = dev_get_drvdata(dev);
struct buttons_dev *bdev = platform_get_drvdata(pdev);

input_unregister_polled_device(bdev->poll_dev);
input_free_polled_device(bdev->poll_dev);
kfree(bdev);
dev_set_drvdata(dev, NULL);

return 0;
}
Expand Down
14 changes: 5 additions & 9 deletions drivers/input/misc/sparcspkr.c
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ static int sparcspkr_probe(struct device *dev)

static void sparcspkr_shutdown(struct platform_device *dev)
{
struct sparcspkr_state *state = dev_get_drvdata(&dev->dev);
struct sparcspkr_state *state = platform_get_drvdata(dev);
struct input_dev *input_dev = state->input_dev;

/* turn off the speaker */
Expand Down Expand Up @@ -211,7 +211,7 @@ static int bbc_beep_probe(struct platform_device *op)
if (!info->regs)
goto out_free;

dev_set_drvdata(&op->dev, state);
platform_set_drvdata(op, state);

err = sparcspkr_probe(&op->dev);
if (err)
Expand All @@ -220,7 +220,6 @@ static int bbc_beep_probe(struct platform_device *op)
return 0;

out_clear_drvdata:
dev_set_drvdata(&op->dev, NULL);
of_iounmap(&op->resource[0], info->regs, 6);

out_free:
Expand All @@ -231,7 +230,7 @@ static int bbc_beep_probe(struct platform_device *op)

static int bbc_remove(struct platform_device *op)
{
struct sparcspkr_state *state = dev_get_drvdata(&op->dev);
struct sparcspkr_state *state = platform_get_drvdata(op);
struct input_dev *input_dev = state->input_dev;
struct bbc_beep_info *info = &state->u.bbc;

Expand All @@ -242,7 +241,6 @@ static int bbc_remove(struct platform_device *op)

of_iounmap(&op->resource[0], info->regs, 6);

dev_set_drvdata(&op->dev, NULL);
kfree(state);

return 0;
Expand Down Expand Up @@ -290,7 +288,7 @@ static int grover_beep_probe(struct platform_device *op)
if (!info->enable_reg)
goto out_unmap_freq_regs;

dev_set_drvdata(&op->dev, state);
platform_set_drvdata(op, state);

err = sparcspkr_probe(&op->dev);
if (err)
Expand All @@ -299,7 +297,6 @@ static int grover_beep_probe(struct platform_device *op)
return 0;

out_clear_drvdata:
dev_set_drvdata(&op->dev, NULL);
of_iounmap(&op->resource[3], info->enable_reg, 1);

out_unmap_freq_regs:
Expand All @@ -312,7 +309,7 @@ static int grover_beep_probe(struct platform_device *op)

static int grover_remove(struct platform_device *op)
{
struct sparcspkr_state *state = dev_get_drvdata(&op->dev);
struct sparcspkr_state *state = platform_get_drvdata(op);
struct grover_beep_info *info = &state->u.grover;
struct input_dev *input_dev = state->input_dev;

Expand All @@ -324,7 +321,6 @@ static int grover_remove(struct platform_device *op)
of_iounmap(&op->resource[3], info->enable_reg, 1);
of_iounmap(&op->resource[2], info->freq_regs, 2);

dev_set_drvdata(&op->dev, NULL);
kfree(state);

return 0;
Expand Down

0 comments on commit 35c4b12

Please sign in to comment.