Subject: Re: [PATCH net-next] net: phylink: constify fwnode arguments

From: "Russell King (Oracle)" <[email-masked]>
Date: Thu, 11 May 2023 16:31:34 +0100

On Thu, May 11, 2023 at 03:47:13PM +0200, Paolo Abeni wrote:
> On Thu, 2023-05-11 at 12:32 +0100, Russell King (Oracle) wrote:
> > On Thu, May 11, 2023 at 01:29:50PM +0200, Paolo Abeni wrote:
> > > On Wed, 2023-05-10 at 12:03 +0100, Russell King (Oracle) wrote:
> > > > diff --git a/include/linux/phylink.h b/include/linux/phylink.h
> > > > index 71755c66c162..02c777ad18f2 100644
> > > > --- a/include/linux/phylink.h
> > > > +++ b/include/linux/phylink.h
> > > > @@ -568,7 +568,8 @@ void phylink_generic_validate(struct phylink_config *config,
> > > >  			      unsigned long *supported,
> > > >  			      struct phylink_link_state *state);
> > > >  
> > > > -struct phylink *phylink_create(struct phylink_config *, struct fwnode_handle *,
> > > > +struct phylink *phylink_create(struct phylink_config *,
> > > > +			       const struct fwnode_handle *,
> > > 
> > > While touching the above, could you please also add the missing params
> > > name, to keep checkpatch happy and be consistent with the others
> > > arguments?
> > 
> > For interest, when did naming parameters in a prototype become a
> > requirement?
> 
> I would not call it a general requirement, but in this specific case we
> have 2 named params and 2 unnamed ones for the same function, which
> looks not good to me. Since you are touching that function definition
> and checkpatch is complaining about the above, I think it would be
> better to make the function declaration self-consistent.
> 
> Looking again at the checkpatch warning, that is possibly a false
> positive - git history hints such check should apply only to function
> definition, not declaration. 
> 
> I still think it would be better removing the mixed unnamed/named
> params usage.

In this particular instance, I think removing them is appropriate,
since giving names for them doesn't contribute anything useful
(since the types give allt he information necessary.)

However, for something like a function that takes e.g. a u32 and a
bunch of other unique structs, I think it is entirely appropriate
to use mixed named/unnamed parameters - since a "u32" can't describe
on its own what it is. Hence, I think, e.g.:

int phylink_of_phy_connect(struct phylink *, struct device_node *, u32 flags);

is entirely reasonable, since "flags" describes what the u32 is.
Adding "pl" and "dn" to the other two arguments doesn't add any
useful value.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!