Messages in this thread Patch in this message | | | From | Marc Kleine-Budde <> | Subject | [PATCH 2/2] Driver core: add typechecking to platform_{get,set}_drvdata | Date | Wed, 16 Feb 2011 22:55:51 +0100 |
| |
Use the previously introduced BUILD_BUG_ON_NOT_SAME_TYPE to check if the dev argument is a struct platform_device pointer.
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> --- include/linux/platform_device.h | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h index 2e700ec..761a917 100644 --- a/include/linux/platform_device.h +++ b/include/linux/platform_device.h @@ -130,8 +130,14 @@ extern void platform_driver_unregister(struct platform_driver *); extern int platform_driver_probe(struct platform_driver *driver, int (*probe)(struct platform_device *)); -#define platform_get_drvdata(_dev) dev_get_drvdata(&(_dev)->dev) -#define platform_set_drvdata(_dev,data) dev_set_drvdata(&(_dev)->dev, (data)) +#define platform_get_drvdata(_dev) ({ \ + BUILD_BUG_ON_NOT_SAME_TYPE((_dev), (struct platform_device *)NULL); \ + dev_get_drvdata(&(_dev)->dev); \ +}) +#define platform_set_drvdata(_dev,data) ({ \ + BUILD_BUG_ON_NOT_SAME_TYPE((_dev), (struct platform_device *)NULL); \ + dev_set_drvdata(&(_dev)->dev, (data)); \ +}) extern struct platform_device *platform_create_bundle(struct platform_driver *driver, int (*probe)(struct platform_device *), -- 1.7.2.3
| |