From: "Heiko Stübner" <heiko@sntech.de>
To: Kukjin Kim <kgene.kim@samsung.com>, 'Ben Dooks' <ben-linux@fluff.org>
Cc: linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, heiko@sntech.de
Subject: Re: [PATCH 2/7] s3c-adc: describe features via quirk constants
Date: Wed, 21 Sep 2011 15:04:02 +0200 [thread overview]
Message-ID: <201109211504.03287.heiko@sntech.de> (raw)
In-Reply-To: <005801cc785a$7e46a310$7ad3e930$%kim@samsung.com>
Hi,
Am Mittwoch, 21. September 2011, 14:32:14 schrieben Sie:
> Heiko Stübner wrote:
> > The adc blocks of S3C2410 through S5P have a multitude of
> > quirks, i.e. moved bits or whole new registers.
> >
> > This patch tries to describe these individual features
> > through constants which can be used to describe an adc.
> >
> > As SoCs sometimes share only some of these quirks defining
> > TYPE_ADCVx values for each one wouldn't scale well when
> > adding more variants.
>
> Hi Heiko,
>
> I don't have idea we really need to use QUIRK in this case...as I know, the
> QUIRK is used on other situation...
>
> In addition, the TYPE_ADCVx can support each Samsung SoCs' ADC...but I need
> to check again.
The current types could not support the features of the 2443 and 2416/2450 - I
checked the datasheets.
The mux register in base+0x18 does not exist on any of the current platforms.
Also the bit 3 in ADCCON to select the resolution is specific to the 2416/2450
(see comments above constants and quirk definitions in patches 6 and 7).
So to support these SoCs would require the definition of two new types.
Including these new types in the existing conditionals would introduce a lot
of statements like
if ( (TYPE_X || TYPE_Y) && !TYPE_Z)
In my opinion testing for specific features also describes the difference
between implementations better if one reads the code later on.
I will change the styling of the "<<"s but am wondering why checkpatch did not
complain, i.e. it complains for all other whitespace mistakes one can make but
not these.
Heiko
>
> > Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> > ---
> >
> > arch/arm/plat-samsung/adc.c | 29 +++++++++++++++++++++++++++++
> > 1 files changed, 29 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/arm/plat-samsung/adc.c b/arch/arm/plat-samsung/adc.c
> > index ee8deef..b209d58 100644
> > --- a/arch/arm/plat-samsung/adc.c
> > +++ b/arch/arm/plat-samsung/adc.c
> > @@ -45,6 +45,35 @@ enum s3c_cpu_type {
> >
> > TYPE_ADCV3, /* S5PV210, S5PC110, EXYNOS4210 */
> >
> > };
> >
> > +/*
> > + * Resolution of the ADC - 10 or 12 bit
> > + */
>
> /* ... */
>
> > +#define S3C_ADC_QUIRK_10BIT 0
> > +#define S3C_ADC_QUIRK_12BIT (1<<0)
>
> According to coding style, should be added blank around <<.
>
> > +
> > +/*
> > + * 12bit ADC can switch resolution between 10 bit and 12 bit
> > + * ADCCON bit 03 for S3C2416
> > + * ADCCON bit 16 for S3C64XX and up
> > + */
> > +#define S3C_ADC_QUIRK_RESSEL03 (1<<1)
> > +#define S3C_ADC_QUIRK_RESSEL16 (1<<2)
>
> Same as above.
>
> > +
> > +/*
> > + * Input channel select can either be in
> > + * - reg ADCCON, bit for S3C24XX and S3C64XX
> > + * - reg base+0x18 for 2443/2416/2450
> > + * - reg base+0x1C for S5P
> > + */
> > +#define S3C_ADC_QUIRK_MUXADCCON (1<<3)
> > +#define S3C_ADC_QUIRK_MUX18 (1<<4)
> > +#define S3C_ADC_QUIRK_MUX1C (1<<5)
>
> Same.
>
> > +
> > +/*
> > + * CLRINT register on S3C64xx
> > + */
>
> /* ... */
>
> > +#define S3C_ADC_QUIRK_CLRINT (1<<6)
>
> Same.
>
> > +
> >
> > struct s3c_adc_client {
> >
> > struct platform_device *pdev;
> > struct list_head pend;
> >
> > --
> > 1.7.2.3
>
> Thanks.
>
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
WARNING: multiple messages have this Message-ID (diff)
From: heiko@sntech.de (Heiko Stübner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/7] s3c-adc: describe features via quirk constants
Date: Wed, 21 Sep 2011 15:04:02 +0200 [thread overview]
Message-ID: <201109211504.03287.heiko@sntech.de> (raw)
In-Reply-To: <005801cc785a$7e46a310$7ad3e930$%kim@samsung.com>
Hi,
Am Mittwoch, 21. September 2011, 14:32:14 schrieben Sie:
> Heiko St?bner wrote:
> > The adc blocks of S3C2410 through S5P have a multitude of
> > quirks, i.e. moved bits or whole new registers.
> >
> > This patch tries to describe these individual features
> > through constants which can be used to describe an adc.
> >
> > As SoCs sometimes share only some of these quirks defining
> > TYPE_ADCVx values for each one wouldn't scale well when
> > adding more variants.
>
> Hi Heiko,
>
> I don't have idea we really need to use QUIRK in this case...as I know, the
> QUIRK is used on other situation...
>
> In addition, the TYPE_ADCVx can support each Samsung SoCs' ADC...but I need
> to check again.
The current types could not support the features of the 2443 and 2416/2450 - I
checked the datasheets.
The mux register in base+0x18 does not exist on any of the current platforms.
Also the bit 3 in ADCCON to select the resolution is specific to the 2416/2450
(see comments above constants and quirk definitions in patches 6 and 7).
So to support these SoCs would require the definition of two new types.
Including these new types in the existing conditionals would introduce a lot
of statements like
if ( (TYPE_X || TYPE_Y) && !TYPE_Z)
In my opinion testing for specific features also describes the difference
between implementations better if one reads the code later on.
I will change the styling of the "<<"s but am wondering why checkpatch did not
complain, i.e. it complains for all other whitespace mistakes one can make but
not these.
Heiko
>
> > Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> > ---
> >
> > arch/arm/plat-samsung/adc.c | 29 +++++++++++++++++++++++++++++
> > 1 files changed, 29 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/arm/plat-samsung/adc.c b/arch/arm/plat-samsung/adc.c
> > index ee8deef..b209d58 100644
> > --- a/arch/arm/plat-samsung/adc.c
> > +++ b/arch/arm/plat-samsung/adc.c
> > @@ -45,6 +45,35 @@ enum s3c_cpu_type {
> >
> > TYPE_ADCV3, /* S5PV210, S5PC110, EXYNOS4210 */
> >
> > };
> >
> > +/*
> > + * Resolution of the ADC - 10 or 12 bit
> > + */
>
> /* ... */
>
> > +#define S3C_ADC_QUIRK_10BIT 0
> > +#define S3C_ADC_QUIRK_12BIT (1<<0)
>
> According to coding style, should be added blank around <<.
>
> > +
> > +/*
> > + * 12bit ADC can switch resolution between 10 bit and 12 bit
> > + * ADCCON bit 03 for S3C2416
> > + * ADCCON bit 16 for S3C64XX and up
> > + */
> > +#define S3C_ADC_QUIRK_RESSEL03 (1<<1)
> > +#define S3C_ADC_QUIRK_RESSEL16 (1<<2)
>
> Same as above.
>
> > +
> > +/*
> > + * Input channel select can either be in
> > + * - reg ADCCON, bit for S3C24XX and S3C64XX
> > + * - reg base+0x18 for 2443/2416/2450
> > + * - reg base+0x1C for S5P
> > + */
> > +#define S3C_ADC_QUIRK_MUXADCCON (1<<3)
> > +#define S3C_ADC_QUIRK_MUX18 (1<<4)
> > +#define S3C_ADC_QUIRK_MUX1C (1<<5)
>
> Same.
>
> > +
> > +/*
> > + * CLRINT register on S3C64xx
> > + */
>
> /* ... */
>
> > +#define S3C_ADC_QUIRK_CLRINT (1<<6)
>
> Same.
>
> > +
> >
> > struct s3c_adc_client {
> >
> > struct platform_device *pdev;
> > struct list_head pend;
> >
> > --
> > 1.7.2.3
>
> Thanks.
>
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
next prev parent reply other threads:[~2011-09-21 13:04 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-18 20:41 [PATCH v2 0/7] S3C2443/S3C2416: Implement support for ADC Heiko Stübner
2011-09-18 20:41 ` Heiko Stübner
2011-09-18 20:42 ` [PATCH 1/7] S3C2443/S3C2416: Add adc registers Heiko Stübner
2011-09-18 20:42 ` Heiko Stübner
2011-09-28 6:42 ` [PATCH v2 1/2] " Heiko Stübner
2011-09-28 6:42 ` Heiko Stübner
2011-09-18 20:43 ` [PATCH 2/7] s3c-adc: describe features via quirk constants Heiko Stübner
2011-09-18 20:43 ` Heiko Stübner
2011-09-21 12:32 ` Kukjin Kim
2011-09-21 12:32 ` Kukjin Kim
2011-09-21 13:04 ` Heiko Stübner [this message]
2011-09-21 13:04 ` Heiko Stübner
2011-10-02 7:38 ` Kukjin Kim
2011-10-02 7:38 ` Kukjin Kim
2011-10-02 11:18 ` Heiko Stübner
2011-10-02 11:18 ` Heiko Stübner
2011-10-04 12:45 ` Kukjin Kim
2011-10-04 12:45 ` Kukjin Kim
2011-10-10 4:28 ` Kukjin Kim
2011-10-10 4:28 ` Kukjin Kim
2011-10-10 9:42 ` Heiko Stübner
2011-10-10 9:42 ` Heiko Stübner
2011-10-10 10:03 ` Kukjin Kim
2011-10-10 10:03 ` Kukjin Kim
2011-09-28 6:43 ` [PATCH v2 2/2] " Heiko Stübner
2011-09-28 6:43 ` Heiko Stübner
2011-09-18 20:44 ` [PATCH 3/7] s3c-adc: Replace TYPE_ADCVx conditionals with quirks Heiko Stübner
2011-09-18 20:44 ` Heiko Stübner
2011-09-18 20:45 ` [PATCH 4/7] s3c-adc: Fix mux bit modification in s3c_adc_select Heiko Stübner
2011-09-18 20:45 ` Heiko Stübner
2011-09-18 20:47 ` [PATCH 5/7] S3C24XX: Allow overriding of adc device name Heiko Stübner
2011-09-18 20:47 ` Heiko Stübner
2011-09-18 20:47 ` [PATCH v2 6/7] s3c-adc: Add support for S3C2443 Heiko Stübner
2011-09-18 20:47 ` Heiko Stübner
2011-09-18 20:49 ` [PATCH v2 7/7] s3c-adc: Add support for S3C2416/S3C2450 Heiko Stübner
2011-09-18 20:49 ` Heiko Stübner
-- strict thread matches above, loose matches on Subject: below --
2011-09-08 19:51 [PATCH 0/7] S3C2443/S3C2416: Implement support for ADC Heiko Stübner
2011-09-08 19:53 ` [PATCH 2/7] s3c-adc: describe features via quirk constants Heiko Stübner
2011-09-08 19:53 ` Heiko Stübner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201109211504.03287.heiko@sntech.de \
--to=heiko@sntech.de \
--cc=ben-linux@fluff.org \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.