diff mbox

[5/9] dmaengine/ARM: omap-dma: Fix the DMAengine compile test on non OMAP configs

Message ID 20160916083324.29133-6-peter.ujfalusi@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Peter Ujfalusi Sept. 16, 2016, 8:33 a.m. UTC
The DMAengine driver for omap-dma use three function calls from the
plat-omap legacy driver. When the DMAengine driver is built when ARCH_OMAP
is not set, the compilation will fail due to missing symbols.
Add empty inline functions to allow the DMAengine driver to be compiled
with COMPILE_TEST.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 include/linux/omap-dma.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Vinod Koul Sept. 21, 2016, 3:51 a.m. UTC | #1
On Fri, Sep 16, 2016 at 11:33:20AM +0300, Peter Ujfalusi wrote:
> The DMAengine driver for omap-dma use three function calls from the
> plat-omap legacy driver. When the DMAengine driver is built when ARCH_OMAP
> is not set, the compilation will fail due to missing symbols.
> Add empty inline functions to allow the DMAengine driver to be compiled
> with COMPILE_TEST.

Peter,

This should be before you enable COMPILE_TEST otherwise build will break!

> 
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> ---
>  include/linux/omap-dma.h | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/include/linux/omap-dma.h b/include/linux/omap-dma.h
> index 1d99b61adc65..290081620b3e 100644
> --- a/include/linux/omap-dma.h
> +++ b/include/linux/omap-dma.h
> @@ -297,6 +297,7 @@ struct omap_system_dma_plat_info {
>  #define dma_omap15xx()	__dma_omap15xx(d)
>  #define dma_omap16xx()	__dma_omap16xx(d)
>  
> +#if defined(CONFIG_ARCH_OMAP)
>  extern struct omap_system_dma_plat_info *omap_get_plat_info(void);
>  
>  extern void omap_set_dma_priority(int lch, int dst_port, int priority);
> @@ -355,4 +356,22 @@ static inline int omap_lcd_dma_running(void)
>  }
>  #endif
>  
> +#else /* CONFIG_ARCH_OMAP */
> +
> +static inline struct omap_system_dma_plat_info *omap_get_plat_info(void)
> +{
> +	return NULL;
> +}
> +
> +static inline int omap_request_dma(int dev_id, const char *dev_name,
> +			void (*callback)(int lch, u16 ch_status, void *data),
> +			void *data, int *dma_ch)
> +{
> +	return -ENODEV;
> +}
> +
> +static inline void omap_free_dma(int ch) { }
> +
> +#endif /* CONFIG_ARCH_OMAP */
> +
>  #endif /* __LINUX_OMAP_DMA_H */
> -- 
> 2.10.0
>
Vinod Koul Sept. 21, 2016, 3:53 a.m. UTC | #2
On Wed, Sep 21, 2016 at 09:21:32AM +0530, Vinod Koul wrote:
> On Fri, Sep 16, 2016 at 11:33:20AM +0300, Peter Ujfalusi wrote:
> > The DMAengine driver for omap-dma use three function calls from the
> > plat-omap legacy driver. When the DMAengine driver is built when ARCH_OMAP
> > is not set, the compilation will fail due to missing symbols.
> > Add empty inline functions to allow the DMAengine driver to be compiled
> > with COMPILE_TEST.
> 
> Peter,
> 
> This should be before you enable COMPILE_TEST otherwise build will break!

Ah never mind, you have three drivers in this series so I think this is fine
before the omap one :)
Peter Ujfalusi Sept. 21, 2016, 7:34 a.m. UTC | #3
On 09/21/16 06:53, Vinod Koul wrote:
> On Wed, Sep 21, 2016 at 09:21:32AM +0530, Vinod Koul wrote:
>> On Fri, Sep 16, 2016 at 11:33:20AM +0300, Peter Ujfalusi wrote:
>>> The DMAengine driver for omap-dma use three function calls from the
>>> plat-omap legacy driver. When the DMAengine driver is built when ARCH_OMAP
>>> is not set, the compilation will fail due to missing symbols.
>>> Add empty inline functions to allow the DMAengine driver to be compiled
>>> with COMPILE_TEST.
>>
>> Peter,
>>
>> This should be before you enable COMPILE_TEST otherwise build will break!
> 
> Ah never mind, you have three drivers in this series so I think this is fine
> before the omap one :)

Yep, patch 1-4 is for eDMA, patch 5-6 is for omap-dma and the remaining is for
ti-dma-crossbar.

I wanted to have them separate (including when I enable the COMPILE_TEST) so
we can revert easily if needed.

If I move the 'enable COMPILE_TEST' patches at the end of the series, I think
I will still have them as separate as they are enabling the test for three
different driver.
diff mbox

Patch

diff --git a/include/linux/omap-dma.h b/include/linux/omap-dma.h
index 1d99b61adc65..290081620b3e 100644
--- a/include/linux/omap-dma.h
+++ b/include/linux/omap-dma.h
@@ -297,6 +297,7 @@  struct omap_system_dma_plat_info {
 #define dma_omap15xx()	__dma_omap15xx(d)
 #define dma_omap16xx()	__dma_omap16xx(d)
 
+#if defined(CONFIG_ARCH_OMAP)
 extern struct omap_system_dma_plat_info *omap_get_plat_info(void);
 
 extern void omap_set_dma_priority(int lch, int dst_port, int priority);
@@ -355,4 +356,22 @@  static inline int omap_lcd_dma_running(void)
 }
 #endif
 
+#else /* CONFIG_ARCH_OMAP */
+
+static inline struct omap_system_dma_plat_info *omap_get_plat_info(void)
+{
+	return NULL;
+}
+
+static inline int omap_request_dma(int dev_id, const char *dev_name,
+			void (*callback)(int lch, u16 ch_status, void *data),
+			void *data, int *dma_ch)
+{
+	return -ENODEV;
+}
+
+static inline void omap_free_dma(int ch) { }
+
+#endif /* CONFIG_ARCH_OMAP */
+
 #endif /* __LINUX_OMAP_DMA_H */