}
 }
 
-static int ingenic_adc_of_xlate(struct iio_dev *iio_dev,
-                               const struct of_phandle_args *iiospec)
+static int ingenic_adc_fwnode_xlate(struct iio_dev *iio_dev,
+                                   const struct fwnode_reference_args *iiospec)
 {
        int i;
 
-       if (!iiospec->args_count)
+       if (!iiospec->nargs)
                return -EINVAL;
 
        for (i = 0; i < iio_dev->num_channels; ++i)
        .write_raw = ingenic_adc_write_raw,
        .read_raw = ingenic_adc_read_raw,
        .read_avail = ingenic_adc_read_avail,
-       .of_xlate = ingenic_adc_of_xlate,
+       .fwnode_xlate = ingenic_adc_fwnode_xlate,
 };
 
 static int ingenic_adc_buffer_enable(struct iio_dev *iio_dev)