Linux IIO development
 help / color / mirror / Atom feed
* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-10-19 16:18 [PATCH] AT91: Add a driver for the ADC Maxime Ripard
@ 2011-10-19 16:18 ` Maxime Ripard
  2011-11-03 10:11 ` [PATCHv2] AT91: Add a driver for the ADC Maxime Ripard
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 27+ messages in thread
From: Maxime Ripard @ 2011-10-19 16:18 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio; +Cc: Nicolas Ferre, Patrice Vilchez

Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 arch/arm/mach-at91/include/mach/board.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index ed544a0..adbc431 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -207,4 +207,12 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
 /* FIXME: this needs a better location, but gets stuff building again */
 extern int at91_suspend_entering_slow_clock(void);
 
+/* ADC */
+struct at91_adc_data {
+	unsigned int adc_clock;
+	u8 channels;
+	u8 startup_time;
+};
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-03 10:11 ` [PATCHv2] AT91: Add a driver for the ADC Maxime Ripard
@ 2011-11-03 10:11   ` Maxime Ripard
  2011-11-03 11:27     ` Linus Walleij
                       ` (2 more replies)
  0 siblings, 3 replies; 27+ messages in thread
From: Maxime Ripard @ 2011-11-03 10:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio; +Cc: Nicolas Ferre, Patrice Vilchez

Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 arch/arm/mach-at91/include/mach/board.h |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index ed544a0..b837da8 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -207,4 +207,26 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
 /* FIXME: this needs a better location, but gets stuff building again */
 extern int at91_suspend_entering_slow_clock(void);
 
+/* ADC */
+#define AT91_ADC_MAX_CHANNELS   16
+
+struct at91_adc_data {
+	/* ADC Clock as specified by the datasheet, in Hz. */
+	unsigned int adc_clock;
+	/*
+	 * Global number of channels available (to specify which channels are
+	 * indeed used on the board, see the channels_used array).
+	 */
+	u8 num_channels;
+	/* Channels in use on the board */
+	u8 channels_used[AT91_ADC_MAX_CHANNELS];
+	/* Number of channels in use */
+	u8 num_channels_used;
+	/* Startup time of the ADC, in microseconds. */
+	u8 startup_time;
+	/* Reference voltage for the ADC in millivolts */
+	unsigned short vref;
+};
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-03 10:11   ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
@ 2011-11-03 11:27     ` Linus Walleij
  2011-11-03 16:27       ` Maxime Ripard
  2011-11-04 10:27     ` Jonathan Cameron
  2011-11-04 10:34     ` Jonathan Cameron
  2 siblings, 1 reply; 27+ messages in thread
From: Linus Walleij @ 2011-11-03 11:27 UTC (permalink / raw)
  To: Maxime Ripard; +Cc: linux-arm-kernel, linux-iio, Nicolas Ferre, Patrice Vilchez

2011/11/3 Maxime Ripard <maxime.ripard@free-electrons.com>:

> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---
> =A0arch/arm/mach-at91/include/mach/board.h | =A0 22 +++++++++++++++++=
+++++
> =A01 files changed, 22 insertions(+), 0 deletions(-)

We're not supposed to have platform data dependent to stuff in
staging under arch/arm or anyplace else in the main kernel tree.

Please move this to
drivers/staging/iio/adc/at91adc-board.h
or so.

As for calling the at91_add_device_adc() function (which I guess
you want to do at some point) the pattern I followed for other
drivers is to declare a dummy function in arch/arm/mach-*
with __weak and let the staging driver override that. This way
the staging driver can go away without any compilation trouble
happening.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-03 11:27     ` Linus Walleij
@ 2011-11-03 16:27       ` Maxime Ripard
       [not found]         ` <CACRpkdZsNJwgC-7hp2zHNAcZVG-x8JN1CzV5KbYSiokD-9FUBw@mail.gmail.com>
  0 siblings, 1 reply; 27+ messages in thread
From: Maxime Ripard @ 2011-11-03 16:27 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-arm-kernel, linux-iio, Nicolas Ferre, Patrice Vilchez

Hi Linus,

On 03/11/2011 12:27, Linus Walleij wrote:
> 2011/11/3 Maxime Ripard <maxime.ripard@free-electrons.com>:
> 
>> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
>> Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
>> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>> ---
>>  arch/arm/mach-at91/include/mach/board.h |   22 ++++++++++++++++++++++
>>  1 files changed, 22 insertions(+), 0 deletions(-)
> 
> We're not supposed to have platform data dependent to stuff in
> staging under arch/arm or anyplace else in the main kernel tree.
> 
> Please move this to
> drivers/staging/iio/adc/at91adc-board.h
> or so.

Won't moving this part to staging prevent from using this structure in
board files ? If so, how will I be able to declare a new board that is
using this ADC (or add the support for the ADC to a new one) ?

> As for calling the at91_add_device_adc() function (which I guess
> you want to do at some point) the pattern I followed for other
> drivers is to declare a dummy function in arch/arm/mach-*
> with __weak and let the staging driver override that. This way
> the staging driver can go away without any compilation trouble
> happening.

I don't really see why my changes will break the compilation if the
driver is no longer present in staging. At worst, the structure will be
filled but used by no one, right ?

Regards,

-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
       [not found]         ` <CACRpkdZsNJwgC-7hp2zHNAcZVG-x8JN1CzV5KbYSiokD-9FUBw@mail.gmail.com>
@ 2011-11-03 18:05           ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 27+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-11-03 18:05 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Maxime Ripard, linux-iio, Linus Walleij, Patrice Vilchez,
	linux-arm-kernel, Nicolas Ferre

