[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aBSaHL8sbLrGyEzw@smile.fi.intel.com>
Date: Fri, 2 May 2025 13:10:36 +0300
From: Andy Shevchenko <andriy.shevchenko@...el.com>
To: mathieu.dubois-briand@...tlin.com
Cc: Lee Jones <lee@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Kamel Bouhara <kamel.bouhara@...tlin.com>,
Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Uwe Kleine-König <ukleinek@...nel.org>,
Michael Walle <mwalle@...nel.org>, Mark Brown <broonie@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Danilo Krummrich <dakr@...nel.org>, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-gpio@...r.kernel.org,
linux-input@...r.kernel.org, linux-pwm@...r.kernel.org,
Grégory Clement <gregory.clement@...tlin.com>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>
Subject: Re: [PATCH v7 02/11] mfd: Add max7360 support
On Mon, Apr 28, 2025 at 01:57:20PM +0200, mathieu.dubois-briand@...tlin.com wrote:
> From: Kamel Bouhara <kamel.bouhara@...tlin.com>
>
> Add core driver to support MAX7360 i2c chip, multi function device
> with keypad, GPIO, PWM, GPO and rotary encoder submodules.
...
> +static int max7360_mask_irqs(struct regmap *regmap)
So, AFAICS this is used only at probe stage...
> +{
> + struct device *dev = regmap_get_device(regmap);
> + unsigned int val;
> + int ret;
> +
> + /*
> + * GPIO/PWM interrupts are not masked on reset: as the MAX7360 "INTI"
> + * interrupt line is shared between GPIOs and rotary encoder, this could
> + * result in repeated spurious interrupts on the rotary encoder driver
> + * if the GPIO driver is not loaded. Mask them now to avoid this
> + * situation.
> + */
> + for (unsigned int i = 0; i < MAX7360_PORT_PWM_COUNT; i++) {
> + ret = regmap_write_bits(regmap, MAX7360_REG_PWMCFG(i),
> + MAX7360_PORT_CFG_INTERRUPT_MASK,
> + MAX7360_PORT_CFG_INTERRUPT_MASK);
> + if (ret) {
> + dev_err(dev, "Failed to write max7360 port configuration");
> + return ret;
...if it's the case, use return dev_err_probe(...) here...
> + }
> + }
> +
> + /* Read GPIO in register, to ACK any pending IRQ. */
> + ret = regmap_read(regmap, MAX7360_REG_GPIOIN, &val);
> + if (ret)
> + dev_err(dev, "Failed to read gpio values: %d\n", ret);
> +
> + return ret;
...and here.
> +}
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists