lkml.org 
[lkml]   [2019]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH AUTOSEL 4.19 066/167] iio: adc: exynos-adc: Add S5PV210 variant
    On Tue,  3 Sep 2019 12:23:38 -0400
    Sasha Levin <sashal@kernel.org> wrote:

    > From: Jonathan Bakker <xc-racer2@live.ca>
    >
    > [ 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@live.ca>
    > Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
    > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    > Signed-off-by: Sasha Levin <sashal@kernel.org>

    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,

    \
     
     \ /
      Last update: 2019-09-03 19:56    [W:4.043 / U:0.556 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site