]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
driver-core: Move kobj_to_dev from genhd.h to device.h
authorLars-Peter Clausen <lars@metafoo.de>
Tue, 3 Jul 2012 16:49:35 +0000 (18:49 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Jul 2012 01:05:45 +0000 (18:05 -0700)
This function is not really specific to the genhd layer and there are various
re-implementations or open-coded variants of it all throughout the kernel. To
avoid further duplications move the function to a more generic place.

While moving also convert it from a macro to a inline function.

Potential users of this function can be detected and converted using the
following coccinelle patch:

// <smpl>
@@
expression k;
@@
-container_of(k, struct device, kobj)
+kobj_to_dev(kobj)
// </smpl>

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/device.h
include/linux/genhd.h

index 161d96241b1b4da3b9a0909749709a33bcca33c5..5c4495c8fe3facdf11a03d6cea379236e146f108 100644 (file)
@@ -689,6 +689,11 @@ struct device {
        void    (*release)(struct device *dev);
 };
 
+static inline struct device *kobj_to_dev(struct kobject *kobj)
+{
+       return container_of(kobj, struct device, kobj);
+}
+
 /* Get the wakeup routines, which depend on struct device */
 #include <linux/pm_wakeup.h>
 
index 017a7fb5a1fcb7ea3a2e9e5e3d2116be6bf26922..ae0aaa9d42faacf9d250ae509a93947fc1d06424 100644 (file)
@@ -16,7 +16,6 @@
 
 #ifdef CONFIG_BLOCK
 
-#define kobj_to_dev(k)         container_of((k), struct device, kobj)
 #define dev_to_disk(device)    container_of((device), struct gendisk, part0.__dev)
 #define dev_to_part(device)    container_of((device), struct hd_struct, __dev)
 #define disk_to_dev(disk)      (&(disk)->part0.__dev)