On 17:38 Thu 03 Nov     , Linus Walleij wrote:
> On Thu, Nov 3, 2011 at 5:27 PM, Maxime Ripard
> <maxime.ripard@free-electrons.com> wrote:
> > [Me]
> >> We're not supposed to have platform data dependent to stuff in
> >> staging under arch/arm or anyplace else in the main kernel tree.
> >>
> >> Please move this to
> >> drivers/staging/iio/adc/at91adc-board.h
> >> or so.
> >
> > Won't moving this part to staging prevent from using this structure in
> > board files ? If so, how will I be able to declare a new board that is
> > using this ADC (or add the support for the ADC to a new one) ?
> 
> Put this into a separate board file living under staging/iio/adc
> 
> Compare:
> drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
> 
> >> As for calling the at91_add_device_adc() function (which I guess
> >> you want to do at some point) the pattern I followed for other
> >> drivers is to declare a dummy function in arch/arm/mach-*
> >> with __weak and let the staging driver override that. This way
> >> the staging driver can go away without any compilation trouble
> >> happening.
> >
> > I don't really see why my changes will break the compilation if the
> > driver is no longer present in staging. At worst, the structure will be
> > filled but used by no one, right ?
> 
> You're right.
> 
> But still, we cannot add that header file for a driver that
> is in the staging tree. Header files go into the staging dir too.
agreed

Best Regards,
J.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-03 10:11   ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
  2011-11-03 11:27     ` Linus Walleij
@ 2011-11-04 10:27     ` Jonathan Cameron
  2011-11-04 10:36       ` Jonathan Cameron
  2011-11-04 10:34     ` Jonathan Cameron
  2 siblings, 1 reply; 27+ messages in thread
From: Jonathan Cameron @ 2011-11-04 10:27 UTC (permalink / raw)
  To: Maxime Ripard; +Cc: linux-arm-kernel, linux-iio, Nicolas Ferre, Patrice Vilchez

On 11/03/2011 10:11 AM, Maxime Ripard wrote:
> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---
>  arch/arm/mach-at91/include/mach/board.h |   22 ++++++++++++++++++++++
>  1 files changed, 22 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
> index ed544a0..b837da8 100644
> --- a/arch/arm/mach-at91/include/mach/board.h
> +++ b/arch/arm/mach-at91/include/mach/board.h
> @@ -207,4 +207,26 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
>  /* FIXME: this needs a better location, but gets stuff building again */
>  extern int at91_suspend_entering_slow_clock(void);
>  
> +/* ADC */
> +#define AT91_ADC_MAX_CHANNELS   16
> +
> +struct at91_adc_data {
> +	/* ADC Clock as specified by the datasheet, in Hz. */
> +	unsigned int adc_clock;
> +	/*
> +	 * Global number of channels available (to specify which channels are
> +	 * indeed used on the board, see the channels_used array).
> +	 */
> +	u8 num_channels;
> +	/* Channels in use on the board */
> +	u8 channels_used[AT91_ADC_MAX_CHANNELS];
> +	/* Number of channels in use */
> +	u8 num_channels_used;
> +	/* Startup time of the ADC, in microseconds. */
> +	u8 startup_time;
> +	/* Reference voltage for the ADC in millivolts */
> +	unsigned short vref;
> +};
> +extern void __init at91_add_device_adc(struct at91_adc_data *data);
> +
>  #endif


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-03 10:11   ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
  2011-11-03 11:27     ` Linus Walleij
  2011-11-04 10:27     ` Jonathan Cameron
@ 2011-11-04 10:34     ` Jonathan Cameron
       [not found]       ` <4EB4031A.4080806@free-electrons.com>
  2 siblings, 1 reply; 27+ messages in thread
From: Jonathan Cameron @ 2011-11-04 10:34 UTC (permalink / raw)
  To: Maxime Ripard; +Cc: linux-arm-kernel, linux-iio, Nicolas Ferre, Patrice Vilchez

On 11/03/2011 10:11 AM, Maxime Ripard wrote:
> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---
>  arch/arm/mach-at91/include/mach/board.h |   22 ++++++++++++++++++++++
>  1 files changed, 22 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
> index ed544a0..b837da8 100644
> --- a/arch/arm/mach-at91/include/mach/board.h
> +++ b/arch/arm/mach-at91/include/mach/board.h
> @@ -207,4 +207,26 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
>  /* FIXME: this needs a better location, but gets stuff building again */
>  extern int at91_suspend_entering_slow_clock(void);
>  
> +/* ADC */
> +#define AT91_ADC_MAX_CHANNELS   16
> +
> +struct at91_adc_data {
> +	/* ADC Clock as specified by the datasheet, in Hz. */
> +	unsigned int adc_clock;
> +	/*
> +	 * Global number of channels available (to specify which channels are
> +	 * indeed used on the board, see the channels_used array).
> +	 */
> +	u8 num_channels;
> +	/* Channels in use on the board */
put it in a unsigned long and use the bitmap functions.
> +	u8 channels_used[AT91_ADC_MAX_CHANNELS];
> +	/* Number of channels in use */
just use bitmap_weight with the long above and
length set to num_channels.
> +	u8 num_channels_used;
> +	/* Startup time of the ADC, in microseconds. */
> +	u8 startup_time;
> +	/* Reference voltage for the ADC in millivolts */
> +	unsigned short vref;
> +};
> +extern void __init at91_add_device_adc(struct at91_adc_data *data);
> +
>  #endif


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-04 10:27     ` Jonathan Cameron
@ 2011-11-04 10:36       ` Jonathan Cameron
  0 siblings, 0 replies; 27+ messages in thread
