[PATCH V2 4/4] ARM: at91/dma: DMA controller registering with DT support

From: Nicolas Ferre
Date: Mon Oct 10 2011 - 12:43:50 EST


Device tree support on at91sam9g45 family SoC. Only call
platform_device_register() if no compatible dma-controller
node is found in device tree.

Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
---
V2: use compatible string to match device.

arch/arm/mach-at91/at91sam9g45_devices.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c
index 9390ae6..2120055 100644
--- a/arch/arm/mach-at91/at91sam9g45_devices.c
+++ b/arch/arm/mach-at91/at91sam9g45_devices.c
@@ -64,7 +64,13 @@ static struct platform_device at_hdmac_device = {

void __init at91_add_device_hdmac(void)
{
- platform_device_register(&at_hdmac_device);
+ struct device_node *np = of_find_node_by_name(NULL, "dma-controller");
+
+ if (np && of_device_is_compatible(np, "atmel,at91sam9g45-dma")) {
+ of_node_put(np);
+ } else {
+ platform_device_register(&at_hdmac_device);
+ }
}
#else
void __init at91_add_device_hdmac(void) {}
--
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/