Re: [PATCH v3 1/8] tty: n_gsm: add restart parameter to DLC specific ioctl config

From: Ilpo Järvinen
Date: Mon Apr 24 2023 - 09:20:45 EST


On Mon, 24 Apr 2023, Greg KH wrote:

> On Mon, Apr 24, 2023 at 11:03:26AM +0000, Starke, Daniel wrote:
> > > > --- a/include/uapi/linux/gsmmux.h
> > > > +++ b/include/uapi/linux/gsmmux.h
> > > > @@ -58,7 +58,8 @@ struct gsm_dlci_config {
> > > > __u32 priority; /* Priority (0 for default value) */
> > > > __u32 i; /* Frame type (1 = UIH, 2 = UI) */
> > > > __u32 k; /* Window size (0 for default value) */
> > > > - __u32 reserved[8]; /* For future use, must be initialized to zero */
> > > > + __u32 restart; /* Force DLCI channel reset? */
> > >
> > > Why are you using a full 32 bits for just 1 bit of data here? Why not
> > > use a bitfield?
> >
> > The ioctrl guide states:
> > Bitfields and enums generally work as one would expect them to,
> > but some properties of them are implementation-defined, so it is better
> > to avoid them completely in ioctl interfaces.
> >
> > Therefore, I tried to avoid them here.
>
> Then use a u8?

To add further, I think that the ioctl guidance tries to say that C
bitfields using :number postfix are not a good idea, not that much to
disallow flag like content within an integer type.

--
i.

> > > And what happened to the request to turn the documentation for this
> > > structure into proper kerneldoc format?
> >
> > That applied to patch 2/8 and is unrelated to this patch. Another patch
> > will need to fix this.
> >
> > Link: https://lore.kernel.org/all/20230424075251.5216-2-daniel.starke@xxxxxxxxxxx/
>
> It's kind of related in that the format is not right :)
>
> As it's a few weeks before I am allowed to even apply this, please
> rework the series a bit.
>
> thanks,
>
> greg k-h
>