[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230530122518.fca22556015bcdf8c588d274@hugovil.com>
Date: Tue, 30 May 2023 12:25:18 -0400
From: Hugo Villeneuve <hugo@...ovil.com>
To: Greg KH <gregkh@...uxfoundation.org>
Cc: robh+dt@...nel.org, krzysztof.kozlowski+dt@...aro.org,
conor+dt@...nel.org, jirislaby@...nel.org, jringle@...dpoint.com,
l.perczak@...lintechnologies.com, tomasz.mon@...lingroup.com,
linux-serial@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-gpio@...r.kernel.org,
Hugo Villeneuve <hvilleneuve@...onoff.com>
Subject: Re: [PATCH v4 7/9] serial: sc16is7xx: fix regression with GPIO
configuration
On Tue, 30 May 2023 11:25:53 +0100
Greg KH <gregkh@...uxfoundation.org> wrote:
> On Mon, May 29, 2023 at 10:07:09AM -0400, Hugo Villeneuve wrote:
> > From: Hugo Villeneuve <hvilleneuve@...onoff.com>
> >
> > Commit 679875d1d880 ("sc16is7xx: Separate GPIOs from modem control lines")
> > and commit 21144bab4f11 ("sc16is7xx: Handle modem status lines")
> > changed the function of the GPIOs pins to act as modem control
> > lines without any possibility of selecting GPIO function.
> >
> > As a consequence, applications that depends on GPIO lines configured
> > by default as GPIO pins no longer work as expected.
> >
> > Also, the change to select modem control lines function was done only
> > for channel A of dual UART variants (752/762). This was not documented
> > in the log message.
> >
> > Allow to specify GPIO or modem control line function in the device
> > tree, and for each of the ports (A or B).
> >
> > Do so by using the new device-tree property named
> > "modem-control-line-ports" (property added in separate patch).
> >
> > When registering GPIO chip controller, mask-out GPIO pins declared as
> > modem control lines according to this new "modem-control-line-ports"
> > DT property.
> >
> > Boards that need to have GPIOS configured as modem control lines
> > should add that property to their device tree. Here is a list of
> > boards using the sc16is7xx driver in their device tree and that may
> > need to be modified:
> > arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts
> > mips/boot/dts/ingenic/cu1830-neo.dts
> > mips/boot/dts/ingenic/cu1000-neo.dts
> >
> > Fixes: 679875d1d880 ("sc16is7xx: Separate GPIOs from modem control lines")
> > Fixes: 21144bab4f11 ("sc16is7xx: Handle modem status lines")
>
> So you are marking this as a "bugfix" and yet, it is at the end of a
> much larger series of patches. Does this fix require all of them? If
> so, it's not really relevant for stable kernels, right? Or is it?
Like I said to Andy, I will re-order the patches so that "bugfix" patches are first. See new order below.
> I'm confused, what should I, as a maintainer, do here? Take just this
> one fix for 6.4-final, and the rest for 6.5-rc1? And add a proper cc:
> stable@ tag? Or queue them all up for 6.4-final? Or all for 6.5-rc1?
> Or something else?
>
> What would you want to see if you were in my position here to help make
> your life easier?
>From what I understand from https://www.kernel.org/doc/Documentation/process/stable-kernel-rules.rst,
here is the new proposed patches order as well as what I plan to do in the commit message:
2f0f23e598df serial: sc16is7xx: fix broken port 0 uart init
I will add tag "Cc: <stable@...r.kernel.org>"
This patch is a prerequiste of "fix regression with GPIO configuration".
f292951c521e serial: sc16is7xx: mark IOCONTROL register as volatile
I will add tag "Cc: <stable@...r.kernel.org>"
This patch is a prerequiste of "fix regression with GPIO configuration".
This patch has no "Fixes:" tag because it doesn't fix a previous bug, but Lech Perczak reported that it was required for
patch "fix regression with GPIO configuration" to work.
78930d607121 serial: sc16is7xx: refactor GPIO controller registration
This patch is a prerequiste of "fix regression with GPIO configuration".
It was done separately to ease the review process, but from a stable kernel backport, maybe it would be best to integrate it directly into "fix regression with GPIO configuration"?
If not, should I add tag "Cc: <stable@...r.kernel.org>"?
f7ba105873d7 dt-bindings: sc16is7xx: Add property to change GPIO function
This patch is a prerequiste of "fix regression with GPIO configuration".
I will add tag "Cc: <stable@...r.kernel.org>"
Should I add a tag "Fixes: " like I did in patch "fix regression with GPIO configuration"?
f2238e8f69b0 serial: sc16is7xx: fix regression with GPIO configuration
I will add tags:
Cc: <stable@...r.kernel.org> 2f0f23e5 serial: sc16is7xx: fix broken port 0 uart init
Cc: <stable@...r.kernel.org> f292951c serial: sc16is7xx: mark IOCONTROL register as volatile
Cc: <stable@...r.kernel.org> 78930d60 serial: sc16is7xx: refactor GPIO controller registration
Cc: <stable@...r.kernel.org> f7ba1058 dt-bindings: sc16is7xx: Add property to change GPIO function
Cc: <stable@...r.kernel.org>
2d98ab070b70 serial: sc16is7xx: fix bug when first setting GPIO direction
This is a standalone bugfix
I will add tag "Cc: <stable@...r.kernel.org>"
658e39d9073e serial: sc16is7xx: add call to get rs485 DT flags and properties
Enhancement
588aac544e00 serial: sc16is7xx: add post reset delay
Enhancement
5bb1b45bca81 serial: sc16is7xx: improve comments about variants
Comments enhancements
Please tell me if it makes sense and if some tags are wrong/missing.
Hugo.
Powered by blists - more mailing lists