From: Jonathan Cameron @ 2011-11-04 10:36 UTC (permalink / raw)
  To: Maxime Ripard; +Cc: linux-arm-kernel, linux-iio, Nicolas Ferre, Patrice Vilchez

On 11/04/2011 10:27 AM, Jonathan Cameron wrote:
> On 11/03/2011 10:11 AM, Maxime Ripard wrote:
>> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
>> Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
>> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>> ---
>>  arch/arm/mach-at91/include/mach/board.h |   22 ++++++++++++++++++++++
>>  1 files changed, 22 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
>> index ed544a0..b837da8 100644
>> --- a/arch/arm/mach-at91/include/mach/board.h
>> +++ b/arch/arm/mach-at91/include/mach/board.h
>> @@ -207,4 +207,26 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
>>  /* FIXME: this needs a better location, but gets stuff building again */
>>  extern int at91_suspend_entering_slow_clock(void);
>>  
>> +/* ADC */
>> +#define AT91_ADC_MAX_CHANNELS   16
>> +
>> +struct at91_adc_data {
>> +	/* ADC Clock as specified by the datasheet, in Hz. */
>> +	unsigned int adc_clock;
>> +	/*
>> +	 * Global number of channels available (to specify which channels are
>> +	 * indeed used on the board, see the channels_used array).
>> +	 */
>> +	u8 num_channels;
>> +	/* Channels in use on the board */
>> +	u8 channels_used[AT91_ADC_MAX_CHANNELS];
>> +	/* Number of channels in use */
>> +	u8 num_channels_used;
>> +	/* Startup time of the ADC, in microseconds. */
>> +	u8 startup_time;
>> +	/* Reference voltage for the ADC in millivolts */
>> +	unsigned short vref;
>> +};
>> +extern void __init at91_add_device_adc(struct at91_adc_data *data);
>> +
>>  #endif
oops. version with actual comments should also have gone out.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
       [not found]       ` <4EB4031A.4080806@free-electrons.com>
@ 2011-11-04 16:28         ` Jonathan Cameron
  0 siblings, 0 replies; 27+ messages in thread
From: Jonathan Cameron @ 2011-11-04 16:28 UTC (permalink / raw)
  To: Maxime Ripard; +Cc: linux-iio, Patrice Vilchez, Nicolas Ferre, linux-arm-kernel

