Re: [PATCH 2/2] iio: adc: at91_adc: const-ify some driver data
From: Jonathan Cameron
Date: Tue Sep 29 2020 - 11:55:18 EST
On Mon, 28 Sep 2020 15:54:24 +0300
Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx> wrote:
> The main intent is to get rid of the cast for the void-pointer returned by
> of_device_get_match_data().
>
> This requires const-ifying the 'caps' and 'registers' references on the
> at91_adc_state struct.
>
> The caps can be obtained also from the old platform_data (in the
> at91_adc_probe_pdata() function), but that cast is not touched in this
> patch, since the old platform_data should be removed/cleaned-away.
> Also, that cast deals with converting a kernel_ulong_t type to a pointer.
> So, updating that cast doesn't yield any benefit.
>
> Signed-off-by: Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx>
Good change. I'll pick this up when patch 1 is ready.
Thanks,
Jonathan
> ---
> drivers/iio/adc/at91_adc.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/adc/at91_adc.c b/drivers/iio/adc/at91_adc.c
> index c9ec0a4a357e..7d846a2852a5 100644
> --- a/drivers/iio/adc/at91_adc.c
> +++ b/drivers/iio/adc/at91_adc.c
> @@ -202,7 +202,7 @@ struct at91_adc_state {
> struct mutex lock;
> u8 num_channels;
> void __iomem *reg_base;
> - struct at91_adc_reg_desc *registers;
> + const struct at91_adc_reg_desc *registers;
> u32 startup_time;
> u8 sample_hold_time;
> bool sleep_mode;
> @@ -214,7 +214,7 @@ struct at91_adc_state {
> u32 res; /* resolution used for convertions */
> bool low_res; /* the resolution corresponds to the lowest one */
> wait_queue_head_t wq_data_avail;
> - struct at91_adc_caps *caps;
> + const struct at91_adc_caps *caps;
>
> /*
> * Following ADC channels are shared by touchscreen:
> @@ -550,7 +550,7 @@ static int at91_adc_configure_trigger(struct iio_trigger *trig, bool state)
> {
> struct iio_dev *idev = iio_trigger_get_drvdata(trig);
> struct at91_adc_state *st = iio_priv(idev);
> - struct at91_adc_reg_desc *reg = st->registers;
> + const struct at91_adc_reg_desc *reg = st->registers;
> u32 status = at91_adc_readl(st, reg->trigger_register);
> int value;
> u8 bit;
> @@ -876,7 +876,7 @@ static int at91_adc_probe_dt(struct iio_dev *idev,
> if (!node)
> return -EINVAL;
>
> - st->caps = (struct at91_adc_caps *)of_device_get_match_data(&pdev->dev);
> + st->caps = of_device_get_match_data(&pdev->dev);
>
> st->use_external = of_property_read_bool(node, "atmel,adc-use-external-triggers");
>