Re: [PATCH 4/6] iio: dac: ad5686: Constify static struct iio_chan_spec

Ardelean, Alexandru
2020-05-27T04:51:14Z

On Tue, 2020-05-26 at 23:02 +0200, Rikard Falkeborn wrote:
> [External]
>
> These are never modified and can be made const to allow the compiler to
> put it in read-only memory.
>
> Before:
> text data bss dec hex filename
> 6642 12608 64 19314 4b72 drivers/iio/dac/ad5686.o
>
> After:
> text data bss dec hex filename
> 16946 2304 64 19314 4b72 drivers/iio/dac/ad5686.o
>

Acked-by: Alexandru Ardelean <alexandru.ardelean@analog.com>

> Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
> ---
> drivers/iio/dac/ad5686.c | 8 ++++----
> drivers/iio/dac/ad5686.h | 2 +-
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iio/dac/ad5686.c b/drivers/iio/dac/ad5686.c
> index 8dd67da0a7da..6de48f618c95 100644
> --- a/drivers/iio/dac/ad5686.c
> +++ b/drivers/iio/dac/ad5686.c
> @@ -206,12 +206,12 @@ static const struct iio_chan_spec_ext_info
> ad5686_ext_info[] = {
> }
>
> #define DECLARE_AD5693_CHANNELS(name, bits, _shift) \
> -static struct iio_chan_spec name[] = { \
> +static const struct iio_chan_spec name[] = { \
> AD5868_CHANNEL(0, 0, bits, _shift), \
> }
>
> #define DECLARE_AD5686_CHANNELS(name, bits, _shift) \
> -static struct iio_chan_spec name[] = { \
> +static const struct iio_chan_spec name[] = { \
> AD5868_CHANNEL(0, 1, bits, _shift), \
> AD5868_CHANNEL(1, 2, bits, _shift), \
> AD5868_CHANNEL(2, 4, bits, _shift), \
> @@ -219,7 +219,7 @@ static struct iio_chan_spec name[] = {
> \
> }
>
> #define DECLARE_AD5676_CHANNELS(name, bits, _shift) \
> -static struct iio_chan_spec name[] = { \
> +static const struct iio_chan_spec name[] = { \
> AD5868_CHANNEL(0, 0, bits, _shift), \
> AD5868_CHANNEL(1, 1, bits, _shift), \
> AD5868_CHANNEL(2, 2, bits, _shift), \
> @@ -231,7 +231,7 @@ static struct iio_chan_spec name[] = {
> \
> }
>
> #define DECLARE_AD5679_CHANNELS(name, bits, _shift) \
> -static struct iio_chan_spec name[] = { \
> +static const struct iio_chan_spec name[] = { \
> AD5868_CHANNEL(0, 0, bits, _shift), \
> AD5868_CHANNEL(1, 1, bits, _shift), \
> AD5868_CHANNEL(2, 2, bits, _shift), \
> diff --git a/drivers/iio/dac/ad5686.h b/drivers/iio/dac/ad5686.h
> index 52009b5eef88..a15f2970577e 100644
> --- a/drivers/iio/dac/ad5686.h
> +++ b/drivers/iio/dac/ad5686.h
> @@ -104,7 +104,7 @@ typedef int (*ad5686_read_func)(struct ad5686_state
> *st, u8 addr);
> struct ad5686_chip_info {
> u16 int_vref_mv;
> unsigned int num_channels;
> - struct iio_chan_spec *channels;
> + const struct iio_chan_spec *channels;
> enum ad5686_regmap_type regmap_type;
> };
>