Re: [PATCH AUTOSEL 4.19 066/167] iio: adc: exynos-adc: Add S5PV210 variant

From: Jonathan Cameron
Date: Tue Sep 03 2019 - 13:53:34 EST


On Tue, 3 Sep 2019 12:23:38 -0400
Sasha Levin <sashal@xxxxxxxxxx> wrote:

> From: Jonathan Bakker <xc-racer2@xxxxxxx>
>
> [ Upstream commit 882bf52fdeab47dbe991cc0e564b0b51c571d0a3 ]
>
> S5PV210's ADC variant is almost the same as v1 except that it has 10
> channels and doesn't require the pmu register
>
> Signed-off-by: Jonathan Bakker <xc-racer2@xxxxxxx>
> Signed-off-by: PaweÅ Chmiel <pawel.mikolaj.chmiel@xxxxxxxxx>
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

I have no particular objection to adding new IDs (which is more
or less what this patch is), but I didn't know autosel was
picking them up. So a bit of surprise... If intentional
then fine to apply to stable.

> ---
> drivers/iio/adc/exynos_adc.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/iio/adc/exynos_adc.c b/drivers/iio/adc/exynos_adc.c
> index 4be29ed447559..41da522fc6735 100644
> --- a/drivers/iio/adc/exynos_adc.c
> +++ b/drivers/iio/adc/exynos_adc.c
> @@ -115,6 +115,7 @@
> #define MAX_ADC_V2_CHANNELS 10
> #define MAX_ADC_V1_CHANNELS 8
> #define MAX_EXYNOS3250_ADC_CHANNELS 2
> +#define MAX_S5PV210_ADC_CHANNELS 10
>
> /* Bit definitions common for ADC_V1 and ADC_V2 */
> #define ADC_CON_EN_START (1u << 0)
> @@ -282,6 +283,16 @@ static const struct exynos_adc_data exynos_adc_v1_data = {
> .start_conv = exynos_adc_v1_start_conv,
> };
>
> +static const struct exynos_adc_data exynos_adc_s5pv210_data = {
> + .num_channels = MAX_S5PV210_ADC_CHANNELS,
> + .mask = ADC_DATX_MASK, /* 12 bit ADC resolution */
> +
> + .init_hw = exynos_adc_v1_init_hw,
> + .exit_hw = exynos_adc_v1_exit_hw,
> + .clear_irq = exynos_adc_v1_clear_irq,
> + .start_conv = exynos_adc_v1_start_conv,
> +};
> +
> static void exynos_adc_s3c2416_start_conv(struct exynos_adc *info,
> unsigned long addr)
> {
> @@ -478,6 +489,9 @@ static const struct of_device_id exynos_adc_match[] = {
> }, {
> .compatible = "samsung,s3c6410-adc",
> .data = &exynos_adc_s3c64xx_data,
> + }, {
> + .compatible = "samsung,s5pv210-adc",
> + .data = &exynos_adc_s5pv210_data,
> }, {
> .compatible = "samsung,exynos-adc-v1",
> .data = &exynos_adc_v1_data,