[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1341334176-8801-1-git-send-email-lars@metafoo.de>
Date: Tue, 3 Jul 2012 18:49:35 +0200
From: Lars-Peter Clausen <lars@...afoo.de>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-kernel@...r.kernel.org, Lars-Peter Clausen <lars@...afoo.de>
Subject: [PATCH 1/2] 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@...afoo.de>
---
include/linux/device.h | 5 +++++
include/linux/genhd.h | 1 -
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/include/linux/device.h b/include/linux/device.h
index 161d962..5c4495c 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 017a7fb..ae0aaa9 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)
--
1.7.10
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists