OSDN Git Service

Input: misc - use platform_{get,set}_drvdata()
authorJingoo Han <jg1.han@samsung.com>
Thu, 23 May 2013 16:20:21 +0000 (09:20 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 23 May 2013 16:34:13 +0000 (09:34 -0700)
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>
drivers/input/misc/sgi_btns.c
drivers/input/misc/sparcspkr.c

index ad6415c..95cf299 100644 (file)
@@ -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)
@@ -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;
 }
index a53586a..65fd315 100644 (file)
@@ -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 */
@@ -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)
@@ -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:
@@ -231,7 +230,7 @@ out_err:
 
 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;
 
@@ -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;
@@ -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)
@@ -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:
@@ -312,7 +309,7 @@ out_err:
 
 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;
 
@@ -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;