maple: Kill useless private_data pointer.
authorPaul Mundt <lethal@linux-sh.org>
Mon, 4 Aug 2008 01:58:24 +0000 (10:58 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 4 Aug 2008 01:58:24 +0000 (10:58 +0900)
We can simply wrap in to the dev_set/get_drvdata(), there's no reason
to track an extra level of private data on top of the struct device.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/input/keyboard/maple_keyb.c
drivers/sh/maple/maple.c
include/linux/maple.h

index 3f5151a..22f17a5 100644 (file)
@@ -139,7 +139,7 @@ static void dc_scan_kbd(struct dc_kbd *kbd)
 static void dc_kbd_callback(struct mapleq *mq)
 {
        struct maple_device *mapledev = mq->dev;
-       struct dc_kbd *kbd = mapledev->private_data;
+       struct dc_kbd *kbd = maple_get_drvdata(mapledev);
        unsigned long *buf = mq->recvbuf;
 
        /*
@@ -175,8 +175,6 @@ static int probe_maple_kbd(struct device *dev)
                goto fail;
        }
 
-       mdev->private_data = kbd;
-
        kbd->dev = idev;
        memcpy(kbd->keycode, dc_kbd_keycode, sizeof(kbd->keycode));
 
@@ -204,27 +202,30 @@ static int probe_maple_kbd(struct device *dev)
                MAPLE_FUNC_KEYBOARD);
 
        mdev->driver = mdrv;
+
+       maple_set_drvdata(mdev, kbd);
+
        return error;
 
 fail:
        input_free_device(idev);
        kfree(kbd);
-       mdev->private_data = NULL;
+       maple_set_drvdata(mdev, NULL);
        return error;
 }
 
 static int remove_maple_kbd(struct device *dev)
 {
        struct maple_device *mdev = to_maple_dev(dev);
-       struct dc_kbd *kbd;
+       struct dc_kbd *kbd = maple_get_drvdata(mdev);
 
        mutex_lock(&maple_keyb_mutex);
 
-       kbd = mdev->private_data;
-       mdev->private_data = NULL;
        input_unregister_device(kbd->dev);
        kfree(kbd);
 
+       maple_set_drvdata(mdev, NULL);
+
        mutex_unlock(&maple_keyb_mutex);
        return 0;
 }
index a6b4dc3..be77a39 100644 (file)
@@ -94,6 +94,7 @@ void maple_driver_unregister(struct maple_driver *drv)
 {
        driver_unregister(&drv->drv);
 }
+EXPORT_SYMBOL_GPL(maple_driver_unregister);
 
 /* set hardware registers to enable next round of dma */
 static void maplebus_dma_reset(void)
index b2b7ce0..c23d3f5 100644 (file)
@@ -51,7 +51,6 @@ struct maple_devinfo {
 struct maple_device {
        struct maple_driver *driver;
        struct mapleq *mq;
-       void *private_data;
        void (*callback) (struct mapleq * mq);
        unsigned long when, interval, function;
        struct maple_devinfo devinfo;
@@ -80,4 +79,7 @@ void maple_clear_dev(struct maple_device *mdev);
 #define to_maple_dev(n) container_of(n, struct maple_device, dev)
 #define to_maple_driver(n) container_of(n, struct maple_driver, drv)
 
+#define maple_get_drvdata(d)           dev_get_drvdata(&(d)->dev)
+#define maple_set_drvdata(d,p)         dev_set_drvdata(&(d)->dev, (p))
+
 #endif                         /* __LINUX_MAPLE_H */