Re: [PATCH v4 2/2] leds: lm3601x: Introduce the lm3601x LED driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/10/2018 09:31 AM, Andrew F. Davis wrote:
> On 05/10/2018 09:04 AM, Dan Murphy wrote:
> 
>>>> +static int lm3601x_remove(struct i2c_client *client)
>>>> +{
>>>> +	struct lm3601x_led *led = i2c_get_clientdata(client);
>>>> +
>>>> +	regmap_write(led->regmap, LM3601X_ENABLE_REG, 0);
>>>> +
>>>
>>>
>>> If probe doesn't enable this, remove shouldn't disable it. It can lead
>>> to odd cases if the driver is removed and added again.
>>
>> I want to make sure the LED is off and in standby mode.  Maybe I will just set it to
>> the default value instead.
>>
> 
> 
> Why? If you want to do this then implement PM controls and put it in
> standby mode there.
> 
> 

Implementing PM controls does not cause this line to be removed on a removal.

>>>
>>> Plus, removing the driver is not a command to disable the LED anyway.
>>
>> True but you don't want to leave any LEDs in the on state without a driver to support it.
>> This could burn out the LED or the board if left on on max brightness
>>
> 
> 
> I disagree, we should not try to decide what the user wants here. We
> should only do what we are instructed to do, which for remove() is to
> cleanup what probe has done so the driver can be removed w/o leaking
> memory or device state.

So your OK with a causing a burn out of the device or LED or draining the battery because the driver was
unloaded and there is not way to turn it off besides hard power cycling the device.  Because even a reboot
of the device will still leave the LED on throughout the boot until the driver is reloaded.

I will let the maintainer weigh in on this issue.

> 
> 
>>
>> Dan
>>


-- 
------------------
Dan Murphy
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux