From: andy.shevchenko@gmail.com
To: Hugo Villeneuve <hugo@hugovil.com>
Cc: andy.shevchenko@gmail.com, gregkh@linuxfoundation.org,
robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
conor+dt@kernel.org, jirislaby@kernel.org, jringle@gridpoint.com,
tomasz.mon@camlingroup.com, l.perczak@camlintechnologies.com,
linux-serial@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
Hugo Villeneuve <hvilleneuve@dimonoff.com>
Subject: Re: [PATCH v3 08/11] serial: sc16is7xx: fix regression with GPIO configuration
Date: Fri, 26 May 2023 21:34:29 +0300 [thread overview]
Message-ID: <ZHD7taBP0UthlPKp@surfacebook> (raw)
In-Reply-To: <20230525110255.6ffe0a0c3f88ae03c3fc5f25@hugovil.com>
Thu, May 25, 2023 at 11:02:55AM -0400, Hugo Villeneuve kirjoitti:
> On Thu, 25 May 2023 14:19:52 +0300
> andy.shevchenko@gmail.com wrote:
> > Thu, May 25, 2023 at 12:03:22AM -0400, Hugo Villeneuve kirjoitti:
...
> > I'm wondering if we can avoid adding new ifdefferies...
>
> I am simply following waht was already done in the existing driver.
>
> Are you suggesting that we need to remove all these #defines? If not, what
> exactly do you suggest?
I was wondering and have nothing to suggest here. It seems a burden we have to
cope with for now.
> > > + s->gpio_configured = devtype->nr_gpio;
> >
> > The name of the variable is a bit vague WRT its content.
> > Shouldn't be as simple as the rvalue, i.e. s->nr_gpio?
>
> Maybe the name could be improved (and/or comments).
>
> devtype->nr_gpio is the maximum "theoretical" number of GPIOs supported by
> the chip.
>
> s->gpio_configured is the number of GPIOs that are configured or requested
> according to the presence (or not) of the modem-control-line-ports property.
>
> I wanted to avoid using the same name to avoid potential confusion.
>
> Maybe devtype->nr_gpio could be renamed to devtype->nr_gpio_max and
> s->gpio_configured to s->nr_gpio_requested or s->nr_gpio_configured?
Maybe, but first try the approach with valid mask being involved. It may be
that we won't need this variable at all.
...
> > > + of_property_for_each_u32(dev->of_node, "nxp,modem-control-line-ports",
> > > + prop, p, u)
> >
> > The driver so far is agnostic to property provider. Please keep it that way,
> > i.e. no of_ APIs.
>
> The driver, before my patches, was already using the exact same function
> of_property_for_each_u32() to process the irda-mode-ports property, so I
> don't understand your comment.
This is unfortunate. I missed that one, but i don't care about IrDA so much.
> But what do you suggest instead of of_property_for_each_u32()? And do we need
> to change it also for processing the irda-mode-ports property?
device_property_read_u32_array().
Independently on the IrDA case, this one is more important and would have
consequences if we avoid agnostic APIs.
...
> > > + if (u < devtype->nr_uart) {
> >
> > Hmm... What other can it be?
>
> Again, this is similar to the handling of the irda-mode-ports property.
>
> But I am not sure I understand your question/concern?
>
> I think this check is important, because if someone puts the following
> property in a DT:
>
> nxp,modem-control-line-ports = <0 1>;
>
> but the variant only supports 1 port, then the check is usefull, no?
But you have below checks for u value. Wouldn't be enough?
> > > + /* Use GPIO lines as modem control lines */
> > > + if (u == 0)
> > > + val |= SC16IS7XX_IOCONTROL_MODEM_A_BIT;
> > > + else if (u == 1)
> > > + val |= SC16IS7XX_IOCONTROL_MODEM_B_BIT;
> > > +
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2023-05-26 18:35 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-25 4:03 [PATCH v3 00/11] serial: sc16is7xx: fix GPIO regression and rs485 improvements Hugo Villeneuve
2023-05-25 4:03 ` [PATCH v3 01/11] serial: sc16is7xx: fix syntax error in comments Hugo Villeneuve
2023-05-25 4:03 ` [PATCH v3 02/11] serial: sc16is7xx: improve comments about variants Hugo Villeneuve
2023-05-25 4:03 ` [PATCH v3 03/11] serial: sc16is7xx: mark IOCONTROL register as volatile Hugo Villeneuve
2023-05-25 11:02 ` Ilpo Järvinen
2023-05-25 13:45 ` Hugo Villeneuve
2023-05-25 4:03 ` [PATCH v3 04/11] serial: sc16is7xx: add post reset delay Hugo Villeneuve
2023-05-25 10:30 ` andy.shevchenko
2023-05-25 13:18 ` Hugo Villeneuve
2023-05-25 11:05 ` Ilpo Järvinen
2023-05-25 14:05 ` Hugo Villeneuve
2023-05-25 4:03 ` [PATCH v3 05/11] serial: sc16is7xx: fix broken port 0 uart init Hugo Villeneuve
2023-05-25 11:20 ` Ilpo Järvinen
2023-05-25 15:10 ` Hugo Villeneuve
2023-05-25 4:03 ` [PATCH v3 06/11] serial: sc16is7xx: fix bug when first setting GPIO direction Hugo Villeneuve
2023-05-25 11:10 ` andy.shevchenko
2023-05-25 14:24 ` Hugo Villeneuve
2023-05-25 4:03 ` [PATCH v3 07/11] dt-bindings: sc16is7xx: Add property to change GPIO function Hugo Villeneuve
2023-05-25 11:11 ` andy.shevchenko
2023-05-25 14:34 ` Hugo Villeneuve
2023-05-25 15:15 ` Conor Dooley
2023-05-26 18:28 ` andy.shevchenko
2023-05-25 4:03 ` [PATCH v3 08/11] serial: sc16is7xx: fix regression with GPIO configuration Hugo Villeneuve
2023-05-25 11:19 ` andy.shevchenko
2023-05-25 15:02 ` Hugo Villeneuve
2023-05-26 18:34 ` andy.shevchenko [this message]
2023-05-25 12:03 ` Ilpo Järvinen
2023-05-25 15:19 ` Hugo Villeneuve
2023-05-25 4:03 ` [PATCH v3 09/11] serial: sc16is7xx: add I/O register translation offset Hugo Villeneuve
2023-05-25 11:22 ` andy.shevchenko
2023-05-25 15:31 ` Hugo Villeneuve
2023-05-25 17:20 ` Hugo Villeneuve
2023-05-26 18:36 ` andy.shevchenko
2023-05-25 12:10 ` Ilpo Järvinen
2023-05-25 15:25 ` Hugo Villeneuve
2023-05-25 4:03 ` [PATCH v3 10/11] serial: sc16is7xx: add call to get rs485 DT flags and properties Hugo Villeneuve
2023-05-25 12:17 ` Ilpo Järvinen
2023-05-25 4:03 ` [PATCH v3 11/11] serial: sc16is7xx: add dump registers function Hugo Villeneuve
2023-05-25 11:26 ` andy.shevchenko
2023-05-25 19:49 ` Hugo Villeneuve
2023-05-26 18:38 ` andy.shevchenko
2023-05-28 11:56 ` Greg KH
2023-05-25 10:27 ` [PATCH v3 00/11] serial: sc16is7xx: fix GPIO regression and rs485 improvements andy.shevchenko
2023-05-25 13:26 ` Hugo Villeneuve
2023-05-25 13:37 ` Andy Shevchenko
2023-05-25 13:39 ` Hugo Villeneuve
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=ZHD7taBP0UthlPKp@surfacebook \
--to=andy.shevchenko@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hugo@hugovil.com \
--cc=hvilleneuve@dimonoff.com \
--cc=jirislaby@kernel.org \
--cc=jringle@gridpoint.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=l.perczak@camlintechnologies.com \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=tomasz.mon@camlingroup.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.