On Mon, Mar 29, 2021 at 10:14:38AM +0200, Steen Hegelund wrote: > Use direct register operations instead of a table of register > information to lower the stack usage. > > Signed-off-by: Steen Hegelund <[email protected]> > Reported-by: kernel test robot <[email protected]> > --- > drivers/phy/microchip/sparx5_serdes.c | 1869 +++++++++++++------------ > 1 file changed, 951 insertions(+), 918 deletions(-) > > diff --git a/drivers/phy/microchip/sparx5_serdes.c > b/drivers/phy/microchip/sparx5_serdes.c > index 06bcf0c166cf..43de68a62c2f 100644 > --- a/drivers/phy/microchip/sparx5_serdes.c > +++ b/drivers/phy/microchip/sparx5_serdes.c > @@ -343,12 +343,6 @@ struct sparx5_sd10g28_params { > u8 fx_100; > }; > > -struct sparx5_serdes_regval { > - u32 value; > - u32 mask; > - void __iomem *addr; > -}; > - > static struct sparx5_sd25g28_media_preset media_presets_25g[] = { > { /* ETH_MEDIA_DEFAULT */ > .cfg_en_adv = 0, > @@ -945,431 +939,411 @@ static void sparx5_sd25g28_reset(void __iomem *regs[], > } > } > > -static int sparx5_sd25g28_apply_params(struct device *dev, > - void __iomem *regs[], > - struct sparx5_sd25g28_params *params, > - u32 sd_index) > +static int sparx5_sd25g28_apply_params(struct sparx5_serdes_macro *macro, > + struct sparx5_sd25g28_params *params) > { > - struct sparx5_serdes_regval item[] = {
Could you just add const here, and then it is no longer on the stack? Andrew

