Thread (20 messages) 20 messages, 3 authors, 2011-11-22

Re: [PATCH v3 0/4] dmaengine: Device Tree support for Atmel DMA

From: Nicolas Ferre <hidden>
Date: 2011-10-24 09:06:16
Also in: linux-arm-kernel, lkml

On 10/24/2011 05:28 AM, Vinod Koul :
On Mon, 2011-10-17 at 14:54 +0200, Nicolas Ferre wrote:
quoted
On 10/12/2011 06:57 PM, Nicolas Ferre :
quoted
This series add the device tree support to Atmel DMA controller driver:
at_hdmac.
The removal of platform data ease the conversion to device tree. It also have
the additional benefit of being simpler and cleaner.

Nicolas Ferre (4):
      dmaengine: at_hdmac: platform data move to use .id_table
      dmaengine: at_hdmac: add device tree support
      ARM: at91/dma: remove platform data from DMA controller
      ARM: at91/dma: DMA controller registering with DT support

 .../devicetree/bindings/dma/atmel-dma.txt          |   14 ++++
 arch/arm/mach-at91/at91sam9g45_devices.c           |   17 ++---
 arch/arm/mach-at91/at91sam9rl_devices.c            |    8 +--
 arch/arm/mach-at91/include/mach/at_hdmac.h         |   10 ---
 drivers/dma/at_hdmac.c                             |   76 +++++++++++++++++---
 drivers/dma/at_hdmac_regs.h                        |    8 ++
 6 files changed, 97 insertions(+), 36 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/dma/atmel-dma.txt
Vinod,

I have just rebased the dmaengine at_hdmac driver patches on top of your
"next" branch as a "v4" series. I send it to you with Grant's "Acked-by"
right now.
I manged to fail the compliation with this patch
drivers/dma/at_hdmac.c: In function 'at_dma_get_driver_data':
drivers/dma/at_hdmac.c:1211: error: implicit declaration of function 'of_match_node'
drivers/dma/at_hdmac.c:1211: error: 'atmel_dma_dt_ids' undeclared (first use in this function)
drivers/dma/at_hdmac.c:1211: error: (Each undeclared identifier is reported only once
drivers/dma/at_hdmac.c:1211: error: for each function it appears in.)
drivers/dma/at_hdmac.c:1211: warning: assignment makes pointer from integer without a cast
drivers/dma/at_hdmac.c: At top level:
drivers/dma/at_hdmac.c:1558: error: implicit declaration of function 'of_match_ptr'
drivers/dma/at_hdmac.c:1558: error: 'atmel_dma_dt_ids' undeclared here (not in a function)
drivers/dma/at_hdmac.c:1558: error: initializer element is not constant
drivers/dma/at_hdmac.c:1558: error: (near initialization for 'at_dma_driver.driver.of_match_table')
make[1]: *** [drivers/dma/at_hdmac.o] Error 1

Which, IMO are triggered as one of my configs for at_hdmac did not have
CONFIG_OF enabled. 
Yes, you are right for of_match_node(), I should protect it from non
CONFIG_OF configuration.
Maybe we should provide an empty of_match_node() function in of.h...
I think at_hdmac should select or depend on this. I
did latter and still I get compilation error :(

drivers/dma/at_hdmac.c:1558: error: implicit declaration of function 'of_match_ptr'
drivers/dma/at_hdmac.c:1558: error: initializer element is not constant
drivers/dma/at_hdmac.c:1558: error: (near initialization for 'at_dma_driver.driver.of_match_table')
make[1]: *** [drivers/dma/at_hdmac.o] Error 1
Well, of_match_ptr() macro is included in devicetree/next git tree and
will go to mainline during next merge window. It is the desired way to
specify a match table pointer for device tree enabled drivers...

Here is the commit ID in linux-next:
3a1e362e3f3cd571b3974b8d44b8e358ec7a098c

I have a serial driver conversion to device tree sitting in Greg's tty
tree with same functions used. It is also scheduled for inclusion in
next merge 3.2 merge window.

So, I will submit a new v5 revision with of_match_node() only called
when device tree is actually selected. But I will keep the
of_match_ptr() macro. Does it sound ok to you? Or maybe just a little
patch that you can fold into the current one is the best?

Thanks, best regards,
-- 
Nicolas Ferre
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help