diff options
| author | Len Brown <len.brown@intel.com> | 2012-04-06 21:48:59 -0400 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2012-04-06 21:48:59 -0400 |
| commit | eeaab2d8af2cf1d36d7086f22e9de42d6dd2995c (patch) | |
| tree | 369b9c91a6d808944f07d2290fec6f9fe2731904 /include/linux/module.h | |
| parent | ee01e663373343c63e0e3d364d09f6155378dbcc (diff) | |
| parent | aaef292acf3a78d9c0bb6fb72226077d286b45d7 (diff) | |
Merge branches 'idle-fix' and 'misc' into release
Diffstat (limited to 'include/linux/module.h')
| -rw-r--r-- | include/linux/module.h | 32 |
1 files changed, 4 insertions, 28 deletions
diff --git a/include/linux/module.h b/include/linux/module.h index 4598bf03e98b..fbcafe2ee13e 100644 --- a/include/linux/module.h +++ b/include/linux/module.h | |||
| @@ -21,8 +21,6 @@ | |||
| 21 | #include <linux/percpu.h> | 21 | #include <linux/percpu.h> |
| 22 | #include <asm/module.h> | 22 | #include <asm/module.h> |
| 23 | 23 | ||
| 24 | #include <trace/events/module.h> | ||
| 25 | |||
| 26 | /* Not Yet Implemented */ | 24 | /* Not Yet Implemented */ |
| 27 | #define MODULE_SUPPORTED_DEVICE(name) | 25 | #define MODULE_SUPPORTED_DEVICE(name) |
| 28 | 26 | ||
| @@ -452,33 +450,11 @@ void symbol_put_addr(void *addr); | |||
| 452 | 450 | ||
| 453 | /* Sometimes we know we already have a refcount, and it's easier not | 451 | /* Sometimes we know we already have a refcount, and it's easier not |
| 454 | to handle the error case (which only happens with rmmod --wait). */ | 452 | to handle the error case (which only happens with rmmod --wait). */ |
| 455 | static inline void __module_get(struct module *module) | 453 | extern void __module_get(struct module *module); |
| 456 | { | ||
| 457 | if (module) { | ||
| 458 | preempt_disable(); | ||
| 459 | __this_cpu_inc(module->refptr->incs); | ||
| 460 | trace_module_get(module, _THIS_IP_); | ||
| 461 | preempt_enable(); | ||
| 462 | } | ||
| 463 | } | ||
| 464 | |||
| 465 | static inline int try_module_get(struct module *module) | ||
| 466 | { | ||
| 467 | int ret = 1; | ||
| 468 | |||
| 469 | if (module) { | ||
| 470 | preempt_disable(); | ||
| 471 | 454 | ||
| 472 | if (likely(module_is_live(module))) { | 455 | /* This is the Right Way to get a module: if it fails, it's being removed, |
| 473 | __this_cpu_inc(module->refptr->incs); | 456 | * so pretend it's not there. */ |
| 474 | trace_module_get(module, _THIS_IP_); | 457 | extern bool try_module_get(struct module *module); |
| 475 | } else | ||
| 476 | ret = 0; | ||
| 477 | |||
| 478 | preempt_enable(); | ||
| 479 | } | ||
| 480 | return ret; | ||
| 481 | } | ||
| 482 | 458 | ||
| 483 | extern void module_put(struct module *module); | 459 | extern void module_put(struct module *module); |
| 484 | 460 | ||
