Re: [PATCH 1/6] auxbus: make to_auxiliary_drv accept and return a constant pointer

From: Greg Kroah-Hartman
Date: Wed Jun 12 2024 - 04:20:55 EST


On Tue, Jun 11, 2024 at 03:50:47PM +0200, Przemek Kitszel wrote:
> On 6/11/24 15:01, Greg Kroah-Hartman wrote:
> > In the quest to make struct device constant, start by making
>
> just curious, how far it will go? eg. do you plan to convert
> get/put_device() to accept const?

Ugh, that should have said "in the quest to make struct device_driver
const", not device. devices obviously can't be constant everywhere as
they are dynamically created.

> or convert devlink API to accept
> consts?

Again, sorry, no, typo on my part.

>
> > to_auziliary_drv() return a constant pointer so that drivers that call
>
> typo: s/auz/aux/

I'll fix this typo up, and the one above, when I commit it.

>
> > this can be fixed up before the driver core changes.
> >
> > As the return type previously was not constant, also fix up all callers
> > that were assuming that the pointer was not going to be a constant one
> > in order to not break the build.
> >
> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>
>
> [...]
>
> > diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
> > index 0f17fc1181d2..7341e7c4ef24 100644
> > --- a/drivers/net/ethernet/intel/ice/ice_ptp.c
> > +++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
> > @@ -2784,7 +2784,7 @@ static struct ice_pf *
> > ice_ptp_aux_dev_to_owner_pf(struct auxiliary_device *aux_dev)
> > {
> > struct ice_ptp_port_owner *ports_owner;
> > - struct auxiliary_driver *aux_drv;
> > + const struct auxiliary_driver *aux_drv;
> > struct ice_ptp *owner_ptp;
> > if (!aux_dev->dev.driver)
> > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/dev.c b/drivers/net/ethernet/mellanox/mlx5/core/dev.c
> > index 47e7c2639774..9a79674d27f1 100644
> > --- a/drivers/net/ethernet/mellanox/mlx5/core/dev.c
> > +++ b/drivers/net/ethernet/mellanox/mlx5/core/dev.c
> > @@ -349,7 +349,7 @@ int mlx5_attach_device(struct mlx5_core_dev *dev)
> > {
> > struct mlx5_priv *priv = &dev->priv;
> > struct auxiliary_device *adev;
> > - struct auxiliary_driver *adrv;
> > + const struct auxiliary_driver *adrv;
>
> nit: in netdev we do maintain RCT order of initialization

what does that mean? Nothing is being initialized here.

thanks,

greg k-h