All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Bagas Sanjaya <bagasdotme@gmail.com>,
	linux-doc@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>
Cc: Jiri Slaby <jirislaby@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-serial <linux-serial@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Andy Shevchenko <andy.shevchenko@gmail.com>
Subject: Re: [PATCH v3 1/4] serial: Convert serial_rs485 to kernel doc
Date: Thu, 29 Sep 2022 11:39:15 +0300 (EEST)	[thread overview]
Message-ID: <75f07dbe-d1dd-ac18-5c8e-e6972e7fb28b@linux.intel.com> (raw)
In-Reply-To: <YzURJa1RnxP+uj5/@debian.me>

[-- Attachment #1: Type: text/plain, Size: 3418 bytes --]

On Thu, 29 Sep 2022, Bagas Sanjaya wrote:

> On Wed, Sep 28, 2022 at 02:05:06PM +0300, Ilpo Järvinen wrote:
> > diff --git a/include/uapi/linux/serial.h b/include/uapi/linux/serial.h
> > index cea06924b295..6e347eb10b1f 100644
> > --- a/include/uapi/linux/serial.h
> > +++ b/include/uapi/linux/serial.h
> > @@ -107,37 +107,57 @@ struct serial_icounter_struct {
> >  	int reserved[9];
> >  };
> >  
> > -/*
> > +/**
> > + * struct serial_rs485 - serial interface for controlling RS485 settings.
> > + * @flags:			RS485 feature flags.
> > + * @delay_rts_before_send:	Delay before send (milliseconds).
> > + * @delay_rts_after_send:	Delay after send (milliseconds).
> > + * @addr_recv:			Receive filter for RS485 addressing mode
> > + *				(used only when %SER_RS485_ADDR_RECV is set).
> > + * @addr_dest:			Destination address for RS485 addressing mode
> > + *				(used only when %SER_RS485_ADDR_DEST is set).
> > + * @padding0:			Padding (set to zero).
> > + * @padding1:			Padding (set to zero).
> > + * @padding:			Deprecated, use @padding0 and @padding1 instead.
> > + *				Do not use with @addr_recv and @addr_dest (due to
> > + *				overlap).
> > + *
> 
> I don't see definition of fields after @delay_rts_after_send in the
> htmldocs output.

So it seems, this one I had missed. I guess the reason is that those 
members are inside anonymous unions. But the formatting follows what 
is documented here AFAICT:

https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#nested-structs-unions

Kerneldoc doesn't seem to live up to what is documented about it. It's a 
bit ironic that documentation system fails to document even itself to 
sufficient level, and what's worse, seems to be full of faulty examples.

Any suggestions how to make it work?

> >   * Serial interface for controlling RS485 settings on chips with suitable
> >   * support. Set with TIOCSRS485 and get with TIOCGRS485 if supported by your
> >   * platform. The set function returns the new state, with any unsupported bits
> >   * reverted appropriately.
> > + *
> > + * serial_rs485::flags bits are:
> > + *
> > + * * %SER_RS485_ENABLED		- RS485 enabled.
> > + * * %SER_RS485_RTS_ON_SEND	- Logical level for RTS pin when sending.
> > + * * %SER_RS485_RTS_AFTER_SEND	- Logical level for RTS pin after sent.
> > + * * %SER_RS485_RX_DURING_TX	- Full-duplex RS485 line.
> > + * * %SER_RS485_TERMINATE_BUS	- Enable bus termination (if supported).
> > + * * %SER_RS485_ADDRB		- Enable RS485 addressing mode.
> > + * * %SER_RS485_ADDR_RECV	- Receive address filter (enables @addr_recv).
> > + *				  Requires %SER_RS485_ADDRB.
> > + * * %SER_RS485_ADDR_DEST	- Destination address (enables @addr_dest).
> > + *				  Requires %SER_RS485_ADDRB.
> 
> The last two items are rendered as bold text instead (maybe due to missing
> fields rendering above?)

It just goes into some random formatting mode here. Even if I remove those 
field markers (@) it doesn't do formatting differently so your guesss is 
wrong.

I found now a way to make it work though. It works when I put the whole 
description on a single line but it comes at the cost of removing the 
alignment of those "-". The other way to make it work would be like this:

* * %SER_RS485_ADDR_RECV - Receive address filter (enables @addr_recv).
    Requires %SER_RS485_ADDRB.

...And that's no good. I guess the single-line approach is an acceptable 
compromise for this case.

-- 
 i.

  reply	other threads:[~2022-09-29  8:39 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-28 11:05 [PATCH v3 0/4] serial: RS485 kerneldoc/documentation improvements Ilpo Järvinen
2022-09-28 11:05 ` [PATCH v3 1/4] serial: Convert serial_rs485 to kernel doc Ilpo Järvinen
2022-09-29  3:29   ` Bagas Sanjaya
2022-09-29  8:39     ` Ilpo Järvinen [this message]
2022-09-29  8:50       ` Bagas Sanjaya
2022-09-29  9:25         ` Ilpo Järvinen
2022-09-28 11:05 ` [PATCH v3 2/4] Documentation: rs485: Link reference properly Ilpo Järvinen
2022-09-28 11:05 ` [PATCH v3 3/4] Documentation: rs485: Mention uart_get_rs485_mode() Ilpo Järvinen
2022-09-28 11:10   ` Andy Shevchenko
2022-09-28 11:52     ` Ilpo Järvinen
2022-09-28 11:05 ` [PATCH v3 4/4] Documentation: rs485: Fix struct referencing Ilpo Järvinen
2022-09-28 11:11 ` [PATCH v3 0/4] serial: RS485 kerneldoc/documentation improvements Andy Shevchenko

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=75f07dbe-d1dd-ac18-5c8e-e6972e7fb28b@linux.intel.com \
    --to=ilpo.jarvinen@linux.intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=bagasdotme@gmail.com \
    --cc=corbet@lwn.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /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.