[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2024011824-squiggle-foil-8db4@gregkh>
Date: Thu, 18 Jan 2024 09:44:19 +0100
From: Greg KH <gregkh@...uxfoundation.org>
To: Crescent CY Hsieh <crescentcy.hsieh@...a.com>
Cc: Christoph Niedermaier <cniedermaier@...electronics.com>,
jirislaby@...nel.org, LinoSanfilippo@....de, lukas@...ner.de,
linux-kernel@...r.kernel.org, linux-serial@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v6 1/2] tty: serial: Cleanup the bit shift with macro
On Thu, Jan 18, 2024 at 04:14:41PM +0800, Crescent CY Hsieh wrote:
> On Thu, Jan 18, 2024 at 08:01:58AM +0100, Greg KH wrote:
> > On Wed, Jan 17, 2024 at 03:56:23PM +0100, Christoph Niedermaier wrote:
> > > > struct serial_rs485 {
> > > > __u32 flags;
> > > > -#define SER_RS485_ENABLED (1 << 0)
> > > > -#define SER_RS485_RTS_ON_SEND (1 << 1)
> > > > -#define SER_RS485_RTS_AFTER_SEND (1 << 2)
> > >
> > > In the old definition (1 << 3) wasn't used.
> > >
> > > > -#define SER_RS485_RX_DURING_TX (1 << 4)
> > > > -#define SER_RS485_TERMINATE_BUS (1 << 5)
> > > > -#define SER_RS485_ADDRB (1 << 6)
> > > > -#define SER_RS485_ADDR_RECV (1 << 7)
> > > > -#define SER_RS485_ADDR_DEST (1 << 8)
> > > > +#define SER_RS485_ENABLED _BITUL(0)
> > > > +#define SER_RS485_RTS_ON_SEND _BITUL(1)
> > > > +#define SER_RS485_RTS_AFTER_SEND _BITUL(2)
> > > > +#define SER_RS485_RX_DURING_TX _BITUL(3)
> > >
> > > Isn't it a break if number 3 isn't skipped here as well?
>
> Sorry I might have misunderstood the meaning of "broke userspace".
>
> In this case, does it imply splitting the "cleanup" patch and the "add
> feature" patch, or leaving the third bit unused? Or perhaps both?
You can not redefine existing defines to different values, like you did
here, that changes the user/kernel api of the system.
Luckily this isn't in any released kernel, I'll either revert this after
-rc1 is out, or take a patch from anyone else to do so if they want to
send it now.
thanks,
greg k-h
Powered by blists - more mailing lists