diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2012-07-03 20:49:35 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-07-17 05:05:45 +0400 |
commit | a4232963757e62b3b97bbba07cb92c6d448f6f4b (patch) | |
tree | bf91e17c13821f4463fbae1dc04be0b5e4f9fe7d /include | |
parent | 8153584e3fdf78753bf653d5f583b6ecb86e5e70 (diff) | |
download | linux-a4232963757e62b3b97bbba07cb92c6d448f6f4b.tar.xz |
driver-core: Move kobj_to_dev from genhd.h to device.h
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>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/device.h | 5 | ||||
-rw-r--r-- | include/linux/genhd.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/device.h b/include/linux/device.h index 161d96241b1b..5c4495c8fe3f 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -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> diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 017a7fb5a1fc..ae0aaa9d42fa 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -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) |