2021-08-01 06:33:46

by Colin King

[permalink] [raw]
Subject: [PATCH] ASoC: rsnd: make some arrays static const, makes object smaller

From: Colin Ian King <[email protected]>

Don't populate arrays on the stack but instead them static const.
Makes the object code smaller by 242 bytes.

Before:
text data bss dec hex filename
23827 8764 0 32591 7f4f ./sound/soc/sh/rcar/ssi.o

After:
text data bss dec hex filename
23361 8988 0 32349 7e5d ./sound/soc/sh/rcar/ssi.o

gcc version 10.2.0)

Signed-off-by: Colin Ian King <[email protected]>
---
sound/soc/sh/rcar/ssi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
index 27f34ca6059d..87e606f688d3 100644
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
@@ -165,7 +165,7 @@ static void rsnd_ssi_status_check(struct rsnd_mod *mod,

static u32 rsnd_ssi_multi_secondaries(struct rsnd_dai_stream *io)
{
- enum rsnd_mod_type types[] = {
+ static const enum rsnd_mod_type types[] = {
RSND_MOD_SSIM1,
RSND_MOD_SSIM2,
RSND_MOD_SSIM3,
@@ -228,7 +228,7 @@ unsigned int rsnd_ssi_clk_query(struct rsnd_dai *rdai,
int param1, int param2, int *idx)
{
struct rsnd_priv *priv = rsnd_rdai_to_priv(rdai);
- int ssi_clk_mul_table[] = {
+ static const int ssi_clk_mul_table[] = {
1, 2, 4, 8, 16, 6, 12,
};
int j, ret;
@@ -1079,7 +1079,7 @@ static void rsnd_ssi_connect(struct rsnd_mod *mod,
struct rsnd_dai_stream *io)
{
struct rsnd_dai *rdai = rsnd_io_to_rdai(io);
- enum rsnd_mod_type types[] = {
+ static const enum rsnd_mod_type types[] = {
RSND_MOD_SSI,
RSND_MOD_SSIM1,
RSND_MOD_SSIM2,
--
2.31.1



2021-08-01 23:13:41

by Kuninori Morimoto

[permalink] [raw]
Subject: Re: [PATCH] ASoC: rsnd: make some arrays static const, makes object smaller


Hi Colin

Thank you for your patch

> Don't populate arrays on the stack but instead them static const.
> Makes the object code smaller by 242 bytes.
>
> Before:
> text data bss dec hex filename
> 23827 8764 0 32591 7f4f ./sound/soc/sh/rcar/ssi.o
>
> After:
> text data bss dec hex filename
> 23361 8988 0 32349 7e5d ./sound/soc/sh/rcar/ssi.o
>
> gcc version 10.2.0)
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---

Nice to know.

Reviewed-by: Kuninori Morimoto <[email protected]>

Do you think we need similar patch to below ?
(In my quick check)

core.c rsnd_get_busif_shift()
volume_ramp_rate[] // need static ?
adg.c rsnd_adg_clk_query()
rsnd_adg_get_clkout()

Thank you for your help !!

Best regards
---
Kuninori Morimoto

2021-08-02 15:05:45

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] ASoC: rsnd: make some arrays static const, makes object smaller

On Sun, 1 Aug 2021 07:32:37 +0100, Colin King wrote:
> Don't populate arrays on the stack but instead them static const.
> Makes the object code smaller by 242 bytes.
>
> Before:
> text data bss dec hex filename
> 23827 8764 0 32591 7f4f ./sound/soc/sh/rcar/ssi.o
>
> [...]

Applied to

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/1] ASoC: rsnd: make some arrays static const, makes object smaller
commit: 6dfeb70276def839aa605edd274f8e9f6189dba3

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark