All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacek Anaszewski <jacek.anaszewski@gmail.com>
To: Gene Chen <gene.chen.richtek@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>, Rob Herring <robh+dt@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Dan Murphy <dmurphy@ti.com>,
	Linux LED Subsystem <linux-leds@vger.kernel.org>,
	devicetree <devicetree@vger.kernel.org>,
	linux-arm Mailing List <linux-arm-kernel@lists.infradead.org>,
	"moderated list:ARM/Mediatek SoC support" 
	<linux-mediatek@lists.infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Gene Chen <gene_chen@richtek.com>,
	Wilma.Wu@mediatek.com, shufan_lee@richtek.com,
	cy_huang@richtek.com, benjamin.chao@mediatek.com
Subject: Re: [PATCH v5 2/2] leds: mt6360: Add LED driver for MT6360
Date: Tue, 27 Oct 2020 18:28:13 +0100	[thread overview]
Message-ID: <1bb76c54-14af-6c78-4623-77c6678b262e@gmail.com> (raw)
In-Reply-To: <CAE+NS379bgtRotqzioR+Ya3mE1kZrKfe9qV=W2p=hH7Omrn8Hw@mail.gmail.com>

On 10/27/20 10:28 AM, Gene Chen wrote:
> Jacek Anaszewski <jacek.anaszewski@gmail.com> 於 2020年10月21日 週三 上午5:47寫道:
>>
>> On 10/20/20 8:44 AM, Gene Chen wrote:
>>> Jacek Anaszewski <jacek.anaszewski@gmail.com> 於 2020年10月9日 週五 上午5:51寫道:
>>>>
>>>> Hi Gene,
>>>>
>>>> On 10/7/20 3:42 AM, Gene Chen wrote:
>>>>> From: Gene Chen <gene_chen@richtek.com>
>>>>>
>>>>> Add MT6360 LED driver include 2-channel Flash LED with torch/strobe mode,
>>>>> 3-channel RGB LED support Register/Flash/Breath Mode, and 1-channel for
>>>>> moonlight LED.
>>>>>
>>>>> Signed-off-by: Gene Chen <gene_chen@richtek.com>
>>>>> ---
>>>>>     drivers/leds/Kconfig       |  12 +
>>>>>     drivers/leds/Makefile      |   1 +
>>>>>     drivers/leds/leds-mt6360.c | 783 +++++++++++++++++++++++++++++++++++++++++++++
>>>>>     3 files changed, 796 insertions(+)
>>>>>     create mode 100644 drivers/leds/leds-mt6360.c
>>>>>
>>>>> diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
>>>>> index 1c181df..c7192dd 100644
>>>>> --- a/drivers/leds/Kconfig
>>>>> +++ b/drivers/leds/Kconfig
>>>>> @@ -271,6 +271,18 @@ config LEDS_MT6323
>>>>>           This option enables support for on-chip LED drivers found on
>>>>>           Mediatek MT6323 PMIC.
>>>>>
>>>>> +config LEDS_MT6360
>>>>> +     tristate "LED Support for Mediatek MT6360 PMIC"
>>>>> +     depends on LEDS_CLASS_FLASH && OF
>>>>> +     depends on LEDS_CLASS_MULTICOLOR
>>>>
>>>> Since CONFIG_LED_CLASS_MULTICOLOR can be turned off you need to have
>>>> below instead:
>>>>
>>>> depends on LEDS_CLASS_MULTICOLOR || !!LEDS_CLASS_MULTICOLOR

My typo here, should be one "!":

depends on LEDS_CLASS_MULTICOLOR || !LEDS_CLASS_MULTICOLOR

And you should also have

depends on LEDS_CLASS_FLASH || !LEDS_CLASS_FLASH

But to make it work correctly you would have to add registration
stubs to include/linux/led-class-flash.h similarly to LED mc stubs
in include/linux/led-class-multicolor.h.

