From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Ferre Subject: [PATCH V2 4/4] ARM: at91/dma: DMA controller registering with DT support Date: Mon, 10 Oct 2011 18:43:41 +0200 Message-ID: <1318265021-4562-1-git-send-email-nicolas.ferre@atmel.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org To: vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: devicetree@vger.kernel.org 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 --- 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