Re: [PATCH v2] leds: heartbeat: stop on shutdown

Alexander Holler
2012-04-24T17:34:31Z

Am 24.04.2012 19:31, schrieb Shuah Khan:
> On Tue, 2012-04-24 at 19:27 +0200, Alexander Holler wrote:
>> Am 24.04.2012 19:00, schrieb Shuah Khan:
>>> On Tue, 2012-04-24 at 18:32 +0200, Alexander Holler wrote:
>>>> Am 24.04.2012 17:24, schrieb Shuah Khan:
>>>>> On Tue, 2012-04-24 at 17:07 +0200, Alexander Holler wrote:
>>>>>> A halted kernel should not show a heartbeat.
>>>>>>
>>>>>> Signed-off-by: Alexander Holler <holler@ahsoftware.de>
>>>>>> ---
>>>>>> drivers/leds/ledtrig-heartbeat.c | 18 +++++++++++++++++-
>>>>>> 1 files changed, 17 insertions(+), 1 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/leds/ledtrig-heartbeat.c b/drivers/leds/ledtrig-heartbeat.c
>>>>>> index 759c0bb..1c05bd9 100644
>>>>>> --- a/drivers/leds/ledtrig-heartbeat.c
>>>>>> +++ b/drivers/leds/ledtrig-heartbeat.c
>>>>>> @@ -18,6 +18,7 @@
>>>>>> #include <linux/timer.h>
>>>>>> #include <linux/sched.h>
>>>>>> #include <linux/leds.h>
>>>>>> +#include <linux/reboot.h>
>>>>>> #include "leds.h"
>>>>>>
>>>>>> struct heartbeat_trig_data {
>>>>>> @@ -101,13 +102,28 @@ static struct led_trigger heartbeat_led_trigger = {
>>>>>> .deactivate = heartbeat_trig_deactivate,
>>>>>> };
>>>>>>
>>>>>> +static int heartbeat_reboot_notifier(struct notifier_block *nb,
>>>>>> + unsigned long code, void *unused)
>>>>>> +{
>>>>>> + led_trigger_unregister(&heartbeat_led_trigger);
>>>>>> + return NOTIFY_DONE;
>>>>>> +}
>>> I am sorry I didn't catch this the last time. Do you need to call
>>> unregister here? Looks like trigger is going away with a registered
>>> reboot notifier. Might be fine, since reboot is going to happen.
>>
>> That unregister is the whole reason of the patch because it disables all
>> running heartbeats on reboot/shutdown. ;)
>
> Sorry I should have been clear about which unregister. I meant
> unregister_reboot_notifier()

That is needed in case the module will be unloaded.

Regards,

Alexander