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.