Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754912AbbKDHnJ (ORCPT ); Wed, 4 Nov 2015 02:43:09 -0500 Received: from arroyo.ext.ti.com ([192.94.94.40]:60783 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751563AbbKDHnG (ORCPT ); Wed, 4 Nov 2015 02:43:06 -0500 Subject: Re: [PATCH] dmaengine: edma: fix build without CONFIG_OF To: Arnd Bergmann , Vinod Koul , References: <17811472.bY8CqmdEVy@wuerfel> CC: Dan Williams , , , Sekhar Nori , Kevin Hilman , From: Peter Ujfalusi X-Enigmail-Draft-Status: N1110 Message-ID: <5639B6EB.8030101@ti.com> Date: Wed, 4 Nov 2015 09:42:35 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <17811472.bY8CqmdEVy@wuerfel> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1932 Lines: 61 On 11/03/2015 04:00 PM, Arnd Bergmann wrote: > During the edma rework, a build error was introduced for the > case that CONFIG_OF is disabled: > > drivers/built-in.o: In function `edma_tc_set_pm_state': > :(.text+0x43bf0): undefined reference to `of_find_device_by_node' > > As the edma_tc_set_pm_state() function does nothing in case > we are running without OF, this adds an IS_ENABLED() check > that turns the function into an empty stub then and avoids the > link error. > > Signed-off-by: Arnd Bergmann > Fixes: ca304fa9bb76 ("ARM/dmaengine: edma: Public API to use private struct pointer") The actual commit this patch is fixing is: 1be5336bc7ba dmaengine: edma: New device tree binding > --- > Found on ARM randconfig builds with today's linux-next I have sanity built the kernel with omap2plus_defconfig and davinci_all_defconfig since eDMA is used by these platforms and did not faced with this issue, as obviously these defconfigs will result OF to be enabled. > diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c > index 31722d436a42..16713a93da10 100644 > --- a/drivers/dma/edma.c > +++ b/drivers/dma/edma.c > @@ -1560,7 +1560,7 @@ static void edma_tc_set_pm_state(struct edma_tc *tc, bool enable) > struct platform_device *tc_pdev; > int ret; > > - if (!tc) > + if (!IS_ENABLED(CONFIG_OF) || !tc) > return; Should we instead put the function inside of: #if IS_ENABLED(CONFIG_OF) static void edma_tc_set_pm_state(struct edma_tc *tc, bool enable) { ... } #else static inline void edma_tc_set_pm_state(struct edma_tc *tc, bool enable) { } #endif /* IS_ENABLED(CONFIG_OF) */ > > tc_pdev = of_find_device_by_node(tc->node); > -- P?ter -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/