Message ID | 20231017171655.177096-1-colin.i.king@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [next] thermal: lvts: make some read-only arrays static const | expand |
Hi Colin, On 17/10/2023 19:16, Colin Ian King wrote: > Don't populate the read-only arrays on the stack, instead make them > static const. Why ? > Make lvts_write_config parameters cmds and nr_cmds > const too. > > Signed-off-by: Colin Ian King <colin.i.king@gmail.com> > --- > drivers/thermal/mediatek/lvts_thermal.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/drivers/thermal/mediatek/lvts_thermal.c b/drivers/thermal/mediatek/lvts_thermal.c > index 877a0e5ac3fd..b20e69cb466f 100644 > --- a/drivers/thermal/mediatek/lvts_thermal.c > +++ b/drivers/thermal/mediatek/lvts_thermal.c > @@ -308,7 +308,7 @@ static int lvts_get_temp(struct thermal_zone_device *tz, int *temp) > > static void lvts_update_irq_mask(struct lvts_ctrl *lvts_ctrl) > { > - u32 masks[] = { > + static const u32 masks[] = { > LVTS_MONINT_OFFSET_SENSOR0, > LVTS_MONINT_OFFSET_SENSOR1, > LVTS_MONINT_OFFSET_SENSOR2, > @@ -400,7 +400,7 @@ static irqreturn_t lvts_ctrl_irq_handler(struct lvts_ctrl *lvts_ctrl) > { > irqreturn_t iret = IRQ_NONE; > u32 value; > - u32 masks[] = { > + static const u32 masks[] = { > LVTS_INT_SENSOR0, > LVTS_INT_SENSOR1, > LVTS_INT_SENSOR2, > @@ -781,7 +781,7 @@ static int lvts_ctrl_init(struct device *dev, struct lvts_domain *lvts_td, > * each write in the configuration register must be separated by a > * delay of 2 us. > */ > -static void lvts_write_config(struct lvts_ctrl *lvts_ctrl, u32 *cmds, int nr_cmds) > +static void lvts_write_config(struct lvts_ctrl *lvts_ctrl, const u32 *cmds, const int nr_cmds) > { > int i; > > @@ -865,7 +865,8 @@ static int lvts_ctrl_set_enable(struct lvts_ctrl *lvts_ctrl, int enable) > > static int lvts_ctrl_connect(struct device *dev, struct lvts_ctrl *lvts_ctrl) > { > - u32 id, cmds[] = { 0xC103FFFF, 0xC502FF55 }; > + u32 id; > + static const u32 cmds[] = { 0xC103FFFF, 0xC502FF55 }; > > lvts_write_config(lvts_ctrl, cmds, ARRAY_SIZE(cmds)); > > @@ -889,7 +890,7 @@ static int lvts_ctrl_initialize(struct device *dev, struct lvts_ctrl *lvts_ctrl) > /* > * Write device mask: 0xC1030000 > */ > - u32 cmds[] = { > + static const u32 cmds[] = { > 0xC1030E01, 0xC1030CFC, 0xC1030A8C, 0xC103098D, 0xC10308F1, > 0xC10307A6, 0xC10306B8, 0xC1030500, 0xC1030420, 0xC1030300, > 0xC1030030, 0xC10300F6, 0xC1030050, 0xC1030060, 0xC10300AC,
diff --git a/drivers/thermal/mediatek/lvts_thermal.c b/drivers/thermal/mediatek/lvts_thermal.c index 877a0e5ac3fd..b20e69cb466f 100644 --- a/drivers/thermal/mediatek/lvts_thermal.c +++ b/drivers/thermal/mediatek/lvts_thermal.c @@ -308,7 +308,7 @@ static int lvts_get_temp(struct thermal_zone_device *tz, int *temp) static void lvts_update_irq_mask(struct lvts_ctrl *lvts_ctrl) { - u32 masks[] = { + static const u32 masks[] = { LVTS_MONINT_OFFSET_SENSOR0, LVTS_MONINT_OFFSET_SENSOR1, LVTS_MONINT_OFFSET_SENSOR2, @@ -400,7 +400,7 @@ static irqreturn_t lvts_ctrl_irq_handler(struct lvts_ctrl *lvts_ctrl) { irqreturn_t iret = IRQ_NONE; u32 value; - u32 masks[] = { + static const u32 masks[] = { LVTS_INT_SENSOR0, LVTS_INT_SENSOR1, LVTS_INT_SENSOR2, @@ -781,7 +781,7 @@ static int lvts_ctrl_init(struct device *dev, struct lvts_domain *lvts_td, * each write in the configuration register must be separated by a * delay of 2 us. */ -static void lvts_write_config(struct lvts_ctrl *lvts_ctrl, u32 *cmds, int nr_cmds) +static void lvts_write_config(struct lvts_ctrl *lvts_ctrl, const u32 *cmds, const int nr_cmds) { int i; @@ -865,7 +865,8 @@ static int lvts_ctrl_set_enable(struct lvts_ctrl *lvts_ctrl, int enable) static int lvts_ctrl_connect(struct device *dev, struct lvts_ctrl *lvts_ctrl) { - u32 id, cmds[] = { 0xC103FFFF, 0xC502FF55 }; + u32 id; + static const u32 cmds[] = { 0xC103FFFF, 0xC502FF55 }; lvts_write_config(lvts_ctrl, cmds, ARRAY_SIZE(cmds)); @@ -889,7 +890,7 @@ static int lvts_ctrl_initialize(struct device *dev, struct lvts_ctrl *lvts_ctrl) /* * Write device mask: 0xC1030000 */ - u32 cmds[] = { + static const u32 cmds[] = { 0xC1030E01, 0xC1030CFC, 0xC1030A8C, 0xC103098D, 0xC10308F1, 0xC10307A6, 0xC10306B8, 0xC1030500, 0xC1030420, 0xC1030300, 0xC1030030, 0xC10300F6, 0xC1030050, 0xC1030060, 0xC10300AC,
Don't populate the read-only arrays on the stack, instead make them static const. Make lvts_write_config parameters cmds and nr_cmds const too. Signed-off-by: Colin Ian King <colin.i.king@gmail.com> --- drivers/thermal/mediatek/lvts_thermal.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)