public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: William Breathitt Gray <wbg@kernel.org>
To: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: William Breathitt Gray <wbg@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Bartosz Golaszewski <bartosz.golaszewski@linaro.org>,
	Michael Walle <mwalle@kernel.org>,
	Ioana Ciornei <ioana.ciornei@nxp.com>,
	Mark Brown <broonie@kernel.org>,
	linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
	Mark Cave-Ayland <mark.caveayland@nutanix.com>,
	stable@vger.kernel.org
Subject: Re: [PATCH v2 3/3] gpio: idio-16: Define fixed direction of the GPIO lines
Date: Wed, 22 Oct 2025 11:18:42 +0900	[thread overview]
Message-ID: <20251022021843.6073-1-wbg@kernel.org> (raw)
In-Reply-To: <CAMRc=MeFZTDk4cgzEJNnkrJOEneFUBLwtKjkpV3-cLSm=xsxNg@mail.gmail.com>

On Tue, Oct 21, 2025 at 09:21:38AM -0400, Bartosz Golaszewski wrote:
> On Mon, 20 Oct 2025 10:51:46 +0200, William Breathitt Gray
> <wbg@kernel.org> said:
> > The direction of the IDIO-16 GPIO lines is fixed with the first 16 lines
> > as output and the remaining 16 lines as input. Set the gpio_config
> > fixed_direction_output member to represent the fixed direction of the
> > GPIO lines.
> >
> > Fixes: db02247827ef ("gpio: idio-16: Migrate to the regmap API")
> > Reported-by: Mark Cave-Ayland <mark.caveayland@nutanix.com>
> > Closes: https://lore.kernel.org/r/9b0375fd-235f-4ee1-a7fa-daca296ef6bf@nutanix.com
> > Suggested-by: Michael Walle <mwalle@kernel.org>
> > Cc: stable@vger.kernel.org # ae495810cffe: gpio: regmap: add the .fixed_direction_output configuration parameter
> > Cc: stable@vger.kernel.org
> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > Signed-off-by: William Breathitt Gray <wbg@kernel.org>
> > ---
> >  drivers/gpio/gpio-idio-16.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/drivers/gpio/gpio-idio-16.c b/drivers/gpio/gpio-idio-16.c
> > index 0103be977c66bb8d165c1c92123368be6832d120..4fbae6f6a49727df40f2793b42ca207d78ec272b 100644
> > --- a/drivers/gpio/gpio-idio-16.c
> > +++ b/drivers/gpio/gpio-idio-16.c
> > @@ -6,6 +6,7 @@
> >
> >  #define DEFAULT_SYMBOL_NAMESPACE "GPIO_IDIO_16"
> >
> > +#include <linux/bitmap.h>
> >  #include <linux/bits.h>
> >  #include <linux/device.h>
> >  #include <linux/err.h>
> > @@ -107,6 +108,7 @@ int devm_idio_16_regmap_register(struct device *const dev,
> >  	struct idio_16_data *data;
> >  	struct regmap_irq_chip *chip;
> >  	struct regmap_irq_chip_data *chip_data;
> > +	DECLARE_BITMAP(fixed_direction_output, IDIO_16_NGPIO);
> >
> >  	if (!config->parent)
> >  		return -EINVAL;
> > @@ -164,6 +166,9 @@ int devm_idio_16_regmap_register(struct device *const dev,
> >  	gpio_config.irq_domain = regmap_irq_get_domain(chip_data);
> >  	gpio_config.reg_mask_xlate = idio_16_reg_mask_xlate;
> >
> > +	bitmap_from_u64(fixed_direction_output, GENMASK_U64(15, 0));
> > +	gpio_config.fixed_direction_output = fixed_direction_output;
> > +
> >  	return PTR_ERR_OR_ZERO(devm_gpio_regmap_register(dev, &gpio_config));
> >  }
> >  EXPORT_SYMBOL_GPL(devm_idio_16_regmap_register);
> >
> > --
> > 2.51.0
> >
> >
> 
> Turns out, this requires commit ae495810cffe ("gpio: regmap: add the
> .fixed_direction_output configuration parameter") so I cannot queue it for
> v6.18. What do you want me to do? Send the first two ones upstream and apply
> this for v6.19?
> 
> Bartosz

Sorry for the confusion this caused. It looks like `b4 prep --edit-deps`
will add explict dependencies, so I'll use that from now on to hopefully
prevent this kind of problem in the future.

So we'll need this fix in v6.18 as well because the IDIO-16 drivers are
completely broken right now. In theory we could revert the entire GPIO
regmap migration series [^1], but that would be a far more invasive
solution prone to further regressions. Instead, picking the commit
ae495810cffe dependency with the remaining patches is the cleanest
solution to this regression.

William Breathitt Gray

[^1] https://lore.kernel.org/r/cover.1680618405.git.william.gray@linaro.org

  parent reply	other threads:[~2025-10-22  2:19 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-20  8:51 [PATCH v2 0/3] gpio: idio-16: Fix regmap initialization errors William Breathitt Gray
2025-10-20  8:51 ` [PATCH v2 1/3] gpio: 104-idio-16: Define maximum valid register address offset William Breathitt Gray
2025-10-20  8:51 ` [PATCH v2 2/3] gpio: pci-idio-16: " William Breathitt Gray
2025-10-20  8:51 ` [PATCH v2 3/3] gpio: idio-16: Define fixed direction of the GPIO lines William Breathitt Gray
2025-10-21 13:21   ` Bartosz Golaszewski
2025-10-21 14:41     ` Andy Shevchenko
2025-10-21 14:49       ` Bartosz Golaszewski
2025-10-21 15:04         ` Andy Shevchenko
2025-10-22  2:18     ` William Breathitt Gray [this message]
2025-10-22  6:50       ` Bartosz Golaszewski
2025-10-21  7:15 ` [PATCH v2 0/3] gpio: idio-16: Fix regmap initialization errors Linus Walleij
2025-10-21  9:50 ` Bartosz Golaszewski
2025-10-22  6:54 ` (subset) " Bartosz Golaszewski

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=20251022021843.6073-1-wbg@kernel.org \
    --to=wbg@kernel.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bartosz.golaszewski@linaro.org \
    --cc=brgl@bgdev.pl \
    --cc=broonie@kernel.org \
    --cc=ioana.ciornei@nxp.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.caveayland@nutanix.com \
    --cc=mwalle@kernel.org \
    --cc=stable@vger.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