On Sat, Oct 24, 2020 at 08:28:27AM +0200, Mauro Carvalho Chehab wrote:
> If the intent is to document the struct and its internal fields,
> this kernel-doc should work:
> 
>       /**
>        * struct refcount_struct - variant of atomic_t specialized for 
> reference counts
>        * @refs: atomic_t counter field
>        *
>        * The counter saturates at REFCOUNT_SATURATED and will not move once
>        * there. This avoids wrapping the counter and causing 'spurious'
>        * use-after-free bugs.
>        */
> 
> Which produces this result:

Who cares... :-(

> If you want both, then you would either split struct and typedef, e. g.
> with something like:
> 
>       /**
>        * struct refcount_struct - variant of atomic_t specialized for 
> reference counts
>        * @refs: atomic_t counter field
>        *
>        * The counter saturates at REFCOUNT_SATURATED and will not move once
>        * there. This avoids wrapping the counter and causing 'spurious'
>        * use-after-free bugs.
>        */
>       struct refcount_struct {
>               atomic_t refs;
>       };
> 
>       /**
>        * typedef refcount_t - variant of atomic_t specialized for reference 
> counts
>        * @refs: atomic_t counter field
>        *
>        * The counter saturates at REFCOUNT_SATURATED and will not move once
>        * there. This avoids wrapping the counter and causing 'spurious'
>        * use-after-free bugs.
>        */
>       typedef struct refcount_struct refcount_t;
> 
> Or, you could add the member at the description field. E. g. something
> like this:
> 
>       /**
>        * typedef refcount_t - variant of atomic_t specialized for reference 
> counts
>        *
>        * The counter saturates at REFCOUNT_SATURATED and will not move once
>        * there. This avoids wrapping the counter and causing 'spurious'
>        * use-after-free bugs.
>        *
>        * Members:
>        *   ``refs``
>        *        atomic_t counter field
>        */
>       typedef struct refcount_struct {
>               atomic_t refs;
>       } refcount_t;
> 
> If you want to test it, you can run kernel-doc directly, to see how
> it will parse it. For ReST output, that's the syntax:
> 
>       ./scripts/kernel-doc --sphinx-version 3 include/linux/refcount.h

I'll just go ahead and remove the superfluous * from the comment... It's
trivially clear what is meant. If the stupid tool can't deal with that,
I don't care.

All this wanking about docs and making perfectly fine comments bloody
unreadable shit has to stop.

Reply via email to