aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiner Kallweit <hkallweit1@gmail.com>2016-01-25 14:46:21 -0500
committerMarcel Holtmann <marcel@holtmann.org>2016-02-23 14:29:36 -0500
commitb6e402fc84a76c0238b64de497920aeeaa495026 (patch)
treeb6ade31ae4948d2b9a9a8e615ba76a2a9a608128
parentd2ee9c2ec659cfab715568d2d9837f7ff67402fa (diff)
Bluetooth: Use managed version of led_trigger_register in LED trigger
Recently a managed version of led_trigger_register was introduced. Using devm_led_trigger_register allows to simplify the LED trigger code. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r--net/bluetooth/hci_core.c2
-rw-r--r--net/bluetooth/leds.c8
-rw-r--r--net/bluetooth/leds.h2
3 files changed, 1 insertions, 11 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 88f1ef3589d8..9c0a6830ff92 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -3134,8 +3134,6 @@ void hci_unregister_dev(struct hci_dev *hdev)
3134 3134
3135 id = hdev->id; 3135 id = hdev->id;
3136 3136
3137 hci_leds_exit(hdev);
3138
3139 write_lock(&hci_dev_list_lock); 3137 write_lock(&hci_dev_list_lock);
3140 list_del(&hdev->list); 3138 list_del(&hdev->list);
3141 write_unlock(&hci_dev_list_lock); 3139 write_unlock(&hci_dev_list_lock);
diff --git a/net/bluetooth/leds.c b/net/bluetooth/leds.c
index ded7c88eaccc..8319c8440c89 100644
--- a/net/bluetooth/leds.c
+++ b/net/bluetooth/leds.c
@@ -55,7 +55,7 @@ static struct led_trigger *led_allocate_basic(struct hci_dev *hdev,
55 if (!htrig->led_trigger.name) 55 if (!htrig->led_trigger.name)
56 goto err_alloc; 56 goto err_alloc;
57 57
58 if (led_trigger_register(&htrig->led_trigger)) 58 if (devm_led_trigger_register(&hdev->dev, &htrig->led_trigger))
59 goto err_register; 59 goto err_register;
60 60
61 return &htrig->led_trigger; 61 return &htrig->led_trigger;
@@ -72,9 +72,3 @@ void hci_leds_init(struct hci_dev *hdev)
72 /* initialize power_led */ 72 /* initialize power_led */
73 hdev->power_led = led_allocate_basic(hdev, power_activate, "power"); 73 hdev->power_led = led_allocate_basic(hdev, power_activate, "power");
74} 74}
75
76void hci_leds_exit(struct hci_dev *hdev)
77{
78 if (hdev->power_led)
79 led_trigger_unregister(hdev->power_led);
80}
diff --git a/net/bluetooth/leds.h b/net/bluetooth/leds.h
index 068261a4e12c..a9c4d6ea01cf 100644
--- a/net/bluetooth/leds.h
+++ b/net/bluetooth/leds.h
@@ -9,10 +9,8 @@
9#if IS_ENABLED(CONFIG_BT_LEDS) 9#if IS_ENABLED(CONFIG_BT_LEDS)
10void hci_leds_update_powered(struct hci_dev *hdev, bool enabled); 10void hci_leds_update_powered(struct hci_dev *hdev, bool enabled);
11void hci_leds_init(struct hci_dev *hdev); 11void hci_leds_init(struct hci_dev *hdev);
12void hci_leds_exit(struct hci_dev *hdev);
13#else 12#else
14static inline void hci_leds_update_powered(struct hci_dev *hdev, 13static inline void hci_leds_update_powered(struct hci_dev *hdev,
15 bool enabled) {} 14 bool enabled) {}
16static inline void hci_leds_init(struct hci_dev *hdev) {} 15static inline void hci_leds_init(struct hci_dev *hdev) {}
17static inline void hci_leds_exit(struct hci_dev *hdev) {}
18#endif 16#endif