| From linux-wireless-owner@vger.kernel.org Sat Dec 3 09:49:42 2011 |
| From: Hauke Mehrtens <hauke@hauke-m.de> |
| To: mcgrof@gmail.com, mcgrof@qca.qualcomm.com |
| Cc: linux-wireless@vger.kernel.org, Hauke Mehrtens <hauke@hauke-m.de> |
| Subject: [PATCH 2/2] compat: add module_usb_driver and module_platform_driver |
| Date: Sat, 3 Dec 2011 15:49:26 +0100 |
| Message-Id: <1322923766-14379-2-git-send-email-hauke@hauke-m.de> |
| |
| |
| Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> |
| |
| include/linux/compat-3.2.h | 9 +++++++++ |
| include/linux/compat-3.3.h | 35 +++++++++++++++++++++++++++++++++++ |
| 2 files changed, 44 insertions(+), 0 deletions(-) |
| |
| diff --git a/include/linux/compat-3.2.h b/include/linux/compat-3.2.h |
| index db0f648..fb9ef68 100644 |
| |
| |
| @@ -55,6 +55,15 @@ static inline char *hex_byte_pack(char *buf, u8 byte) |
| return buf; |
| } |
| |
| +/* module_platform_driver() - Helper macro for drivers that don't do |
| + * anything special in module init/exit. This eliminates a lot of |
| + * boilerplate. Each module may only use this macro once, and |
| + * calling it replaces module_init() and module_exit() |
| + */ |
| +#define module_platform_driver(__platform_driver) \ |
| + module_driver(__platform_driver, platform_driver_register, \ |
| + platform_driver_unregister) |
| + |
| #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)) */ |
| |
| #endif /* LINUX_3_2_COMPAT_H */ |
| diff --git a/include/linux/compat-3.3.h b/include/linux/compat-3.3.h |
| index 9383a6e..821333c 100644 |
| |
| |
| @@ -33,6 +33,41 @@ static inline void skb_complete_wifi_ack(struct sk_buff *skb, bool acked) |
| |
| typedef u32 netdev_features_t; |
| |
| +/* source include/linux/device.h */ |
| +/** |
| + * module_driver() - Helper macro for drivers that don't do anything |
| + * special in module init/exit. This eliminates a lot of boilerplate. |
| + * Each module may only use this macro once, and calling it replaces |
| + * module_init() and module_exit(). |
| + * |
| + * Use this macro to construct bus specific macros for registering |
| + * drivers, and do not use it on its own. |
| + */ |
| +#define module_driver(__driver, __register, __unregister) \ |
| +static int __init __driver##_init(void) \ |
| +{ \ |
| + return __register(&(__driver)); \ |
| +} \ |
| +module_init(__driver##_init); \ |
| +static void __exit __driver##_exit(void) \ |
| +{ \ |
| + __unregister(&(__driver)); \ |
| +} \ |
| +module_exit(__driver##_exit); |
| + |
| +/* source include/linux/usb.h */ |
| +/** |
| + * module_usb_driver() - Helper macro for registering a USB driver |
| + * @__usb_driver: usb_driver struct |
| + * |
| + * Helper macro for USB drivers which do not do anything special in module |
| + * init/exit. This eliminates a lot of boilerplate. Each module may only |
| + * use this macro once, and calling it replaces module_init() and module_exit() |
| + */ |
| +#define module_usb_driver(__usb_driver) \ |
| + module_driver(__usb_driver, usb_register, \ |
| + usb_deregister) |
| + |
| #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0)) */ |
| |
| #endif /* LINUX_3_3_COMPAT_H */ |
| -- |
| 1.7.5.4 |
| |
| -- |
| To unsubscribe from this list: send the line "unsubscribe linux-wireless" in |
| the body of a message to majordomo@vger.kernel.org |
| More majordomo info at http://vger.kernel.org/majordomo-info.html |
| |
| |