On 11/04/2011 03:22 PM, Maxime Ripard wrote:
> Hi Jonathan,
> 
> On 04/11/2011 11:34, Jonathan Cameron wrote:
>> On 11/03/2011 10:11 AM, Maxime Ripard wrote:
>>> +/* ADC */
>>> +#define AT91_ADC_MAX_CHANNELS   16
>>> +
>>> +struct at91_adc_data {
>>> +	/* ADC Clock as specified by the datasheet, in Hz. */
>>> +	unsigned int adc_clock;
>>> +	/*
>>> +	 * Global number of channels available (to specify which channels are
>>> +	 * indeed used on the board, see the channels_used array).
>>> +	 */
>>> +	u8 num_channels;
>>> +	/* Channels in use on the board */
>> put it in a unsigned long and use the bitmap functions.
>>> +	u8 channels_used[AT91_ADC_MAX_CHANNELS];
>>> +	/* Number of channels in use */
>> just use bitmap_weight with the long above and
>> length set to num_channels.
>>> +	u8 num_channels_used;
> 
> I didn't know bitmap functions before you mentioned it, but if I read it
> correctly, while I agree with your point, I will lose the ability to
> define a combination of enabled and disabled channel in a board specific
> manner.
> 
> In the third patch, I defined channels_used as an array of one. But
> let's say that instead I want all channels except the second one. With
> what's in the driver for now, I initialise it to {1, 0, 1, 1}. I don't
> think it's possible to do so with bitmap functions, or am I missing
> something ?

unsigned long bitmask = BIT(0) | BIT(1) | BIT(3);

Bitmaps are just arrays of unsigned longs.  If you 'know' you have
less than 32 elements, you can just use a single unsigned long and
this assignment gets easier.

Most of the stuff you want comes from bitops.h anyway (maybe all come
to think of it?)
> 
> Or put the calls to bitmap_set in the board_init function ?
Just edit the underlying unsigned long directly.  The fact that the
bitops.h stuff is supposed to work on a bitmap as well means that
will always work.

Jonathan


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-07 16:08 ` [PATCHv3] AT91: Add a driver for the ADC Maxime Ripard
@ 2011-11-07 16:08   ` Maxime Ripard
  2011-11-07 16:27     ` Jonathan Cameron
  2011-11-08 13:19     ` Thomas Petazzoni
  0 siblings, 2 replies; 27+ messages in thread
From: Maxime Ripard @ 2011-11-07 16:08 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio
  Cc: Nicolas Ferre, Patrice Vilchez, Thomas Petazzoni

Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 arch/arm/mach-at91/include/mach/board.h |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index ed544a0..afdcac0 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -207,4 +207,22 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
 /* FIXME: this needs a better location, but gets stuff building again */
 extern int at91_suspend_entering_slow_clock(void);
 
+/* ADC */
+struct at91_adc_data {
+	/* ADC Clock as specified by the datasheet, in Hz. */
+	unsigned int adc_clock;
+	/*
+	 * Global number of channels available (to specify which channels are
+	 * indeed used on the board, see the channels_used array).
+	 */
+	u8 num_channels;
+	/* Channels in use on the board */
+	unsigned long channels_used;
+	/* Startup time of the ADC, in microseconds. */
+	u8 startup_time;
+	/* Reference voltage for the ADC in millivolts */
+	unsigned short vref;
+};
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-07 16:08   ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
@ 2011-11-07 16:27     ` Jonathan Cameron
  2011-11-08 13:19     ` Thomas Petazzoni
  1 sibling, 0 replies; 27+ messages in thread
From: Jonathan Cameron @ 2011-11-07 16:27 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, linux-iio, Nicolas Ferre, Patrice Vilchez,
	Thomas Petazzoni

Looks sensible to me though obviously this is bit is really for the
at91 lot to comment on.

On 11/07/2011 04:08 PM, Maxime Ripard wrote:
> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
> ---
>  arch/arm/mach-at91/include/mach/board.h |   18 ++++++++++++++++++
>  1 files changed, 18 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
> index ed544a0..afdcac0 100644
> --- a/arch/arm/mach-at91/include/mach/board.h
> +++ b/arch/arm/mach-at91/include/mach/board.h
> @@ -207,4 +207,22 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
>  /* FIXME: this needs a better location, but gets stuff building again */
>  extern int at91_suspend_entering_slow_clock(void);
>  
> +/* ADC */
> +struct at91_adc_data {
> +	/* ADC Clock as specified by the datasheet, in Hz. */
> +	unsigned int adc_clock;
> +	/*
> +	 * Global number of channels available (to specify which channels are
> +	 * indeed used on the board, see the channels_used array).
> +	 */
> +	u8 num_channels;
> +	/* Channels in use on the board */
One nitpick here. You could make it more obvious that this is a mask...
> +	unsigned long channels_used;
> +	/* Startup time of the ADC, in microseconds. */
> +	u8 startup_time;
> +	/* Reference voltage for the ADC in millivolts */
> +	unsigned short vref;
> +};
> +extern void __init at91_add_device_adc(struct at91_adc_data *data);
> +
>  #endif


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-07 16:08   ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
  2011-11-07 16:27     ` Jonathan Cameron
@ 2011-11-08 13:19     ` Thomas Petazzoni
  1 sibling, 0 replies; 27+ messages in thread
From: Thomas Petazzoni @ 2011-11-08 13:19 UTC (permalink / raw)
  To: Maxime Ripard; +Cc: linux-arm-kernel, linux-iio, Patrice Vilchez, Nicolas Ferre

Le Mon,  7 Nov 2011 17:08:31 +0100,
Maxime Ripard <maxime.ripard@free-electrons.com> a =C3=A9crit :

> +/* ADC */
> +struct at91_adc_data {
> +	/* ADC Clock as specified by the datasheet, in Hz. */
> +	unsigned int adc_clock;
> +	/*
> +	 * Global number of channels available (to specify which channels a=
re
> +	 * indeed used on the board, see the channels_used array).

channels_used is no longer an array, but a bitmap.

Regards,

Thomas
--=20
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-09 10:19 ` [PATCHv4] AT91: Add a driver for the ADC Maxime Ripard
@ 2011-11-09 10:19   ` Maxime Ripard
  0 siblings, 0 replies; 27+ messages in thread
From: Maxime Ripard @ 2011-11-09 10:19 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio
  Cc: Nicolas Ferre, Patrice Vilchez, Thomas Petazzoni

Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
---
 arch/arm/mach-at91/include/mach/board.h |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index ed544a0..4f27797 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -207,4 +207,22 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
 /* FIXME: this needs a better location, but gets stuff building again */
 extern int at91_suspend_entering_slow_clock(void);
 
+/* ADC */
+struct at91_adc_data {
+	/* ADC Clock as specified by the datasheet, in Hz. */
+	unsigned int adc_clock;
+	/*
+	 * Global number of channels available (to specify which channels are
+	 * indeed used on the board, see the channels_used bitmask).
+	 */
+	u8 num_channels;
+	/* Channels in use on the board as a bitmask */
+	unsigned long channels_used;
+	/* Startup time of the ADC, in microseconds. */
+	u8 startup_time;
+	/* Reference voltage for the ADC in millivolts */
+	unsigned short vref;
+};
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-14 10:06 [PATCHv5] AT91: Add a driver for the ADC Maxime Ripard
@ 2011-11-14 10:06 ` Maxime Ripard
  2011-11-14 11:29   ` Nicolas Ferre
  0 siblings, 1 reply; 27+ messages in thread
From: Maxime Ripard @ 2011-11-14 10:06 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio
  Cc: Nicolas Ferre, Patrice Vilchez, Thomas Petazzoni

Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
---
 arch/arm/mach-at91/include/mach/board.h |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index ed544a0..4f27797 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -207,4 +207,22 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
 /* FIXME: this needs a better location, but gets stuff building again */
 extern int at91_suspend_entering_slow_clock(void);
 
+/* ADC */
+struct at91_adc_data {
+	/* ADC Clock as specified by the datasheet, in Hz. */
+	unsigned int adc_clock;
+	/*
+	 * Global number of channels available (to specify which channels are
+	 * indeed used on the board, see the channels_used bitmask).
+	 */
+	u8 num_channels;
+	/* Channels in use on the board as a bitmask */
+	unsigned long channels_used;
+	/* Startup time of the ADC, in microseconds. */
+	u8 startup_time;
+	/* Reference voltage for the ADC in millivolts */
+	unsigned short vref;
+};
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-14 10:06 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
@ 2011-11-14 11:29   ` Nicolas Ferre
  0 siblings, 0 replies; 27+ messages in thread
From: Nicolas Ferre @ 2011-11-14 11:29 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, linux-iio, Patrice Vilchez, Thomas Petazzoni

On 11/14/2011 11:06 AM, Maxime Ripard :
> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> 
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> Acked-by: Jonathan Cameron <jic23@cam.ac.uk>

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>

> ---
>  arch/arm/mach-at91/include/mach/board.h |   18 ++++++++++++++++++
>  1 files changed, 18 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
> index ed544a0..4f27797 100644
> --- a/arch/arm/mach-at91/include/mach/board.h
> +++ b/arch/arm/mach-at91/include/mach/board.h
> @@ -207,4 +207,22 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
>  /* FIXME: this needs a better location, but gets stuff building again */
>  extern int at91_suspend_entering_slow_clock(void);
>  
> +/* ADC */
> +struct at91_adc_data {
> +	/* ADC Clock as specified by the datasheet, in Hz. */
> +	unsigned int adc_clock;
> +	/*
> +	 * Global number of channels available (to specify which channels are
> +	 * indeed used on the board, see the channels_used bitmask).
> +	 */
> +	u8 num_channels;
> +	/* Channels in use on the board as a bitmask */
> +	unsigned long channels_used;
> +	/* Startup time of the ADC, in microseconds. */
> +	u8 startup_time;
> +	/* Reference voltage for the ADC in millivolts */
> +	unsigned short vref;
> +};
> +extern void __init at91_add_device_adc(struct at91_adc_data *data);
> +
>  #endif


-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-14 17:30 [PATCH v6] AT91: Add a driver for the ADC Maxime Ripard
@ 2011-11-14 17:30 ` Maxime Ripard
  0 siblings, 0 replies; 27+ messages in thread
From: Maxime Ripard @ 2011-11-14 17:30 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio
  Cc: Nicolas Ferre, Patrice Vilchez, Thomas Petazzoni

Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/include/mach/board.h |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index ed544a0..4f27797 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -207,4 +207,22 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
 /* FIXME: this needs a better location, but gets stuff building again */
 extern int at91_suspend_entering_slow_clock(void);
 
+/* ADC */
+struct at91_adc_data {
+	/* ADC Clock as specified by the datasheet, in Hz. */
+	unsigned int adc_clock;
+	/*
+	 * Global number of channels available (to specify which channels are
+	 * indeed used on the board, see the channels_used bitmask).
+	 */
+	u8 num_channels;
+	/* Channels in use on the board as a bitmask */
+	unsigned long channels_used;
+	/* Startup time of the ADC, in microseconds. */
+	u8 startup_time;
+	/* Reference voltage for the ADC in millivolts */
+	unsigned short vref;
+};
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-15 10:54 [PATCH v7] AT91: Add a driver for the ADC Maxime Ripard
@ 2011-11-15 10:54 ` Maxime Ripard
  0 siblings, 0 replies; 27+ messages in thread
From: Maxime Ripard @ 2011-11-15 10:54 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio
  Cc: Nicolas Ferre, Patrice Vilchez, Thomas Petazzoni

Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/include/mach/board.h |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index ed544a0..4f27797 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -207,4 +207,22 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
 /* FIXME: this needs a better location, but gets stuff building again */
 extern int at91_suspend_entering_slow_clock(void);
 
+/* ADC */
+struct at91_adc_data {
+	/* ADC Clock as specified by the datasheet, in Hz. */
+	unsigned int adc_clock;
+	/*
+	 * Global number of channels available (to specify which channels are
+	 * indeed used on the board, see the channels_used bitmask).
+	 */
+	u8 num_channels;
+	/* Channels in use on the board as a bitmask */
+	unsigned long channels_used;
+	/* Startup time of the ADC, in microseconds. */
+	u8 startup_time;
+	/* Reference voltage for the ADC in millivolts */
+	unsigned short vref;
+};
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-18 10:12 [PATCH v8] AT91: Add a driver for the ADC Maxime Ripard
@ 2011-11-18 10:12 ` Maxime Ripard
  0 siblings, 0 replies; 27+ messages in thread
From: Maxime Ripard @ 2011-11-18 10:12 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio
  Cc: Nicolas Ferre, Patrice Vilchez, Thomas Petazzoni

Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/include/mach/board.h |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index ed544a0..4f27797 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -207,4 +207,22 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
 /* FIXME: this needs a better location, but gets stuff building again */
 extern int at91_suspend_entering_slow_clock(void);
 
+/* ADC */
+struct at91_adc_data {
+	/* ADC Clock as specified by the datasheet, in Hz. */
+	unsigned int adc_clock;
+	/*
+	 * Global number of channels available (to specify which channels are
+	 * indeed used on the board, see the channels_used bitmask).
+	 */
+	u8 num_channels;
+	/* Channels in use on the board as a bitmask */
+	unsigned long channels_used;
+	/* Startup time of the ADC, in microseconds. */
+	u8 startup_time;
+	/* Reference voltage for the ADC in millivolts */
+	unsigned short vref;
+};
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-24 11:27 [PATCH v9] AT91: Add a driver for the ADC Maxime Ripard
@ 2011-11-24 11:27 ` Maxime Ripard
  2011-11-24 14:29   ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 27+ messages in thread
From: Maxime Ripard @ 2011-11-24 11:27 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio
  Cc: Nicolas Ferre, Patrice Vilchez, Thomas Petazzoni

Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/include/mach/board.h |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index ed544a0..4f27797 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -207,4 +207,22 @@ extern void __init at91_pwm_leds(struct gpio_led *leds, int nr);
 /* FIXME: this needs a better location, but gets stuff building again */
 extern int at91_suspend_entering_slow_clock(void);
 
+/* ADC */
+struct at91_adc_data {
+	/* ADC Clock as specified by the datasheet, in Hz. */
+	unsigned int adc_clock;
+	/*
+	 * Global number of channels available (to specify which channels are
+	 * indeed used on the board, see the channels_used bitmask).
+	 */
+	u8 num_channels;
+	/* Channels in use on the board as a bitmask */
+	unsigned long channels_used;
+	/* Startup time of the ADC, in microseconds. */
+	u8 startup_time;
+	/* Reference voltage for the ADC in millivolts */
+	unsigned short vref;
+};
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-24 11:27 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
@ 2011-11-24 14:29   ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 27+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-11-24 14:29 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, linux-iio, Thomas Petazzoni, Patrice Vilchez,
	Nicolas Ferre

On 12:27 Thu 24 Nov     , Maxime Ripard wrote:
> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> 
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

Best Regards,
J.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-30  9:14 [PATCH v11] AT91: Add a driver for the ADC Maxime Ripard
@ 2011-11-30  9:15 ` Maxime Ripard
  2011-11-30  9:45   ` Nicolas Ferre
  0 siblings, 1 reply; 27+ messages in thread
From: Maxime Ripard @ 2011-11-30  9:15 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio
  Cc: Patrice Vilchez, Thomas Petazzoni, Nicolas Ferre

Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
 include/linux/platform_data/at91_adc.h |   36 ++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)
 create mode 100644 include/linux/platform_data/at91_adc.h

diff --git a/include/linux/platform_data/at91_adc.h b/include/linux/platform_data/at91_adc.h
new file mode 100644
index 0000000..1e1813d
--- /dev/null
+++ b/include/linux/platform_data/at91_adc.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2011 Free Electrons
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#ifndef _AT91_ADC_H_
+#define _AT91_ADC_H_
+
+struct at91_adc_data {
+	/* ADC Clock as specified by the datasheet, in Hz. */
+	unsigned int adc_clock;
+	/*
+	 * Global number of channels available (to specify which channels are
+	 * indeed used on the board, see the channels_used bitmask).
+	 */
+	u8 num_channels;
+	/* Channels in use on the board as a bitmask */
+	unsigned long channels_used;
+	/* Startup time of the ADC, in microseconds. */
+	u8 startup_time;
+	/* Reference voltage for the ADC in millivolts */
+	unsigned short vref;
+};
+
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
+#endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-11-30  9:15 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
@ 2011-11-30  9:45   ` Nicolas Ferre
  0 siblings, 0 replies; 27+ messages in thread
From: Nicolas Ferre @ 2011-11-30  9:45 UTC (permalink / raw)
  To: Maxime Ripard, Jonathan Cameron
  Cc: linux-arm-kernel, linux-iio, Patrice Vilchez, Thomas Petazzoni

Hi Maxime,

On 11/30/2011 10:15 AM, Maxime Ripard :
> Cc: Patrice Vilchez<patrice.vilchez@atmel.com>
> Cc: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>

"CC:" lines should not be located here: place them just *after*
"Signed-off-by:" and "Acked-by:" lines.

> Signed-off-by: Maxime Ripard<maxime.ripard@free-electrons.com>
> Acked-by: Jonathan Cameron<jic23@cam.ac.uk>
> Signed-off-by: Nicolas Ferre<nicolas.ferre@atmel.com>
> Acked-by: Jean-Christophe PLAGNIOL-VILLARD<plagnioj@jcrosoft.com>
> ---
>   include/linux/platform_data/at91_adc.h |   36 ++++++++++++++++++++++++++++++++
>   1 files changed, 36 insertions(+), 0 deletions(-)
>   create mode 100644 include/linux/platform_data/at91_adc.h
>
> diff --git a/include/linux/platform_data/at91_adc.h b/include/linux/platform_data/at91_adc.h
> new file mode 100644
> index 0000000..1e1813d
> --- /dev/null
> +++ b/include/linux/platform_data/at91_adc.h
> @@ -0,0 +1,36 @@
> +/*
> + * Copyright (C) 2011 Free Electrons
> + *
> + * This software is licensed under the terms of the GNU General Public
> + * License version 2, as published by the Free Software Foundation, and
> + * may be copied, distributed, and modified under those terms.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.

Can be shorten in:
"Licensed under GPLv2."
"Licensed under the GPL v2."
"License terms: GNU General Public License (GPL) version 2."

> + *
> + */
> +
> +#ifndef _AT91_ADC_H_
> +#define _AT91_ADC_H_
> +
> +struct at91_adc_data {
> +	/* ADC Clock as specified by the datasheet, in Hz. */
> +	unsigned int adc_clock;
> +	/*
> +	 * Global number of channels available (to specify which channels are
> +	 * indeed used on the board, see the channels_used bitmask).
> +	 */
> +	u8 num_channels;
> +	/* Channels in use on the board as a bitmask */
> +	unsigned long channels_used;
> +	/* Startup time of the ADC, in microseconds. */
> +	u8 startup_time;
> +	/* Reference voltage for the ADC in millivolts */
> +	unsigned short vref;
> +};
> +
> +extern void __init at91_add_device_adc(struct at91_adc_data *data);
> +
> +#endif

I think that now it is located at this generic directory, it can easily 
go mainline through IIO subsystem (patches 1 and 2/3): Jonathan, do you 
agree with this?

Best regards,
-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-12-02 13:17 [PATCH v12] AT91: Add a driver for the ADC Maxime Ripard
@ 2011-12-02 13:17 ` Maxime Ripard
  0 siblings, 0 replies; 27+ messages in thread
From: Maxime Ripard @ 2011-12-02 13:17 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio
  Cc: Nicolas Ferre, Patrice Vilchez, Thomas Petazzoni

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 include/linux/platform_data/at91_adc.h |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)
 create mode 100644 include/linux/platform_data/at91_adc.h

diff --git a/include/linux/platform_data/at91_adc.h b/include/linux/platform_data/at91_adc.h
new file mode 100644
index 0000000..1212c78
--- /dev/null
+++ b/include/linux/platform_data/at91_adc.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2011 Free Electrons
+ *
+ * Licensed under the GPLv2 or later.
+ *
+ */
+
+#ifndef _AT91_ADC_H_
+#define _AT91_ADC_H_
+
+struct at91_adc_data {
+	/* ADC Clock as specified by the datasheet, in Hz. */
+	unsigned int adc_clock;
+	/*
+	 * Global number of channels available (to specify which channels are
+	 * indeed used on the board, see the channels_used bitmask).
+	 */
+	u8 num_channels;
+	/* Channels in use on the board as a bitmask */
+	unsigned long channels_used;
+	/* Startup time of the ADC, in microseconds. */
+	u8 startup_time;
+	/* Reference voltage for the ADC in millivolts */
+	unsigned short vref;
+};
+
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
+#endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v13] AT91: Add a driver for the ADC
@ 2011-12-14 10:01 Maxime Ripard
       [not found] ` <1323856877-18255-2-git-send-email-maxime.ripard@free-electrons.com>
  0 siblings, 1 reply; 27+ messages in thread
From: Maxime Ripard @ 2011-12-14 10:01 UTC (permalink / raw)
  To: linux-arm-kernel, linux-iio
  Cc: Nicolas Ferre, Patrice Vilchez, Thomas Petazzoni

Hi,

Working on supporting the hardware triggers for these drivers, I made some
patches that Jonathan suggested I merge with this patchset.

So, basically, what changed from v12:
  * Indentation fixes, added some comments
  * Rework of the platform data. Now the SoC-specific data are directly in the
driver, as it was kind of odd to declare all the triggers for the driver in the
SoC files. So the driver handles all of this now. It has nice side effects, as
it will also ease the transition to DT.

As it introduce heavy changes, I dropped the Acked-by and Signed-off-by from
the two last patches.

Maxime

Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
       [not found] ` <1323856877-18255-2-git-send-email-maxime.ripard@free-electrons.com>
@ 2011-12-14 10:27   ` Alexander Stein
  2011-12-15 19:37     ` Maxime Ripard
  0 siblings, 1 reply; 27+ messages in thread
From: Alexander Stein @ 2011-12-14 10:27 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Maxime Ripard, linux-iio, Thomas Petazzoni, Patrice Vilchez,
	Nicolas Ferre

On Wednesday 14 December 2011 11:01:15 Maxime Ripard wrote:
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> 
> Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  include/linux/platform_data/at91_adc.h |   23 +++++++++++++++++++++++
>  1 files changed, 23 insertions(+), 0 deletions(-)
>  create mode 100644 include/linux/platform_data/at91_adc.h
> 
> diff --git a/include/linux/platform_data/at91_adc.h
> b/include/linux/platform_data/at91_adc.h new file mode 100644
> index 0000000..bad80b7
> --- /dev/null
> +++ b/include/linux/platform_data/at91_adc.h
> @@ -0,0 +1,23 @@
> +/*
> + * Copyright (C) 2011 Free Electrons
> + *
> + * Licensed under the GPLv2 or later.
> + *
> + */
> +
> +#ifndef _AT91_ADC_H_
> +#define _AT91_ADC_H_
> +
> +/**
> + * struct at91_adc_data - platform data for ADC driver
> + * @channels_use:	channels in use on the board as a bitmask
> + * @vref:		Reference voltage for the ADC in millvolts

Nitpick, this should write millivolts, no?

> + */
> +struct at91_adc_data {
> +	unsigned long	channels_used;
> +	u16		vref;
> +};
> +
> +extern void __init at91_add_device_adc(struct at91_adc_data *data);
> +
> +#endif

Regards,
Alexander

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2011-12-14 10:27   ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Alexander Stein
@ 2011-12-15 19:37     ` Maxime Ripard
  0 siblings, 0 replies; 27+ messages in thread
From: Maxime Ripard @ 2011-12-15 19:37 UTC (permalink / raw)
  To: Alexander Stein
  Cc: linux-arm-kernel, linux-iio, Thomas Petazzoni, Patrice Vilchez,
	Nicolas Ferre

On 14/12/2011 11:27, Alexander Stein wrote:
> On Wednesday 14 December 2011 11:01:15 Maxime Ripard wrote:
>> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>> Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
>> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
>> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
>>
>> Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
>> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
>> ---
>>  include/linux/platform_data/at91_adc.h |   23 +++++++++++++++++++++++
>>  1 files changed, 23 insertions(+), 0 deletions(-)
>>  create mode 100644 include/linux/platform_data/at91_adc.h
>>
>> diff --git a/include/linux/platform_data/at91_adc.h
>> b/include/linux/platform_data/at91_adc.h new file mode 100644
>> index 0000000..bad80b7
>> --- /dev/null
>> +++ b/include/linux/platform_data/at91_adc.h
>> @@ -0,0 +1,23 @@
>> +/*
>> + * Copyright (C) 2011 Free Electrons
>> + *
>> + * Licensed under the GPLv2 or later.
>> + *
>> + */
>> +
>> +#ifndef _AT91_ADC_H_
>> +#define _AT91_ADC_H_
>> +
>> +/**
>> + * struct at91_adc_data - platform data for ADC driver
>> + * @channels_use:	channels in use on the board as a bitmask
>> + * @vref:		Reference voltage for the ADC in millvolts
> 
> Nitpick, this should write millivolts, no?

Yes, of course :)

> 
>> + */
>> +struct at91_adc_data {
>> +	unsigned long	channels_used;
>> +	u16		vref;
>> +};
>> +
>> +extern void __init at91_add_device_adc(struct at91_adc_data *data);
>> +
>> +#endif
> 
> Regards,
> Alexander


-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH 1/3] ARM: AT91: Add platform data for the ADCs
  2012-01-16 21:36 [PATCH RESEND v13] AT91: Add a driver for the ADC Maxime Ripard
@ 2012-01-16 21:36 ` Maxime Ripard
  0 siblings, 0 replies; 27+ messages in thread
From: Maxime Ripard @ 2012-01-16 21:36 UTC (permalink / raw)
  To: linux-iio, linux-arm-kernel
  Cc: Nicolas Ferre, Patrice Vilchez, Thomas Petazzoni

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 include/linux/platform_data/at91_adc.h |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)
 create mode 100644 include/linux/platform_data/at91_adc.h

diff --git a/include/linux/platform_data/at91_adc.h b/include/linux/platform_data/at91_adc.h
new file mode 100644
index 0000000..c27b502
--- /dev/null
+++ b/include/linux/platform_data/at91_adc.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2011 Free Electrons
+ *
+ * Licensed under the GPLv2 or later.
+ *
+ */
+
+#ifndef _AT91_ADC_H_
+#define _AT91_ADC_H_
+
+/**
+ * struct at91_adc_data - platform data for ADC driver
+ * @channels_use:	channels in use on the board as a bitmask
+ * @vref:		Reference voltage for the ADC in millivolts
+ */
+struct at91_adc_data {
+	unsigned long	channels_used;
+	u16		vref;
+};
+
+extern void __init at91_add_device_adc(struct at91_adc_data *data);
+
+#endif
-- 
1.7.5.4


^ permalink raw reply related	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2012-01-16 21:36 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-14 10:01 [PATCH v13] AT91: Add a driver for the ADC Maxime Ripard
     [not found] ` <1323856877-18255-2-git-send-email-maxime.ripard@free-electrons.com>
2011-12-14 10:27   ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Alexander Stein
2011-12-15 19:37     ` Maxime Ripard
  -- strict thread matches above, loose matches on Subject: below --
2012-01-16 21:36 [PATCH RESEND v13] AT91: Add a driver for the ADC Maxime Ripard
2012-01-16 21:36 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-12-02 13:17 [PATCH v12] AT91: Add a driver for the ADC Maxime Ripard
2011-12-02 13:17 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-30  9:14 [PATCH v11] AT91: Add a driver for the ADC Maxime Ripard
2011-11-30  9:15 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-30  9:45   ` Nicolas Ferre
2011-11-24 11:27 [PATCH v9] AT91: Add a driver for the ADC Maxime Ripard
2011-11-24 11:27 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-24 14:29   ` Jean-Christophe PLAGNIOL-VILLARD
2011-11-18 10:12 [PATCH v8] AT91: Add a driver for the ADC Maxime Ripard
2011-11-18 10:12 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-15 10:54 [PATCH v7] AT91: Add a driver for the ADC Maxime Ripard
2011-11-15 10:54 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-14 17:30 [PATCH v6] AT91: Add a driver for the ADC Maxime Ripard
2011-11-14 17:30 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-14 10:06 [PATCHv5] AT91: Add a driver for the ADC Maxime Ripard
2011-11-14 10:06 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-14 11:29   ` Nicolas Ferre
2011-10-19 16:18 [PATCH] AT91: Add a driver for the ADC Maxime Ripard
2011-10-19 16:18 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-03 10:11 ` [PATCHv2] AT91: Add a driver for the ADC Maxime Ripard
2011-11-03 10:11   ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-03 11:27     ` Linus Walleij
2011-11-03 16:27       ` Maxime Ripard
     [not found]         ` <CACRpkdZsNJwgC-7hp2zHNAcZVG-x8JN1CzV5KbYSiokD-9FUBw@mail.gmail.com>
2011-11-03 18:05           ` Jean-Christophe PLAGNIOL-VILLARD
2011-11-04 10:27     ` Jonathan Cameron
2011-11-04 10:36       ` Jonathan Cameron
2011-11-04 10:34     ` Jonathan Cameron
     [not found]       ` <4EB4031A.4080806@free-electrons.com>
2011-11-04 16:28         ` Jonathan Cameron
2011-11-07 16:08 ` [PATCHv3] AT91: Add a driver for the ADC Maxime Ripard
2011-11-07 16:08   ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-07 16:27     ` Jonathan Cameron
2011-11-08 13:19     ` Thomas Petazzoni
2011-11-09 10:19 ` [PATCHv4] AT91: Add a driver for the ADC Maxime Ripard
2011-11-09 10:19   ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox