public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>,
	Daniel Mack <daniel@zonque.org>,
	Robert Jarzmik <robert.jarzmik@free.fr>,
	Linus Walleij <linus.walleij@linaro.org>,
	soc@kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 03/10] ARM: pxa/gumstix: convert vbus gpio to use software nodes
Date: Tue, 6 Aug 2024 09:58:14 -0700	[thread overview]
Message-ID: <ZrJWJoDdNTLuIViH@google.com> (raw)
In-Reply-To: <3f7971e1-0576-417b-8aaa-c06e1697908f@app.fastmail.com>

On Tue, Aug 06, 2024 at 09:19:55AM +0200, Arnd Bergmann wrote:
> On Fri, Jun 28, 2024, at 20:08, Dmitry Torokhov wrote:
> > Switch vbus gpios from using a custom GPIO lookup table to software
> > properties using PROPERTY_ENTRY_GPIO() constructs which closely mimic
> > device tree gpio properties.
> >
> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> 
> I ran into some randconfig build failures with this one now:
> 
> > index c9f0f62187bd..b9eddc691097 100644
> > --- a/arch/arm/mach-pxa/gumstix.c
> > +++ b/arch/arm/mach-pxa/gumstix.c
> > @@ -100,26 +100,22 @@ static void __init gumstix_mmc_init(void)
> >  #endif
> > 
> >  #ifdef CONFIG_USB_PXA25X
> > -static struct gpiod_lookup_table gumstix_gpio_vbus_gpiod_table = {
> > -	.dev_id = "gpio-vbus",
> > -	.table = {
> > -		GPIO_LOOKUP("gpio-pxa", GPIO_GUMSTIX_USB_GPIOn,
> > -			    "vbus", GPIO_ACTIVE_HIGH),
> > -		GPIO_LOOKUP("gpio-pxa", GPIO_GUMSTIX_USB_GPIOx,
> > -			    "pullup", GPIO_ACTIVE_HIGH),
> > -		{ },
> > -	},
> > +static const struct property_entry spitz_mci_props[] __initconst = {
> > +	PROPERTY_ENTRY_GPIO("vbus-gpios", &pxa2xx_gpiochip_node,
> > +			    GPIO_GUMSTIX_USB_GPIOn, GPIO_ACTIVE_HIGH),
> > +	PROPERTY_ENTRY_GPIO("pullup-gpios", &pxa2xx_gpiochip_node,
> > +			    GPIO_GUMSTIX_USB_GPIOx, GPIO_ACTIVE_HIGH),
> > +	{ }
> >  };
> > 
> 
> This is missing a few #include, the name spitz_mci_props[]
> is wrong for this file and the array is not referenced anywhere.

Ugh, you are right. Its weird that it does not warn me that the compiler
did not warn me that it is not used... It built for me with
pxa_defconfig so I assumed it was all good.

Ahh, by default it forces CONFIG_USB_PXA25X to be a module and that
skips that block in gumstix.c. I'll change it to IS_ENABLED() because it
should not matter if USB/UDC is built-in or is a module.

> 
> I assume the gumstix_gpio_vbus_info needs to be turned into
> an swnode, but I haven't figured out how to do this.

It is just a matter of initializing .properties in
gumstix_gpio_vbus_info. 

> 
> Based on the recent board deprecation discussion, I expect
> that there are no users and that we will remove this machine
> early next year, so we don't need to care about making it
> pretty now, but maybe you can send a patch to make it build
> again.

Yes, of course. Could you please try the patch below? And if you see
failures, please share your .config.

> 
>     Arnd

-- 
Dmitry

From cff436e3405b7f938e60f693ca7c8410266a893b Mon Sep 17 00:00:00 2001
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: Tue, 6 Aug 2024 09:12:58 -0700
Subject: [PATCH] ARM: pxa/gumstix: fix attaching properties to vbus gpio device

Commit f1d6588af93b tried to convert GPIO lookup tables to software
properties for the vbus gpio device, bit forgot the most important
step: actually attaching the new properties to the device.

Also fix up the name of the property array to reflect the board name,
and add missing gpio/property.h and devices.h includes absence of which
causes compile failures on some configurations.

Switch "#ifdef CONFIG_USB_PXA25X" to "#if IS_ENABLED(CONFIG_USB_PXA25X)"
because it should not matter if the driver is buolt in or a module, it
still need vbus controls.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Fixes: f1d6588af93b ("ARM: pxa/gumstix: convert vbus gpio to use software nodes")
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
 arch/arm/mach-pxa/gumstix.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c
index efa6faa62a2c..1713bdf3b71e 100644
--- a/arch/arm/mach-pxa/gumstix.c
+++ b/arch/arm/mach-pxa/gumstix.c
@@ -21,6 +21,7 @@
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/partitions.h>
 #include <linux/gpio/machine.h>
+#include <linux/gpio/property.h>
 #include <linux/gpio.h>
 #include <linux/err.h>
 #include <linux/clk.h>
@@ -40,6 +41,7 @@
 #include <linux/platform_data/mmc-pxamci.h>
 #include "udc.h"
 #include "gumstix.h"
+#include "devices.h"
 
 #include "generic.h"
 
@@ -99,8 +101,8 @@ static void __init gumstix_mmc_init(void)
 }
 #endif
 
