On Sun, Jun 21, 2020 at 11:02:30PM +0000, Colton Lewis wrote:
> On Sunday, June 21, 2020 10:53:45 AM CDT Russell King - ARM Linux admin wrote:
> > > ---
> > > */
> > > struct phylink_config {
> > > struct device *dev;
> > > @@ -331,7 +333,7 @@ void pcs_get_state(struct phylink_config *config,
> > > *
> > > * For most 10GBASE-R, there is no advertisement.
> > > */
> > > -int (*pcs_config)(struct phylink_config *config, unsigned int mode,
> > > +int *pcs_config(struct phylink_config *config, unsigned int mode,
> > > phy_interface_t interface, const unsigned long *advertising);
> >
> > *Definitely* a NAK on this and two changes below. You're changing the
> > function signature to be incorrect. If the documentation can't parse
> > a legitimate C function pointer declaration and allow it to be
> > documented, then that's a problem with the documentation's parsing of
> > C code, rather than a problem with the C code itself.
>
> I realize this changes the signature, but this declaration is not compiled.
> It is under an #if 0 with a comment stating it exists for kernel-doc purposes
> only. The *real* function pointer declaration exists in struct
> phylink_pcs_ops.
>
> Given the declaration is there exclusively for documentation, it makes sense
> to change it so the documentation system can parse it.
My objection is that you are changing the return type from (e.g.)
"int" to "int *", which will then end up in the documentation as
such, and the documentation will, therefore, be incorrect.
I have subsequently realised that I didn't follow my own pattern
for documenting phylink_mac_ops - a correct solution would be to
drop the parens _and_ the "*" preceding the function name, so:
int pcs_config(struct phylink_config *config, unsigned int mode,
...
Thanks.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!