This patch adds device tree support to the LPC32xx's ADC. Signed-off-by: Roland Stigge <stigge@xxxxxxxxx> --- Applies to v3.4-rc3 Changes since v3: * Changed "compatible" strings to non-wildcard versions Thanks to Arnd Bergmann and Lars-Peter Clausen for reviewing! Documentation/devicetree/bindings/staging/iio/adc/lpc32xx-adc.txt | 17 ++++++++++ drivers/staging/iio/adc/lpc32xx_adc.c | 13 +++++++ 2 files changed, 30 insertions(+) --- /dev/null +++ linux-2.6/Documentation/devicetree/bindings/staging/iio/adc/lpc32xx-adc.txt @@ -0,0 +1,17 @@ +* NXP LPC32xx SoC ADC controller + +Required properties: +- compatible: must be "nxp,lpc3220-adc", "nxp,lpc3230-adc", "nxp,lpc3240-adc" + or "nxp,lpc3250-adc" +- reg: physical base address of the controller and length of memory mapped + region. +- interrupts: The ADC interrupt + +Example: + + adc@40048000 { + compatible = "nxp,lpc3250-adc"; + reg = <0x40048000 0x1000>; + interrupt-parent = <&mic>; + interrupts = <39 0>; + }; --- linux-2.6.orig/drivers/staging/iio/adc/lpc32xx_adc.c +++ linux-2.6/drivers/staging/iio/adc/lpc32xx_adc.c @@ -30,6 +30,7 @@ #include <linux/clk.h> #include <linux/err.h> #include <linux/completion.h> +#include <linux/of.h> #include "../iio.h" #include "../sysfs.h" @@ -221,12 +222,24 @@ static int __devexit lpc32xx_adc_remove( return 0; } +#ifdef CONFIG_OF +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" }, + {}, +}; +MODULE_DEVICE_TABLE(of, lpc32xx_adc_match); +#endif + static struct platform_driver lpc32xx_adc_driver = { .probe = lpc32xx_adc_probe, .remove = __devexit_p(lpc32xx_adc_remove), .driver = { .name = MOD_NAME, .owner = THIS_MODULE, + .of_match_table = of_match_ptr(lpc32xx_adc_match), }, }; _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel