Re: [PATCH 3/4] can: mcp251xfd: add gpio functionality

From: Marc Kleine-Budde
Date: Wed Apr 24 2024 - 09:02:33 EST


On 24.04.2024 11:35:59, Marc Kleine-Budde wrote:
> On 17.04.2024 15:43:56, Gregor Herburger wrote:
> > The mcp251xfd devices allow two pins to be configured as gpio. Add this
> > functionality to driver.
> >
> > Signed-off-by: Gregor Herburger <gregor.herburger@xxxxxxxxxxxxxxx>
> > ---
> > drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c | 138 ++++++++++++++++++++++-
> > drivers/net/can/spi/mcp251xfd/mcp251xfd-regmap.c | 21 +++-
> > drivers/net/can/spi/mcp251xfd/mcp251xfd.h | 4 +
> > 3 files changed, 159 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
> > index eb699288c076..5ba9fd0af4b6 100644
> > --- a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
> > +++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
>
> [...]
>
> > +static int mcp251fdx_gpio_setup(struct mcp251xfd_priv *priv)
> > +{
> > + struct gpio_chip *gc = &priv->gc;
> > +
> > + if (!device_property_present(&priv->spi->dev, "gpio-controller"))
> > + return 0;
> > +
> > + if (priv->rx_int)
> > + return dev_err_probe(&priv->spi->dev, -EINVAL,
> > + "Can't configure gpio-controller with RX-INT!\n");
>
> Can you enhance the DT binding to reflect this?

Another option would be to check if RX-INT is configured in the
mcp251xfd_gpio_request() callback and refuse to request GPIO1.

regards,
Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung Nürnberg | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |

Attachment: signature.asc
Description: PGP signature