aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/bluetooth
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-11-06 22:44:47 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2011-11-06 22:44:47 -0500
commit32aaeffbd4a7457bf2f7448b33b5946ff2a960eb (patch)
treefaf7ad871d87176423ff9ed1d1ba4d9c688fc23f /include/net/bluetooth
parent208bca0860406d16398145ddd950036a737c3c9d (diff)
parent67b84999b1a8b1af5625b1eabe92146c5eb42932 (diff)
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
* 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits) Revert "tracing: Include module.h in define_trace.h" irq: don't put module.h into irq.h for tracking irqgen modules. bluetooth: macroize two small inlines to avoid module.h ip_vs.h: fix implicit use of module_get/module_put from module.h nf_conntrack.h: fix up fallout from implicit moduleparam.h presence include: replace linux/module.h with "struct module" wherever possible include: convert various register fcns to macros to avoid include chaining crypto.h: remove unused crypto_tfm_alg_modname() inline uwb.h: fix implicit use of asm/page.h for PAGE_SIZE pm_runtime.h: explicitly requires notifier.h linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h miscdevice.h: fix up implicit use of lists and types stop_machine.h: fix implicit use of smp.h for smp_processor_id of: fix implicit use of errno.h in include/linux/of.h of_platform.h: delete needless include <linux/module.h> acpi: remove module.h include from platform/aclinux.h miscdevice.h: delete unnecessary inclusion of module.h device_cgroup.h: delete needless include <linux/module.h> net: sch_generic remove redundant use of <linux/module.h> net: inet_timewait_sock doesnt need <linux/module.h> ... Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in - drivers/media/dvb/frontends/dibx000_common.c - drivers/media/video/{mt9m111.c,ov6650.c} - drivers/mfd/ab3550-core.c - include/linux/dmaengine.h
Diffstat (limited to 'include/net/bluetooth')
-rw-r--r--include/net/bluetooth/hci_core.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index 5b924423cf20..3779ea362257 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -513,11 +513,15 @@ static inline void __hci_dev_put(struct hci_dev *d)
513 d->destruct(d); 513 d->destruct(d);
514} 514}
515 515
516static inline void hci_dev_put(struct hci_dev *d) 516/*
517{ 517 * hci_dev_put and hci_dev_hold are macros to avoid dragging all the
518 __hci_dev_put(d); 518 * overhead of all the modular infrastructure into this header.
519 module_put(d->owner); 519 */
520} 520#define hci_dev_put(d) \
521do { \
522 __hci_dev_put(d); \
523 module_put(d->owner); \
524} while (0)
521 525
522static inline struct hci_dev *__hci_dev_hold(struct hci_dev *d) 526static inline struct hci_dev *__hci_dev_hold(struct hci_dev *d)
523{ 527{
@@ -525,12 +529,10 @@ static inline struct hci_dev *__hci_dev_hold(struct hci_dev *d)
525 return d; 529 return d;
526} 530}
527 531
528static inline struct hci_dev *hci_dev_hold(struct hci_dev *d) 532#define hci_dev_hold(d) \
529{ 533({ \
530 if (try_module_get(d->owner)) 534 try_module_get(d->owner) ? __hci_dev_hold(d) : NULL; \
531 return __hci_dev_hold(d); 535})
532 return NULL;
533}
534 536
535#define hci_dev_lock(d) spin_lock(&d->lock) 537#define hci_dev_lock(d) spin_lock(&d->lock)
536#define hci_dev_unlock(d) spin_unlock(&d->lock) 538#define hci_dev_unlock(d) spin_unlock(&d->lock)