On 30/09/2020 09:00:06+0300, Alexandru Ardelean 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> Reviewed-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> > --- > 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"); > > -- > 2.17.1 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com