diff mbox series

[1/3,v3] x86/platform/geode: Convert net5501 LED to GPIO machine descriptor

Message ID 20201103000439.325448-1-linus.walleij@linaro.org
State Superseded
Headers show
Series [1/3,v3] x86/platform/geode: Convert net5501 LED to GPIO machine descriptor | expand

Commit Message

Linus Walleij Nov. 3, 2020, 12:04 a.m. UTC
This makes the machine look up the LED from a GPIO machine
descriptor table. The Geode LEDs should be on the CS5535
companion chip.

Cc: linux-gpio@vger.kernel.org
Cc: Andres Salomon <dilinger@queued.net>
Cc: linux-geode@lists.infradead.org
Cc: Darren Hart <dvhart@infradead.org>
Cc: platform-driver-x86@vger.kernel.org
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

---
ChangeLog v2->v3:
- Rebase on v5.10-rc1
- Resend
ChangeLog v1->v2:
- Drop excess comma after terminator { }
- Collect Andy's Reviewed-by
---
 arch/x86/platform/geode/net5501.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

-- 
2.26.2

Comments

Hans de Goede Nov. 3, 2020, 10:22 a.m. UTC | #1
Hi,

On 11/3/20 1:04 AM, Linus Walleij wrote:
> This makes the machine look up the LED from a GPIO machine

> descriptor table. The Geode LEDs should be on the CS5535

> companion chip.

> 

> Cc: linux-gpio@vger.kernel.org

> Cc: Andres Salomon <dilinger@queued.net>

> Cc: linux-geode@lists.infradead.org

> Cc: Darren Hart <dvhart@infradead.org>

> Cc: platform-driver-x86@vger.kernel.org

> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>


Linus, in case you did not know yet, I have take over
drivers/platform/x86 maintainership from Andy.

Andy, the MAINTAINERS entry for arch/x86/platform says:

X86 PLATFORM DRIVERS - ARCH
R:      Darren Hart <dvhart@infradead.org>
R:      Andy Shevchenko <andy@infradead.org>
L:      platform-driver-x86@vger.kernel.org
L:      x86@kernel.org
S:      Maintained
T:      git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core
F:      arch/x86/platform

Andy, so I guess that with your Reviewed-by added, these are expected to
get picked up by the tip tree people ?

Linus, it seems that you did not "Cc: x86@kernel.org" which is
listed in MAINTAINERS for these, and is probably necessary to
get these merged through the tip tree.

Note I'm happy to pick these up through:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/

I actually had them in my local review-hans branch before noticing that
that they went to arch/x86/platform. But I've dropped them now as I'm
not sure if merging them through the pdx86 tree is the right thing to do,
the MAINTAINERS file at least suggests things should be done differently.

Linus, if a v4 with "Cc: x86@kernel.org" is necessary you may add my:

Reviewed-by: Hans de Goede <hdegoede@redhat.com>


To the entire series.

Regards,

Hans





> ---

> ChangeLog v2->v3:

> - Rebase on v5.10-rc1

> - Resend

> ChangeLog v1->v2:

> - Drop excess comma after terminator { }

> - Collect Andy's Reviewed-by

> ---

>  arch/x86/platform/geode/net5501.c | 13 +++++++++++--

>  1 file changed, 11 insertions(+), 2 deletions(-)

> 

> diff --git a/arch/x86/platform/geode/net5501.c b/arch/x86/platform/geode/net5501.c

> index 163e1b545517..558384acd777 100644

> --- a/arch/x86/platform/geode/net5501.c

> +++ b/arch/x86/platform/geode/net5501.c

> @@ -20,6 +20,7 @@

>  #include <linux/platform_device.h>

>  #include <linux/input.h>

>  #include <linux/gpio_keys.h>

> +#include <linux/gpio/machine.h>

>  

>  #include <asm/geode.h>

>  

> @@ -55,9 +56,7 @@ static struct platform_device net5501_buttons_dev = {

>  static struct gpio_led net5501_leds[] = {

>  	{

>  		.name = "net5501:1",

> -		.gpio = 6,

>  		.default_trigger = "default-on",

> -		.active_low = 0,

>  	},

>  };

>  

> @@ -66,6 +65,15 @@ static struct gpio_led_platform_data net5501_leds_data = {

>  	.leds = net5501_leds,

>  };

>  

> +static struct gpiod_lookup_table net5501_leds_gpio_table = {

> +	.dev_id = "leds-gpio",

> +	.table = {

> +		/* The Geode GPIOs should be on the CS5535 companion chip */

> +		GPIO_LOOKUP_IDX("cs5535-gpio", 6, NULL, 0, GPIO_ACTIVE_HIGH),

> +		{ }

> +	},

> +};

> +

>  static struct platform_device net5501_leds_dev = {

>  	.name = "leds-gpio",

>  	.id = -1,

> @@ -80,6 +88,7 @@ static struct platform_device *net5501_devs[] __initdata = {

>  static void __init register_net5501(void)

>  {

>  	/* Setup LED control through leds-gpio driver */

> +	gpiod_add_lookup_table(&net5501_leds_gpio_table);

>  	platform_add_devices(net5501_devs, ARRAY_SIZE(net5501_devs));

>  }

>  

>
Andy Shevchenko Nov. 3, 2020, 10:39 a.m. UTC | #2
On Tue, Nov 3, 2020 at 12:22 PM Hans de Goede <hdegoede@redhat.com> wrote:
> On 11/3/20 1:04 AM, Linus Walleij wrote:

> > This makes the machine look up the LED from a GPIO machine

> > descriptor table. The Geode LEDs should be on the CS5535

> > companion chip.

> >

> > Cc: linux-gpio@vger.kernel.org

> > Cc: Andres Salomon <dilinger@queued.net>

> > Cc: linux-geode@lists.infradead.org

> > Cc: Darren Hart <dvhart@infradead.org>

> > Cc: platform-driver-x86@vger.kernel.org

> > Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

>

> Linus, in case you did not know yet, I have take over

> drivers/platform/x86 maintainership from Andy.

>

> Andy, the MAINTAINERS entry for arch/x86/platform says:


Yes, it's a bit orthogonal to PDx86, but it makes sense to have the
below list of reviewers to be in sync with PDx86 maintainers. I'm
happy to give my place in the below to you.

> X86 PLATFORM DRIVERS - ARCH

> R:      Darren Hart <dvhart@infradead.org>

> R:      Andy Shevchenko <andy@infradead.org>

> L:      platform-driver-x86@vger.kernel.org

> L:      x86@kernel.org

> S:      Maintained

> T:      git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core

> F:      arch/x86/platform

>

> Andy, so I guess that with your Reviewed-by added, these are expected to

> get picked up by the tip tree people ?


That's correct.

> Linus, it seems that you did not "Cc: x86@kernel.org" which is

> listed in MAINTAINERS for these, and is probably necessary to

> get these merged through the tip tree.

>

> Note I'm happy to pick these up through:

> https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/

>

> I actually had them in my local review-hans branch before noticing that

> that they went to arch/x86/platform. But I've dropped them now as I'm

> not sure if merging them through the pdx86 tree is the right thing to do,

> the MAINTAINERS file at least suggests things should be done differently.


arch/x86 should go via TIP tree, except cases confirmed by TIP maintainers.

> Linus, if a v4 with "Cc: x86@kernel.org" is necessary you may add my:

>

> Reviewed-by: Hans de Goede <hdegoede@redhat.com>

>

> To the entire series.


-- 
With Best Regards,
Andy Shevchenko
Hans de Goede Nov. 3, 2020, 11:03 a.m. UTC | #3
Hi,

On 11/3/20 11:39 AM, Andy Shevchenko wrote:
> On Tue, Nov 3, 2020 at 12:22 PM Hans de Goede <hdegoede@redhat.com> wrote:

>> On 11/3/20 1:04 AM, Linus Walleij wrote:

>>> This makes the machine look up the LED from a GPIO machine

>>> descriptor table. The Geode LEDs should be on the CS5535

>>> companion chip.

>>>

>>> Cc: linux-gpio@vger.kernel.org

>>> Cc: Andres Salomon <dilinger@queued.net>

>>> Cc: linux-geode@lists.infradead.org

>>> Cc: Darren Hart <dvhart@infradead.org>

>>> Cc: platform-driver-x86@vger.kernel.org

>>> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

>>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

>>

>> Linus, in case you did not know yet, I have take over

>> drivers/platform/x86 maintainership from Andy.

>>

>> Andy, the MAINTAINERS entry for arch/x86/platform says:

> 

> Yes, it's a bit orthogonal to PDx86, but it makes sense to have the

> below list of reviewers to be in sync with PDx86 maintainers. I'm

> happy to give my place in the below to you.


I'm not familiar with most of the code there, so how about
adding me while keeping you there too ?

And maybe drop Darren I guess ?  Darren if you are reading
along, please let us know what you want.

>> X86 PLATFORM DRIVERS - ARCH

>> R:      Darren Hart <dvhart@infradead.org>

>> R:      Andy Shevchenko <andy@infradead.org>

>> L:      platform-driver-x86@vger.kernel.org

>> L:      x86@kernel.org

>> S:      Maintained

>> T:      git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core

>> F:      arch/x86/platform

>>

>> Andy, so I guess that with your Reviewed-by added, these are expected to

>> get picked up by the tip tree people ?

> 

> That's correct.

> 

>> Linus, it seems that you did not "Cc: x86@kernel.org" which is

>> listed in MAINTAINERS for these, and is probably necessary to

>> get these merged through the tip tree.

>>

>> Note I'm happy to pick these up through:

>> https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/

>>

>> I actually had them in my local review-hans branch before noticing that

>> that they went to arch/x86/platform. But I've dropped them now as I'm

>> not sure if merging them through the pdx86 tree is the right thing to do,

>> the MAINTAINERS file at least suggests things should be done differently.

> 

> arch/x86 should go via TIP tree, except cases confirmed by TIP maintainers.


Ok, then I think a v4 with the TIP maintainers actually in the addressing
list is necessary.

>> Linus, if a v4 with "Cc: x86@kernel.org" is necessary you may add my:

>>

>> Reviewed-by: Hans de Goede <hdegoede@redhat.com>

>>

>> To the entire series.


And this still applies.

Regards,

Hans
diff mbox series

Patch

diff --git a/arch/x86/platform/geode/net5501.c b/arch/x86/platform/geode/net5501.c
index 163e1b545517..558384acd777 100644
--- a/arch/x86/platform/geode/net5501.c
+++ b/arch/x86/platform/geode/net5501.c
@@ -20,6 +20,7 @@ 
 #include <linux/platform_device.h>
 #include <linux/input.h>
 #include <linux/gpio_keys.h>
+#include <linux/gpio/machine.h>
 
 #include <asm/geode.h>
 
@@ -55,9 +56,7 @@  static struct platform_device net5501_buttons_dev = {
 static struct gpio_led net5501_leds[] = {
 	{
 		.name = "net5501:1",
-		.gpio = 6,
 		.default_trigger = "default-on",
-		.active_low = 0,
 	},
 };
 
@@ -66,6 +65,15 @@  static struct gpio_led_platform_data net5501_leds_data = {
 	.leds = net5501_leds,
 };
 
+static struct gpiod_lookup_table net5501_leds_gpio_table = {
+	.dev_id = "leds-gpio",
+	.table = {
+		/* The Geode GPIOs should be on the CS5535 companion chip */
+		GPIO_LOOKUP_IDX("cs5535-gpio", 6, NULL, 0, GPIO_ACTIVE_HIGH),
+		{ }
+	},
+};
+
 static struct platform_device net5501_leds_dev = {
 	.name = "leds-gpio",
 	.id = -1,
@@ -80,6 +88,7 @@  static struct platform_device *net5501_devs[] __initdata = {
 static void __init register_net5501(void)
 {
 	/* Setup LED control through leds-gpio driver */
+	gpiod_add_lookup_table(&net5501_leds_gpio_table);
 	platform_add_devices(net5501_devs, ARRAY_SIZE(net5501_devs));
 }