public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH RESEND v3] iio: Add device tree support to LPC32xx ADC
       [not found] ` <4F917AE3.7050808@metafoo.de>
@ 2012-04-20 15:35   ` Roland Stigge
  2012-04-20 15:58     ` Arnd Bergmann
  0 siblings, 1 reply; 2+ messages in thread
From: Roland Stigge @ 2012-04-20 15:35 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On 04/20/2012 05:04 PM, Lars-Peter Clausen wrote:
>> --- /dev/null
>> +++ linux-2.6/Documentation/devicetree/bindings/staging/iio/adc/lpc32xx-adc.txt
>> @@ -0,0 +1,16 @@
>> +* NXP LPC32xx SoC ADC controller
>> +
>> +Required properties:
>> +- compatible: must be "nxp,lpc32xx-adc"
>> +- reg: physical base address of the controller and length of memory mapped
>> +  region.
>> +- interrupts: The ADC interrupt
>> +
>> +Example:
>> +
>> +	adc at 40048000 {
>> +		compatible = "nxp,lpc32xx-adc";
> 
> In my opinion it seems to be a bad idea to use wildcard names in devicetree
> compatible strings.

In the above case, the situation is as follows:

* NXP has LPC3220, LPC3230, LPC3240 and LPC3250 (differing in SRAM size
  and in the existence of its Ethernet and LCD controllers)
* The ADC controller is present in every single one of those
* We already have "lpc32xx" in the kernel everywhere
* Current state is that NXP isn't planning to issue LPC32xx without ADC
* I'm providing a lpc32xx.dtsi file to be used by all LPC32xx variants.
  This one is referencing the above "compatible" string. Splitting up
  in all possible numbers (see below) doesn't help much, here.

What would you prefer?

+static const struct of_device_id lpc32xx_adc_match[] = {
+       { .compatible = "nxp,lpc3220-adc" },
+       { .compatible = "nxp,lpc3230-adc" },
+       { .compatible = "nxp,lpc3240-adc" },
+       { .compatible = "nxp,lpc3250-adc" },
+       {},
+};

?

What is a better strategy here?

Thanks in advance,

Roland

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

* [PATCH RESEND v3] iio: Add device tree support to LPC32xx ADC
  2012-04-20 15:35   ` [PATCH RESEND v3] iio: Add device tree support to LPC32xx ADC Roland Stigge
@ 2012-04-20 15:58     ` Arnd Bergmann
  0 siblings, 0 replies; 2+ messages in thread
From: Arnd Bergmann @ 2012-04-20 15:58 UTC (permalink / raw)
  To: linux-arm-kernel

On Friday 20 April 2012, Roland Stigge wrote:
> In the above case, the situation is as follows:
> 
> * NXP has LPC3220, LPC3230, LPC3240 and LPC3250 (differing in SRAM size
>   and in the existence of its Ethernet and LCD controllers)
> * The ADC controller is present in every single one of those
> * We already have "lpc32xx" in the kernel everywhere
> * Current state is that NXP isn't planning to issue LPC32xx without ADC
> * I'm providing a lpc32xx.dtsi file to be used by all LPC32xx variants.
>   This one is referencing the above "compatible" string. Splitting up
>   in all possible numbers (see below) doesn't help much, here.
> 
> What would you prefer?
> 
> +static const struct of_device_id lpc32xx_adc_match[] = {
> +       { .compatible = "nxp,lpc3220-adc" },
> +       { .compatible = "nxp,lpc3230-adc" },
> +       { .compatible = "nxp,lpc3240-adc" },
> +       { .compatible = "nxp,lpc3250-adc" },
> +       {},
> +};

This looks ok to me.

> What is a better strategy here?

One way we sometimes do these things is to match only the earliest
model, e.g. nxp,lpc3220-adc, and put that one and the new model
into the device tree, to state the the device is compatible with
both the original implementation and the new one.

	Arnd

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

end of thread, other threads:[~2012-04-20 15:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1334932713-19231-1-git-send-email-stigge@antcom.de>
     [not found] ` <4F917AE3.7050808@metafoo.de>
2012-04-20 15:35   ` [PATCH RESEND v3] iio: Add device tree support to LPC32xx ADC Roland Stigge
2012-04-20 15:58     ` Arnd Bergmann

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