>>>>
>>>> Unless you want to prevent enabling the driver without RGB LED,
>>>> but that does not seem to be reasonable at first glance.
>>>>
>>>
>>> May I change to "select LEDS_CLASS_MULTICOLOR"?
>>> I suppose RGB always use multicolor mode.
>>
>> You will also have moonlight LED that will not need multicolor
>> framework. Is it somehow troublesome to keep "depends on"?
>>
> 
> If only use ML LED and FLED,  DTSI will only define ML LED and FLED.
> Therefore, the drivers probe will not register rgb multicolor device.

Please test your use case again with my fixed "depends on".

In case when there is only ML LED and FLED in the DT it should
register both devices if LEDS_CLASS_FLASH is turned on.
Multicolor framework has nothing to do in this case.

But if you additionally had MC LED node, then it should
be registered only if LEDS_CLASS_MULTICOLOR is enabled.

Similarly, when FLED node is present, but LEDS_CLASS_FLASH
is off, and LEDS_CLASS_MULTICOLOR is on, the driver should still
compile, but register only LED MC device (if its node is present).

Possible should be also the case when both LEDS_CLASS_FLASH
and LEDS_CLASS_MULTICOLOR are off. Then only LED class device
for ML LED will be registered (provided there is ML DT node).
But to make it possible you should have also "depends on LEDS_CLASS"
in the Kconfig entry.

> I will remove "depends", use "select" instead.

-- 
Best regards,
Jacek Anaszewski

WARNING: multiple messages have this Message-ID (diff)
From: Jacek Anaszewski <jacek.anaszewski@gmail.com>
To: Gene Chen <gene.chen.richtek@gmail.com>
Cc: linux-arm Mailing List <linux-arm-kernel@lists.infradead.org>,
	devicetree <devicetree@vger.kernel.org>,
	cy_huang@richtek.com,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Gene Chen <gene_chen@richtek.com>,
	benjamin.chao@mediatek.com, Rob Herring <robh+dt@kernel.org>,
	"moderated list:ARM/Mediatek SoC support"
	<linux-mediatek@lists.infradead.org>, Dan Murphy <dmurphy@ti.com>,
	Pavel Machek <pavel@ucw.cz>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Wilma.Wu@mediatek.com,
	Linux LED Subsystem <linux-leds@vger.kernel.org>,
	shufan_lee@richtek.com
Subject: Re: [PATCH v5 2/2] leds: mt6360: Add LED driver for MT6360
Date: Tue, 27 Oct 2020 18:28:13 +0100	[thread overview]
Message-ID: <1bb76c54-14af-6c78-4623-77c6678b262e@gmail.com> (raw)
In-Reply-To: <CAE+NS379bgtRotqzioR+Ya3mE1kZrKfe9qV=W2p=hH7Omrn8Hw@mail.gmail.com>

On 10/27/20 10:28 AM, Gene Chen wrote:
> Jacek Anaszewski <jacek.anaszewski@gmail.com> 於 2020年10月21日 週三 上午5:47寫道:
>>
>> On 10/20/20 8:44 AM, Gene Chen wrote:
>>> Jacek Anaszewski <jacek.anaszewski@gmail.com> 於 2020年10月9日 週五 上午5:51寫道:
>>>>
>>>> Hi Gene,
>>>>
>>>> On 10/7/20 3:42 AM, Gene Chen wrote:
>>>>> From: Gene Chen <gene_chen@richtek.com>
>>>>>
>>>>> Add MT6360 LED driver include 2-channel Flash LED with torch/strobe mode,
>>>>> 3-channel RGB LED support Register/Flash/Breath Mode, and 1-channel for
>>>>> moonlight LED.
>>>>>
>>>>> Signed-off-by: Gene Chen <gene_chen@richtek.com>
>>>>> ---
>>>>>     drivers/leds/Kconfig       |  12 +
>>>>>     drivers/leds/Makefile      |   1 +
>>>>>     drivers/leds/leds-mt6360.c | 783 +++++++++++++++++++++++++++++++++++++++++++++
>>>>>     3 files changed, 796 insertions(+)
>>>>>     create mode 100644 drivers/leds/leds-mt6360.c
>>>>>
>>>>> diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
>>>>> index 1c181df..c7192dd 100644
>>>>> --- a/drivers/leds/Kconfig
>>>>> +++ b/drivers/leds/Kconfig
>>>>> @@ -271,6 +271,18 @@ config LEDS_MT6323
>>>>>           This option enables support for on-chip LED drivers found on
>>>>>           Mediatek MT6323 PMIC.
>>>>>
>>>>> +config LEDS_MT6360
>>>>> +     tristate "LED Support for Mediatek MT6360 PMIC"
>>>>> +     depends on LEDS_CLASS_FLASH && OF
>>>>> +     depends on LEDS_CLASS_MULTICOLOR
>>>>
>>>> Since CONFIG_LED_CLASS_MULTICOLOR can be turned off you need to have
>>>> below instead:
>>>>
>>>> depends on LEDS_CLASS_MULTICOLOR || !!LEDS_CLASS_MULTICOLOR

My typo here, should be one "!":

depends on LEDS_CLASS_MULTICOLOR || !LEDS_CLASS_MULTICOLOR

And you should also have

depends on LEDS_CLASS_FLASH || !LEDS_CLASS_FLASH

But to make it work correctly you would have to add registration
stubs to include/linux/led-class-flash.h similarly to LED mc stubs
in include/linux/led-class-multicolor.h.

>>>>
>>>> Unless you want to prevent enabling the driver without RGB LED,
>>>> but that does not seem to be reasonable at first glance.
>>>>
>>>
>>> May I change to "select LEDS_CLASS_MULTICOLOR"?
>>> I suppose RGB always use multicolor mode.
>>
>> You will also have moonlight LED that will not need multicolor
>> framework. Is it somehow troublesome to keep "depends on"?
>>
> 
> If only use ML LED and FLED,  DTSI will only define ML LED and FLED.
> Therefore, the drivers probe will not register rgb multicolor device.

Please test your use case again with my fixed "depends on".

In case when there is only ML LED and FLED in the DT it should
register both devices if LEDS_CLASS_FLASH is turned on.
Multicolor framework has nothing to do in this case.

But if you additionally had MC LED node, then it should
be registered only if LEDS_CLASS_MULTICOLOR is enabled.

Similarly, when FLED node is present, but LEDS_CLASS_FLASH
is off, and LEDS_CLASS_MULTICOLOR is on, the driver should still
compile, but register only LED MC device (if its node is present).

Possible should be also the case when both LEDS_CLASS_FLASH
and LEDS_CLASS_MULTICOLOR are off. Then only LED class device
for ML LED will be registered (provided there is ML DT node).
But to make it possible you should have also "depends on LEDS_CLASS"
in the Kconfig entry.

> I will remove "depends", use "select" instead.

-- 
Best regards,
Jacek Anaszewski

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: Jacek Anaszewski <jacek.anaszewski@gmail.com>
To: Gene Chen <gene.chen.richtek@gmail.com>
Cc: linux-arm Mailing List <linux-arm-kernel@lists.infradead.org>,
	devicetree <devicetree@vger.kernel.org>,
	cy_huang@richtek.com,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Gene Chen <gene_chen@richtek.com>,
	benjamin.chao@mediatek.com, Rob Herring <robh+dt@kernel.org>,
	"moderated list:ARM/Mediatek SoC support"
	<linux-mediatek@lists.infradead.org>, Dan Murphy <dmurphy@ti.com>,
	Pavel Machek <pavel@ucw.cz>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Wilma.Wu@mediatek.com,
	Linux LED Subsystem <linux-leds@vger.kernel.org>,
	shufan_lee@richtek.com
Subject: Re: [PATCH v5 2/2] leds: mt6360: Add LED driver for MT6360
Date: Tue, 27 Oct 2020 18:28:13 +0100	[thread overview]
Message-ID: <1bb76c54-14af-6c78-4623-77c6678b262e@gmail.com> (raw)
In-Reply-To: <CAE+NS379bgtRotqzioR+Ya3mE1kZrKfe9qV=W2p=hH7Omrn8Hw@mail.gmail.com>

On 10/27/20 10:28 AM, Gene Chen wrote:
> Jacek Anaszewski <jacek.anaszewski@gmail.com> 於 2020年10月21日 週三 上午5:47寫道:
>>
>> On 10/20/20 8:44 AM, Gene Chen wrote:
>>> Jacek Anaszewski <jacek.anaszewski@gmail.com> 於 2020年10月9日 週五 上午5:51寫道:
>>>>
>>>> Hi Gene,
>>>>
>>>> On 10/7/20 3:42 AM, Gene Chen wrote:
>>>>> From: Gene Chen <gene_chen@richtek.com>
>>>>>
>>>>> Add MT6360 LED driver include 2-channel Flash LED with torch/strobe mode,
>>>>> 3-channel RGB LED support Register/Flash/Breath Mode, and 1-channel for
>>>>> moonlight LED.
>>>>>
>>>>> Signed-off-by: Gene Chen <gene_chen@richtek.com>
>>>>> ---
>>>>>     drivers/leds/Kconfig       |  12 +
>>>>>     drivers/leds/Makefile      |   1 +
>>>>>     drivers/leds/leds-mt6360.c | 783 +++++++++++++++++++++++++++++++++++++++++++++
>>>>>     3 files changed, 796 insertions(+)
>>>>>     create mode 100644 drivers/leds/leds-mt6360.c
>>>>>
>>>>> diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
>>>>> index 1c181df..c7192dd 100644
>>>>> --- a/drivers/leds/Kconfig
>>>>> +++ b/drivers/leds/Kconfig
>>>>> @@ -271,6 +271,18 @@ config LEDS_MT6323
>>>>>           This option enables support for on-chip LED drivers found on
>>>>>           Mediatek MT6323 PMIC.
>>>>>
>>>>> +config LEDS_MT6360
>>>>> +     tristate "LED Support for Mediatek MT6360 PMIC"
>>>>> +     depends on LEDS_CLASS_FLASH && OF
>>>>> +     depends on LEDS_CLASS_MULTICOLOR
>>>>
>>>> Since CONFIG_LED_CLASS_MULTICOLOR can be turned off you need to have
>>>> below instead:
>>>>
>>>> depends on LEDS_CLASS_MULTICOLOR || !!LEDS_CLASS_MULTICOLOR

My typo here, should be one "!":

depends on LEDS_CLASS_MULTICOLOR || !LEDS_CLASS_MULTICOLOR

And you should also have

depends on LEDS_CLASS_FLASH || !LEDS_CLASS_FLASH

But to make it work correctly you would have to add registration
stubs to include/linux/led-class-flash.h similarly to LED mc stubs
in include/linux/led-class-multicolor.h.

>>>>
>>>> Unless you want to prevent enabling the driver without RGB LED,
>>>> but that does not seem to be reasonable at first glance.
>>>>
>>>
>>> May I change to "select LEDS_CLASS_MULTICOLOR"?
>>> I suppose RGB always use multicolor mode.
>>
>> You will also have moonlight LED that will not need multicolor
>> framework. Is it somehow troublesome to keep "depends on"?
>>
> 
> If only use ML LED and FLED,  DTSI will only define ML LED and FLED.
> Therefore, the drivers probe will not register rgb multicolor device.

Please test your use case again with my fixed "depends on".

In case when there is only ML LED and FLED in the DT it should
register both devices if LEDS_CLASS_FLASH is turned on.
Multicolor framework has nothing to do in this case.

But if you additionally had MC LED node, then it should
be registered only if LEDS_CLASS_MULTICOLOR is enabled.