-#ifdef CONFIG_USB_PXA25X
-static const struct property_entry spitz_mci_props[] __initconst = {
+#if IS_ENABLED(CONFIG_USB_PXA25X)
+static const struct property_entry gumstix_vbus_props[] __initconst = {
 	PROPERTY_ENTRY_GPIO("vbus-gpios", &pxa2xx_gpiochip_node,
 			    GPIO_GUMSTIX_USB_GPIOn, GPIO_ACTIVE_HIGH),
 	PROPERTY_ENTRY_GPIO("pullup-gpios", &pxa2xx_gpiochip_node,
@@ -109,8 +111,9 @@ static const struct property_entry spitz_mci_props[] __initconst = {
 };
 
 static const struct platform_device_info gumstix_gpio_vbus_info __initconst = {
-	.name	= "gpio-vbus",
-	.id	= PLATFORM_DEVID_NONE,
+	.name		= "gpio-vbus",
+	.id		= PLATFORM_DEVID_NONE,
+	.properties	= gumstix_vbus_props,
 };
 
 static void __init gumstix_udc_init(void)
-- 
2.46.0.rc2.264.g509ed76dc8-goog



  reply	other threads:[~2024-08-06 16:58 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-28 18:08 [PATCH 00/10] ARM: pxa: use software nodes/properties for GPIOs Dmitry Torokhov
2024-06-28 18:08 ` [PATCH 01/10] ARM: spitz: fix GPIO assignment for backlight Dmitry Torokhov
2024-06-28 18:08 ` [PATCH 02/10] ARM: pxa: consolidate GPIO chip platform data Dmitry Torokhov
2024-06-28 18:08 ` [PATCH 03/10] ARM: pxa/gumstix: convert vbus gpio to use software nodes Dmitry Torokhov
2024-08-06  7:19   ` Arnd Bergmann
2024-08-06 16:58     ` Dmitry Torokhov [this message]
2024-08-06 20:36       ` Arnd Bergmann
2024-06-28 18:08 ` [PATCH 04/10] ARM: spitz: Simplify instantiating SPI controller Dmitry Torokhov
2024-06-28 18:08 ` [PATCH 05/10] ARM: spitz: Use software nodes to describe SPI CS lines Dmitry Torokhov
2024-06-28 18:08 ` [PATCH 06/10] ARM: spitz: Use software nodes to describe audio GPIOs Dmitry Torokhov
2024-06-28 18:08 ` [PATCH 07/10] ARM: spitz: Use software nodes to describe LCD GPIOs Dmitry Torokhov
2024-06-28 18:08 ` [PATCH 08/10] ARM: spitz: Use software nodes to describe MMC GPIOs Dmitry Torokhov
2024-06-28 18:08 ` [PATCH 09/10] ARM: spitz: Use software nodes to describe LED GPIOs Dmitry Torokhov
2024-06-28 18:08 ` [PATCH 10/10] ARM: spitz: Use software nodes for the ADS7846 touchscreen Dmitry Torokhov
2024-06-28 20:59 ` [PATCH 00/10] ARM: pxa: use software nodes/properties for GPIOs Arnd Bergmann
2024-06-28 21:08   ` Arnd Bergmann
2024-06-28 21:44   ` Dmitry Torokhov
2024-06-29  7:34     ` Arnd Bergmann
2024-06-30  8:07 ` Linus Walleij
2024-06-30  8:41   ` Arnd Bergmann

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=ZrJWJoDdNTLuIViH@google.com \
    --to=dmitry.torokhov@gmail.com \
    --cc=arnd@arndb.de \
    --cc=daniel@zonque.org \
    --cc=haojian.zhuang@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robert.jarzmik@free.fr \
    --cc=soc@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox