diff mbox series

[4/4] DMA: XILINX_ZYNQMP_DPDMA depends on HAS_IOMEM

Message ID 20210522021313.16405-5-rdunlap@infradead.org (mailing list archive)
State Changes Requested
Headers show
Series DMA: several drivers depend on HAS_IOMEM | expand

Commit Message

Randy Dunlap May 22, 2021, 2:13 a.m. UTC
When CONFIG_HAS_IOMEM is not set/enabled, most iomap() family
functions [including ioremap(), devm_ioremap(), etc.] are not
available.
Drivers that use these functions should depend on HAS_IOMEM so that
they do not cause build errors.

Cures this build error:
s390-linux-ld: drivers/dma/xilinx/xilinx_dpdma.o: in function `xilinx_dpdma_probe':
xilinx_dpdma.c:(.text+0x336a): undefined reference to `devm_platform_ioremap_resource'

Fixes: 7cbb0c63de3fc ("dmaengine: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: kernel test robot <lkp@intel.com>
Cc: Vinod Koul <vkoul@kernel.org>
CC: dmaengine@vger.kernel.org
Cc: Hyun Kwon <hyun.kwon@xilinx.com>
Cc: Tejas Upadhyay <tejasu@xilinx.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 drivers/dma/Kconfig |    1 +
 1 file changed, 1 insertion(+)

Comments

Laurent Pinchart May 23, 2021, 12:20 a.m. UTC | #1
Hi Randy,

Thank you for the patch.

On Fri, May 21, 2021 at 07:13:13PM -0700, Randy Dunlap wrote:
> When CONFIG_HAS_IOMEM is not set/enabled, most iomap() family
> functions [including ioremap(), devm_ioremap(), etc.] are not
> available.
> Drivers that use these functions should depend on HAS_IOMEM so that
> they do not cause build errors.
> 
> Cures this build error:
> s390-linux-ld: drivers/dma/xilinx/xilinx_dpdma.o: in function `xilinx_dpdma_probe':
> xilinx_dpdma.c:(.text+0x336a): undefined reference to `devm_platform_ioremap_resource'

I've previously posted
https://lore.kernel.org/dmaengine/20210520152420.23986-2-laurent.pinchart@ideasonboard.com/T/#u
which fixes the same issue (plus an additional one).

> Fixes: 7cbb0c63de3fc ("dmaengine: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver")
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Reported-by: kernel test robot <lkp@intel.com>
> Cc: Vinod Koul <vkoul@kernel.org>
> CC: dmaengine@vger.kernel.org
> Cc: Hyun Kwon <hyun.kwon@xilinx.com>
> Cc: Tejas Upadhyay <tejasu@xilinx.com>
> Cc: Michal Simek <michal.simek@xilinx.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>  drivers/dma/Kconfig |    1 +
>  1 file changed, 1 insertion(+)
> 
> --- linux-next-20210521.orig/drivers/dma/Kconfig
> +++ linux-next-20210521/drivers/dma/Kconfig
> @@ -702,6 +702,7 @@ config XILINX_ZYNQMP_DMA
>  
>  config XILINX_ZYNQMP_DPDMA
>  	tristate "Xilinx DPDMA Engine"
> +	depends on HAS_IOMEM
>  	select DMA_ENGINE
>  	select DMA_VIRTUAL_CHANNELS
>  	help
Randy Dunlap May 23, 2021, 1:07 a.m. UTC | #2
On 5/22/21 5:20 PM, Laurent Pinchart wrote:
> Hi Randy,
> 
> Thank you for the patch.
> 
> On Fri, May 21, 2021 at 07:13:13PM -0700, Randy Dunlap wrote:
>> When CONFIG_HAS_IOMEM is not set/enabled, most iomap() family
>> functions [including ioremap(), devm_ioremap(), etc.] are not
>> available.
>> Drivers that use these functions should depend on HAS_IOMEM so that
>> they do not cause build errors.
>>
>> Cures this build error:
>> s390-linux-ld: drivers/dma/xilinx/xilinx_dpdma.o: in function `xilinx_dpdma_probe':
>> xilinx_dpdma.c:(.text+0x336a): undefined reference to `devm_platform_ioremap_resource'
> 
> I've previously posted
> https://lore.kernel.org/dmaengine/20210520152420.23986-2-laurent.pinchart@ideasonboard.com/T/#u
> which fixes the same issue (plus an additional one).

Hi Laurent,

I didn't add a dependency on OF because OF header files _mostly_
have stubs so that they work when  OF is enabled or disabled.

I did find a problem in <linux/of_address.h> where it could end up
without having a stub. I will post a patch for that soon.
I'm currently doing lots of randconfig builds on it.

Thanks.

>> Fixes: 7cbb0c63de3fc ("dmaengine: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver")
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>> Reported-by: kernel test robot <lkp@intel.com>
>> Cc: Vinod Koul <vkoul@kernel.org>
>> CC: dmaengine@vger.kernel.org
>> Cc: Hyun Kwon <hyun.kwon@xilinx.com>
>> Cc: Tejas Upadhyay <tejasu@xilinx.com>
>> Cc: Michal Simek <michal.simek@xilinx.com>
>> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> ---
>>  drivers/dma/Kconfig |    1 +
>>  1 file changed, 1 insertion(+)
>>
>> --- linux-next-20210521.orig/drivers/dma/Kconfig
>> +++ linux-next-20210521/drivers/dma/Kconfig
>> @@ -702,6 +702,7 @@ config XILINX_ZYNQMP_DMA
>>  
>>  config XILINX_ZYNQMP_DPDMA
>>  	tristate "Xilinx DPDMA Engine"
>> +	depends on HAS_IOMEM
>>  	select DMA_ENGINE
>>  	select DMA_VIRTUAL_CHANNELS
>>  	help
>
Laurent Pinchart May 23, 2021, 6:53 p.m. UTC | #3
Hi Randy,

On Sat, May 22, 2021 at 06:07:01PM -0700, Randy Dunlap wrote:
> On 5/22/21 5:20 PM, Laurent Pinchart wrote:
> > On Fri, May 21, 2021 at 07:13:13PM -0700, Randy Dunlap wrote:
> >> When CONFIG_HAS_IOMEM is not set/enabled, most iomap() family
> >> functions [including ioremap(), devm_ioremap(), etc.] are not
> >> available.
> >> Drivers that use these functions should depend on HAS_IOMEM so that
> >> they do not cause build errors.
> >>
> >> Cures this build error:
> >> s390-linux-ld: drivers/dma/xilinx/xilinx_dpdma.o: in function `xilinx_dpdma_probe':
> >> xilinx_dpdma.c:(.text+0x336a): undefined reference to `devm_platform_ioremap_resource'
> > 
> > I've previously posted
> > https://lore.kernel.org/dmaengine/20210520152420.23986-2-laurent.pinchart@ideasonboard.com/T/#u
> > which fixes the same issue (plus an additional one).
> 
> Hi Laurent,
> 
> I didn't add a dependency on OF because OF header files _mostly_
> have stubs so that they work when  OF is enabled or disabled.
> 
> I did find a problem in <linux/of_address.h> where it could end up
> without having a stub. I will post a patch for that soon.
> I'm currently doing lots of randconfig builds on it.

I'm fine with eithe approach, but the patch you've posted to address the
of_address.h issue has an issue itself.

If Vinod would prefer merging this patch instead of mine,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> >> Fixes: 7cbb0c63de3fc ("dmaengine: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver")
> >> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> >> Reported-by: kernel test robot <lkp@intel.com>
> >> Cc: Vinod Koul <vkoul@kernel.org>
> >> CC: dmaengine@vger.kernel.org
> >> Cc: Hyun Kwon <hyun.kwon@xilinx.com>
> >> Cc: Tejas Upadhyay <tejasu@xilinx.com>
> >> Cc: Michal Simek <michal.simek@xilinx.com>
> >> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> >> ---
> >>  drivers/dma/Kconfig |    1 +
> >>  1 file changed, 1 insertion(+)
> >>
> >> --- linux-next-20210521.orig/drivers/dma/Kconfig
> >> +++ linux-next-20210521/drivers/dma/Kconfig
> >> @@ -702,6 +702,7 @@ config XILINX_ZYNQMP_DMA
> >>  
> >>  config XILINX_ZYNQMP_DPDMA
> >>  	tristate "Xilinx DPDMA Engine"
> >> +	depends on HAS_IOMEM
> >>  	select DMA_ENGINE
> >>  	select DMA_VIRTUAL_CHANNELS
> >>  	help
Randy Dunlap May 23, 2021, 7:08 p.m. UTC | #4
On 5/23/21 11:53 AM, Laurent Pinchart wrote:
> Hi Randy,
> 
> On Sat, May 22, 2021 at 06:07:01PM -0700, Randy Dunlap wrote:
>> On 5/22/21 5:20 PM, Laurent Pinchart wrote:
>>> On Fri, May 21, 2021 at 07:13:13PM -0700, Randy Dunlap wrote:
>>>> When CONFIG_HAS_IOMEM is not set/enabled, most iomap() family
>>>> functions [including ioremap(), devm_ioremap(), etc.] are not
>>>> available.
>>>> Drivers that use these functions should depend on HAS_IOMEM so that
>>>> they do not cause build errors.
>>>>
>>>> Cures this build error:
>>>> s390-linux-ld: drivers/dma/xilinx/xilinx_dpdma.o: in function `xilinx_dpdma_probe':
>>>> xilinx_dpdma.c:(.text+0x336a): undefined reference to `devm_platform_ioremap_resource'
>>>
>>> I've previously posted
>>> https://lore.kernel.org/dmaengine/20210520152420.23986-2-laurent.pinchart@ideasonboard.com/T/#u
>>> which fixes the same issue (plus an additional one).
>>
>> Hi Laurent,
>>
>> I didn't add a dependency on OF because OF header files _mostly_
>> have stubs so that they work when  OF is enabled or disabled.
>>
>> I did find a problem in <linux/of_address.h> where it could end up
>> without having a stub. I will post a patch for that soon.
>> I'm currently doing lots of randconfig builds on it.
> 
> I'm fine with eithe approach, but the patch you've posted to address the
> of_address.h issue has an issue itself.

I'm also fine with either patch.
I'm reworking the of_address.h patch now.

Thanks.

> If Vinod would prefer merging this patch instead of mine,
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
>>>> Fixes: 7cbb0c63de3fc ("dmaengine: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver")
>>>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>>>> Reported-by: kernel test robot <lkp@intel.com>
>>>> Cc: Vinod Koul <vkoul@kernel.org>
>>>> CC: dmaengine@vger.kernel.org
>>>> Cc: Hyun Kwon <hyun.kwon@xilinx.com>
>>>> Cc: Tejas Upadhyay <tejasu@xilinx.com>
>>>> Cc: Michal Simek <michal.simek@xilinx.com>
>>>> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>>>> ---
>>>>  drivers/dma/Kconfig |    1 +
>>>>  1 file changed, 1 insertion(+)
>>>>
>>>> --- linux-next-20210521.orig/drivers/dma/Kconfig
>>>> +++ linux-next-20210521/drivers/dma/Kconfig
>>>> @@ -702,6 +702,7 @@ config XILINX_ZYNQMP_DMA
>>>>  
>>>>  config XILINX_ZYNQMP_DPDMA
>>>>  	tristate "Xilinx DPDMA Engine"
>>>> +	depends on HAS_IOMEM
>>>>  	select DMA_ENGINE
>>>>  	select DMA_VIRTUAL_CHANNELS
>>>>  	help
>
Vinod Koul May 31, 2021, 4:12 a.m. UTC | #5
On 23-05-21, 12:08, Randy Dunlap wrote:
> On 5/23/21 11:53 AM, Laurent Pinchart wrote:
> > Hi Randy,
> > 
> > On Sat, May 22, 2021 at 06:07:01PM -0700, Randy Dunlap wrote:
> >> On 5/22/21 5:20 PM, Laurent Pinchart wrote:
> >>> On Fri, May 21, 2021 at 07:13:13PM -0700, Randy Dunlap wrote:
> >>>> When CONFIG_HAS_IOMEM is not set/enabled, most iomap() family
> >>>> functions [including ioremap(), devm_ioremap(), etc.] are not
> >>>> available.
> >>>> Drivers that use these functions should depend on HAS_IOMEM so that
> >>>> they do not cause build errors.
> >>>>
> >>>> Cures this build error:
> >>>> s390-linux-ld: drivers/dma/xilinx/xilinx_dpdma.o: in function `xilinx_dpdma_probe':
> >>>> xilinx_dpdma.c:(.text+0x336a): undefined reference to `devm_platform_ioremap_resource'
> >>>
> >>> I've previously posted
> >>> https://lore.kernel.org/dmaengine/20210520152420.23986-2-laurent.pinchart@ideasonboard.com/T/#u
> >>> which fixes the same issue (plus an additional one).
> >>
> >> Hi Laurent,
> >>
> >> I didn't add a dependency on OF because OF header files _mostly_
> >> have stubs so that they work when  OF is enabled or disabled.
> >>
> >> I did find a problem in <linux/of_address.h> where it could end up
> >> without having a stub. I will post a patch for that soon.
> >> I'm currently doing lots of randconfig builds on it.
> > 
> > I'm fine with eithe approach, but the patch you've posted to address the
> > of_address.h issue has an issue itself.
> 
> I'm also fine with either patch.
> I'm reworking the of_address.h patch now.

Back from vacation and clearing inbox... I have already applied Laurents
patch for this... 

Thanks
diff mbox series

Patch

--- linux-next-20210521.orig/drivers/dma/Kconfig
+++ linux-next-20210521/drivers/dma/Kconfig
@@ -702,6 +702,7 @@  config XILINX_ZYNQMP_DMA
 
 config XILINX_ZYNQMP_DPDMA
 	tristate "Xilinx DPDMA Engine"
+	depends on HAS_IOMEM
 	select DMA_ENGINE
 	select DMA_VIRTUAL_CHANNELS
 	help