.. | .. |
---|
267 | 267 | return ret; |
---|
268 | 268 | } |
---|
269 | 269 | |
---|
| 270 | +#define module_driver2(__driver, __register, __unregister, ...) \ |
---|
| 271 | +static int __init __driver##_init(void) \ |
---|
| 272 | +{ \ |
---|
| 273 | + return __register(&(__driver), ##__VA_ARGS__); \ |
---|
| 274 | +} \ |
---|
| 275 | +late_initcall(__driver##_init); \ |
---|
| 276 | +static void __exit __driver##_exit(void) \ |
---|
| 277 | +{ \ |
---|
| 278 | + __unregister(&(__driver), ##__VA_ARGS__); \ |
---|
| 279 | +} \ |
---|
| 280 | +module_exit(__driver##_exit); |
---|
| 281 | + |
---|
270 | 282 | /** |
---|
271 | 283 | * devm_alloc_percpu - Resource-managed alloc_percpu |
---|
272 | 284 | * @dev: Device to allocate per-cpu memory for |
---|