lkml.org 
[lkml]   [2013]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 3/4] dw_dmac: make build of DT related methods optional
Date
On Friday 22 March 2013, Andy Shevchenko wrote:
> There is no reason to build custom filter function and translation function
> inside the driver in case we have no DT platform.
>
> This patch introduces new method dw_dma_of_controller_register() and moves all
> DT related stuff under #ifdef CONFIG_OF. It also helps to distinguish the real
> -ENODEV return code of fake one when of_dma_controller_register is not
> implemented.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

This should have no impact on the object code at all, since everything
inside of the #ifdef is be dropped by the compiler anyway if
of_dma_controller_register is stubbed out.

I generally prefer to have all driver code be compiled all the time
to catch build regressions independent of the configuration, and leave
the #ifdefs in header files that provide the interfaces.

> - if (pdev->dev.of_node) {
> - err = of_dma_controller_register(pdev->dev.of_node,
> - dw_dma_of_xlate, dw);
> - if (err && err != -ENODEV)
> - dev_err(&pdev->dev,
> - "could not register of_dma_controller\n");
> - }
> + if (pdev->dev.of_node)
> + dw_dma_of_controller_register(dw);

If you want to remove the "err != -ENODEV" check here, we could rewrite
this as

if (IS_ENABLED(CONFIG_OF)) && pdev->dev.of_node) {
err = of_dma_controller_register(pdev->dev.of_node,
dw_dma_of_xlate, dw);
if (err)
dev_err(&pdev->dev,
"could not register of_dma_controller\n");
}

Or alternatively, we can change the of_dma_controller_register() stub to
return 0 if CONFIG_OF is disabled. That would also take care of similar
code in other dma engine drivers.

Arnd


\
 
 \ /
  Last update: 2013-03-22 17:01    [W:0.425 / U:0.276 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site