diff options
author | Johannes Thumshirn <jthumshirn@suse.de> | 2016-08-26 09:34:59 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-08-31 13:16:24 +0200 |
commit | 68d9671a845e11c4eec1976876c1af5687a55279 (patch) | |
tree | 4e7b5afc87c0c64ba7858894ee3dd5dc77b152f9 | |
parent | ffc7bb3857e42acab131271e485735cbf673d0f0 (diff) | |
download | lwn-68d9671a845e11c4eec1976876c1af5687a55279.tar.gz lwn-68d9671a845e11c4eec1976876c1af5687a55279.zip |
mcb: Introduce type safety for to_mcb_*
The to_mcb_{bus,device,driver}() macros lacked type safety, so convert them to
inline functions to enforce compile time type checking.
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | include/linux/mcb.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/include/linux/mcb.h b/include/linux/mcb.h index ead13d233a97..a6733d3fe72b 100644 --- a/include/linux/mcb.h +++ b/include/linux/mcb.h @@ -41,7 +41,11 @@ struct mcb_bus { char name[CHAMELEON_FILENAME_LEN + 1]; int (*get_irq)(struct mcb_device *dev); }; -#define to_mcb_bus(b) container_of((b), struct mcb_bus, dev) + +static inline struct mcb_bus *to_mcb_bus(struct device *dev) +{ + return container_of(dev, struct mcb_bus, dev); +} /** * struct mcb_device - MEN Chameleon Bus device @@ -77,7 +81,11 @@ struct mcb_device { struct resource irq; struct resource mem; }; -#define to_mcb_device(x) container_of((x), struct mcb_device, dev) + +static inline struct mcb_device *to_mcb_device(struct device *dev) +{ + return container_of(dev, struct mcb_device, dev); +} /** * struct mcb_driver - MEN Chameleon Bus device driver @@ -95,7 +103,11 @@ struct mcb_driver { void (*remove)(struct mcb_device *mdev); void (*shutdown)(struct mcb_device *mdev); }; -#define to_mcb_driver(x) container_of((x), struct mcb_driver, driver) + +static inline struct mcb_driver *to_mcb_driver(struct device_driver *drv) +{ + return container_of(drv, struct mcb_driver, driver); +} static inline void *mcb_get_drvdata(struct mcb_device *dev) { |