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