This patch adds device tree support to the LPC32xx's ADC.

Signed-off-by: Roland Stigge <sti...@antcom.de>

---

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@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to