From: Jens Taprogge <[email protected]>

Make use of dev_set_drvdata() and dev_get_drvdata() to store and obtain
a pointer to the ipoctal struct corresponding to a struct dev.
Previously we relied on a private list of devices.

Signed-off-by: Jens Taprogge <[email protected]>
Signed-off-by: Samuel Iglesias Gonsalvez <[email protected]>
---
 drivers/staging/ipack/devices/ipoctal.c |   10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/ipack/devices/ipoctal.c 
b/drivers/staging/ipack/devices/ipoctal.c
index 8e61ebd..b84ab5e 100644
--- a/drivers/staging/ipack/devices/ipoctal.c
+++ b/drivers/staging/ipack/devices/ipoctal.c
@@ -725,6 +725,7 @@ static int ipoctal_probe(struct ipack_device *dev)
        if (res)
                goto out_uninst;
 
+       dev_set_drvdata(&dev->dev, ipoctal);
        list_add_tail(&ipoctal->list, &ipoctal_list);
        return 0;
 
@@ -751,14 +752,9 @@ static void __ipoctal_remove(struct ipoctal *ipoctal)
        kfree(ipoctal);
 }
 
-static void ipoctal_remove(struct ipack_device *device)
+static void ipoctal_remove(struct ipack_device *idev)
 {
-       struct ipoctal *ipoctal, *next;
-
-       list_for_each_entry_safe(ipoctal, next, &ipoctal_list, list) {
-               if (ipoctal->dev == device)
-                       __ipoctal_remove(ipoctal);
-       }
+       __ipoctal_remove(dev_get_drvdata(&idev->dev));
 }
 
 static DEFINE_IPACK_DEVICE_TABLE(ipoctal_ids) = {
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to