Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

include: convert various register fcns to macros to avoid include chaining

The original implementations reference THIS_MODULE in an inline.
We could include <linux/export.h>, but it is better to avoid chaining.

Fortunately someone else already thought of this, and made a similar
inline into a #define in <linux/device.h> for device_schedule_callback(),
[see commit 523ded71de0] so follow that precedent here.

Also bubble up any __must_check that were used on the prev. wrapper inline
functions up one to the real __register functions, to preserve any prev.
sanity checks that were used in those instances.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

+57 -58
+3 -4
include/linux/bcma/bcma.h
··· 170 170 }; 171 171 extern 172 172 int __bcma_driver_register(struct bcma_driver *drv, struct module *owner); 173 - static inline int bcma_driver_register(struct bcma_driver *drv) 174 - { 175 - return __bcma_driver_register(drv, THIS_MODULE); 176 - } 173 + #define bcma_driver_register(drv) \ 174 + __bcma_driver_register(drv, THIS_MODULE) 175 + 177 176 extern void bcma_driver_unregister(struct bcma_driver *drv); 178 177 179 178 struct bcma_bus {
+8 -4
include/linux/device.h
··· 723 723 */ 724 724 extern struct device *__root_device_register(const char *name, 725 725 struct module *owner); 726 - static inline struct device *root_device_register(const char *name) 727 - { 728 - return __root_device_register(name, THIS_MODULE); 729 - } 726 + 727 + /* 728 + * This is a macro to avoid include problems with THIS_MODULE, 729 + * just as per what is done for device_schedule_callback() above. 730 + */ 731 + #define root_device_register(name) \ 732 + __root_device_register(name, THIS_MODULE) 733 + 730 734 extern void root_device_unregister(struct device *root); 731 735 732 736 static inline void *dev_get_platdata(const struct device *dev)
+8 -9
include/linux/gameport.h
··· 71 71 #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE)) 72 72 73 73 void __gameport_register_port(struct gameport *gameport, struct module *owner); 74 - static inline void gameport_register_port(struct gameport *gameport) 75 - { 76 - __gameport_register_port(gameport, THIS_MODULE); 77 - } 74 + /* use a define to avoid include chaining to get THIS_MODULE */ 75 + #define gameport_register_port(gameport) \ 76 + __gameport_register_port(gameport, THIS_MODULE) 78 77 79 78 void gameport_unregister_port(struct gameport *gameport); 80 79 ··· 144 145 mutex_unlock(&gameport->drv_mutex); 145 146 } 146 147 147 - int __gameport_register_driver(struct gameport_driver *drv, 148 + int __must_check __gameport_register_driver(struct gameport_driver *drv, 148 149 struct module *owner, const char *mod_name); 149 - static inline int __must_check gameport_register_driver(struct gameport_driver *drv) 150 - { 151 - return __gameport_register_driver(drv, THIS_MODULE, KBUILD_MODNAME); 152 - } 150 + 151 + /* use a define to avoid include chaining to get THIS_MODULE & friends */ 152 + #define gameport_register_driver(drv) \ 153 + __gameport_register_driver(drv, THIS_MODULE, KBUILD_MODNAME) 153 154 154 155 void gameport_unregister_driver(struct gameport_driver *drv); 155 156
+5 -4
include/linux/hid.h
··· 697 697 698 698 extern int __must_check __hid_register_driver(struct hid_driver *, 699 699 struct module *, const char *mod_name); 700 - static inline int __must_check hid_register_driver(struct hid_driver *driver) 701 - { 702 - return __hid_register_driver(driver, THIS_MODULE, KBUILD_MODNAME); 703 - } 700 + 701 + /* use a define to avoid include chaining to get THIS_MODULE & friends */ 702 + #define hid_register_driver(driver) \ 703 + __hid_register_driver(driver, THIS_MODULE, KBUILD_MODNAME) 704 + 704 705 extern void hid_unregister_driver(struct hid_driver *); 705 706 706 707 extern void hidinput_hid_event(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);
+3 -4
include/linux/i2c.h
··· 451 451 extern int i2c_register_driver(struct module *, struct i2c_driver *); 452 452 extern void i2c_del_driver(struct i2c_driver *); 453 453 454 - static inline int i2c_add_driver(struct i2c_driver *driver) 455 - { 456 - return i2c_register_driver(THIS_MODULE, driver); 457 - } 454 + /* use a define to avoid include chaining to get THIS_MODULE */ 455 + #define i2c_add_driver(driver) \ 456 + i2c_register_driver(THIS_MODULE, driver) 458 457 459 458 extern struct i2c_client *i2c_use_client(struct i2c_client *client); 460 459 extern void i2c_release_client(struct i2c_client *client);
+3 -7
include/linux/pci_hotplug.h
··· 132 132 extern int __must_check pci_hp_change_slot_info (struct hotplug_slot *slot, 133 133 struct hotplug_slot_info *info); 134 134 135 - static inline int pci_hp_register(struct hotplug_slot *slot, 136 - struct pci_bus *pbus, 137 - int devnr, const char *name) 138 - { 139 - return __pci_hp_register(slot, pbus, devnr, name, 140 - THIS_MODULE, KBUILD_MODNAME); 141 - } 135 + /* use a define to avoid include chaining to get THIS_MODULE & friends */ 136 + #define pci_hp_register(slot, pbus, devnr, name) \ 137 + __pci_hp_register(slot, pbus, devnr, name, THIS_MODULE, KBUILD_MODNAME) 142 138 143 139 /* PCI Setting Record (Type 0) */ 144 140 struct hpp_type0 {
+11 -9
include/linux/serio.h
··· 79 79 irqreturn_t serio_interrupt(struct serio *serio, unsigned char data, unsigned int flags); 80 80 81 81 void __serio_register_port(struct serio *serio, struct module *owner); 82 - static inline void serio_register_port(struct serio *serio) 83 - { 84 - __serio_register_port(serio, THIS_MODULE); 85 - } 82 + 83 + /* use a define to avoid include chaining to get THIS_MODULE */ 84 + #define serio_register_port(serio) \ 85 + __serio_register_port(serio, THIS_MODULE) 86 86 87 87 void serio_unregister_port(struct serio *serio); 88 88 void serio_unregister_child_port(struct serio *serio); 89 89 90 - int __serio_register_driver(struct serio_driver *drv, struct module *owner, const char *mod_name); 91 - static inline int __must_check serio_register_driver(struct serio_driver *drv) 92 - { 93 - return __serio_register_driver(drv, THIS_MODULE, KBUILD_MODNAME); 94 - } 90 + int __must_check __serio_register_driver(struct serio_driver *drv, 91 + struct module *owner, const char *mod_name); 92 + 93 + /* use a define to avoid include chaining to get THIS_MODULE & friends */ 94 + #define serio_register_driver(drv) \ 95 + __serio_register_driver(drv, THIS_MODULE, KBUILD_MODNAME) 96 + 95 97 void serio_unregister_driver(struct serio_driver *drv); 96 98 97 99 static inline int serio_write(struct serio *serio, unsigned char data)
+3 -4
include/linux/ssb/ssb.h
··· 231 231 #define drv_to_ssb_drv(_drv) container_of(_drv, struct ssb_driver, drv) 232 232 233 233 extern int __ssb_driver_register(struct ssb_driver *drv, struct module *owner); 234 - static inline int ssb_driver_register(struct ssb_driver *drv) 235 - { 236 - return __ssb_driver_register(drv, THIS_MODULE); 237 - } 234 + #define ssb_driver_register(drv) \ 235 + __ssb_driver_register(drv, THIS_MODULE) 236 + 238 237 extern void ssb_driver_unregister(struct ssb_driver *drv); 239 238 240 239
+5 -5
include/linux/uio_driver.h
··· 101 101 __uio_register_device(struct module *owner, 102 102 struct device *parent, 103 103 struct uio_info *info); 104 - static inline int __must_check 105 - uio_register_device(struct device *parent, struct uio_info *info) 106 - { 107 - return __uio_register_device(THIS_MODULE, parent, info); 108 - } 104 + 105 + /* use a define to avoid include chaining to get THIS_MODULE */ 106 + #define uio_register_device(parent, info) \ 107 + __uio_register_device(THIS_MODULE, parent, info) 108 + 109 109 extern void uio_unregister_device(struct uio_info *info); 110 110 extern void uio_event_notify(struct uio_info *info); 111 111
+5 -4
include/linux/usb.h
··· 946 946 */ 947 947 extern int usb_register_driver(struct usb_driver *, struct module *, 948 948 const char *); 949 - static inline int usb_register(struct usb_driver *driver) 950 - { 951 - return usb_register_driver(driver, THIS_MODULE, KBUILD_MODNAME); 952 - } 949 + 950 + /* use a define to avoid include chaining to get THIS_MODULE & friends */ 951 + #define usb_register(driver) \ 952 + usb_register_driver(driver, THIS_MODULE, KBUILD_MODNAME) 953 + 953 954 extern void usb_deregister(struct usb_driver *); 954 955 955 956 extern int usb_register_device_driver(struct usb_device_driver *,
+3 -4
include/linux/uwb/umc.h
··· 111 111 * umc_driver_register - register a UMC capabiltity driver. 112 112 * @umc_drv: pointer to the driver. 113 113 */ 114 - static inline int __must_check umc_driver_register(struct umc_driver *umc_drv) 115 - { 116 - return __umc_driver_register(umc_drv, THIS_MODULE, KBUILD_MODNAME); 117 - } 114 + #define umc_driver_register(umc_drv) \ 115 + __umc_driver_register(umc_drv, THIS_MODULE, KBUILD_MODNAME) 116 + 118 117 void umc_driver_unregister(struct umc_driver *umc_drv); 119 118 120 119 /*