Similarly, when FLED node is present, but LEDS_CLASS_FLASH
is off, and LEDS_CLASS_MULTICOLOR is on, the driver should still
compile, but register only LED MC device (if its node is present).

Possible should be also the case when both LEDS_CLASS_FLASH
and LEDS_CLASS_MULTICOLOR are off. Then only LED class device
for ML LED will be registered (provided there is ML DT node).
But to make it possible you should have also "depends on LEDS_CLASS"
in the Kconfig entry.

> I will remove "depends", use "select" instead.

-- 
Best regards,
Jacek Anaszewski

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-10-27 17:28 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-07  1:42 [PATCH v5 0/2] leds: mt6360: Add LED driver for MT6360 Gene Chen
2020-10-07  1:42 ` Gene Chen
2020-10-07  1:42 ` Gene Chen
2020-10-07  1:42 ` [PATCH v5 1/2] dt-bindings: leds: Add bindings for MT6360 LED Gene Chen
2020-10-07  1:42   ` Gene Chen
2020-10-07  1:42   ` Gene Chen
2020-10-07 13:50   ` Rob Herring
2020-10-07 13:50     ` Rob Herring
2020-10-07 13:50     ` Rob Herring
2020-10-08 21:42   ` Jacek Anaszewski
2020-10-08 21:42     ` Jacek Anaszewski
2020-10-08 21:42     ` Jacek Anaszewski
2020-10-07  1:42 ` [PATCH v5 2/2] leds: mt6360: Add LED driver for MT6360 Gene Chen
2020-10-07  1:42   ` Gene Chen
2020-10-07  1:42   ` Gene Chen
2020-10-07  5:11   ` kernel test robot
2020-10-07  5:11     ` kernel test robot
2020-10-07  5:11     ` kernel test robot
2020-10-07  5:11     ` kernel test robot
2020-10-08 21:51   ` Jacek Anaszewski
2020-10-08 21:51     ` Jacek Anaszewski
2020-10-08 21:51     ` Jacek Anaszewski
2020-10-20  6:44     ` Gene Chen
2020-10-20  6:44       ` Gene Chen
2020-10-20  6:44       ` Gene Chen
2020-10-20 21:46       ` Jacek Anaszewski
2020-10-20 21:46         ` Jacek Anaszewski
2020-10-20 21:46         ` Jacek Anaszewski
2020-10-27  9:28         ` Gene Chen
2020-10-27  9:28           ` Gene Chen
2020-10-27  9:28           ` Gene Chen
2020-10-27 17:28           ` Jacek Anaszewski [this message]
2020-10-27 17:28             ` Jacek Anaszewski
2020-10-27 17:28             ` Jacek Anaszewski
2020-10-30  8:51             ` Gene Chen
2020-10-30  8:51               ` Gene Chen
2020-10-30  8:51               ` Gene Chen
2020-10-30 22:34               ` Jacek Anaszewski
2020-10-30 22:34                 ` Jacek Anaszewski
2020-10-30 22:34                 ` Jacek Anaszewski
2020-11-16 10:01                 ` Gene Chen
2020-11-16 10:01                   ` Gene Chen
2020-11-16 10:01                   ` Gene Chen
2020-11-16 18:25                   ` Jacek Anaszewski
2020-11-16 18:25                     ` Jacek Anaszewski
2020-11-16 18:25                     ` Jacek Anaszewski
2020-11-17  9:54                     ` Gene Chen
2020-11-17  9:54                       ` Gene Chen
2020-11-17  9:54                       ` Gene Chen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1bb76c54-14af-6c78-4623-77c6678b262e@gmail.com \
    --to=jacek.anaszewski@gmail.com \
    --cc=Wilma.Wu@mediatek.com \
    --cc=benjamin.chao@mediatek.com \
    --cc=cy_huang@richtek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmurphy@ti.com \
    --cc=gene.chen.richtek@gmail.com \
    --cc=gene_chen@richtek.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=robh+dt@kernel.org \
    --cc=shufan_lee@richtek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.