struct stm32_dfsdm_dev_data {
        int type;
-       int (*init)(struct iio_dev *indio_dev);
+       int (*init)(struct device *dev, struct iio_dev *indio_dev);
        unsigned int num_channels;
        const struct regmap_config *regmap_cfg;
 };
        }
 }
 
-static int stm32_dfsdm_dma_request(struct iio_dev *indio_dev)
+static int stm32_dfsdm_dma_request(struct device *dev,
+                                  struct iio_dev *indio_dev)
 {
        struct stm32_dfsdm_adc *adc = iio_priv(indio_dev);
 
-       adc->dma_chan = dma_request_chan(&indio_dev->dev, "rx");
+       adc->dma_chan = dma_request_chan(dev, "rx");
        if (IS_ERR(adc->dma_chan)) {
                int ret = PTR_ERR(adc->dma_chan);
 
                                          &adc->dfsdm->ch_list[ch->channel]);
 }
 
-static int stm32_dfsdm_audio_init(struct iio_dev *indio_dev)
+static int stm32_dfsdm_audio_init(struct device *dev, struct iio_dev *indio_dev)
 {
        struct iio_chan_spec *ch;
        struct stm32_dfsdm_adc *adc = iio_priv(indio_dev);
        indio_dev->num_channels = 1;
        indio_dev->channels = ch;
 
-       return stm32_dfsdm_dma_request(indio_dev);
+       return stm32_dfsdm_dma_request(dev, indio_dev);
 }
 
-static int stm32_dfsdm_adc_init(struct iio_dev *indio_dev)
+static int stm32_dfsdm_adc_init(struct device *dev, struct iio_dev *indio_dev)
 {
        struct iio_chan_spec *ch;
        struct stm32_dfsdm_adc *adc = iio_priv(indio_dev);
        init_completion(&adc->completion);
 
        /* Optionally request DMA */
-       ret = stm32_dfsdm_dma_request(indio_dev);
+       ret = stm32_dfsdm_dma_request(dev, indio_dev);
        if (ret) {
                if (ret != -ENODEV) {
                        if (ret != -EPROBE_DEFER)
-                               dev_err(&indio_dev->dev,
+                               dev_err(dev,
                                        "DMA channel request failed with %d\n",
                                        ret);
                        return ret;
                }
 
-               dev_dbg(&indio_dev->dev, "No DMA support\n");
+               dev_dbg(dev, "No DMA support\n");
                return 0;
        }
 
                adc->dfsdm->fl_list[adc->fl_id].sync_mode = val;
 
        adc->dev_data = dev_data;
-       ret = dev_data->init(iio);
+       ret = dev_data->init(dev, iio);
        if (ret < 0)
                return ret;