2021-05-22 02:15:37

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH 4/4] DMA: XILINX_ZYNQMP_DPDMA depends on HAS_IOMEM

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 <[email protected]>
Reported-by: kernel test robot <[email protected]>
Cc: Vinod Koul <[email protected]>
CC: [email protected]
Cc: Hyun Kwon <[email protected]>
Cc: Tejas Upadhyay <[email protected]>
Cc: Michal Simek <[email protected]>
Cc: Laurent Pinchart <[email protected]>
---
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


2021-05-23 00:24:33

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 4/4] DMA: XILINX_ZYNQMP_DPDMA depends on HAS_IOMEM

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/[email protected]/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 <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Cc: Vinod Koul <[email protected]>
> CC: [email protected]
> Cc: Hyun Kwon <[email protected]>
> Cc: Tejas Upadhyay <[email protected]>
> Cc: Michal Simek <[email protected]>
> Cc: Laurent Pinchart <[email protected]>
> ---
> 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

--
Regards,

Laurent Pinchart

2021-05-23 01:11:04

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH 4/4] DMA: XILINX_ZYNQMP_DPDMA depends on HAS_IOMEM

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/[email protected]/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 <[email protected]>
>> Reported-by: kernel test robot <[email protected]>
>> Cc: Vinod Koul <[email protected]>
>> CC: [email protected]
>> Cc: Hyun Kwon <[email protected]>
>> Cc: Tejas Upadhyay <[email protected]>
>> Cc: Michal Simek <[email protected]>
>> Cc: Laurent Pinchart <[email protected]>
>> ---
>> 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

2021-05-23 18:57:58

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 4/4] DMA: XILINX_ZYNQMP_DPDMA depends on HAS_IOMEM

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/[email protected]/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 <[email protected]>

> >> Fixes: 7cbb0c63de3fc ("dmaengine: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver")
> >> Signed-off-by: Randy Dunlap <[email protected]>
> >> Reported-by: kernel test robot <[email protected]>
> >> Cc: Vinod Koul <[email protected]>
> >> CC: [email protected]
> >> Cc: Hyun Kwon <[email protected]>
> >> Cc: Tejas Upadhyay <[email protected]>
> >> Cc: Michal Simek <[email protected]>
> >> Cc: Laurent Pinchart <[email protected]>
> >> ---
> >> 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

--
Regards,

Laurent Pinchart

2021-05-23 19:10:51

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH 4/4] DMA: XILINX_ZYNQMP_DPDMA depends on HAS_IOMEM

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/[email protected]/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 <[email protected]>
>
>>>> Fixes: 7cbb0c63de3fc ("dmaengine: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver")
>>>> Signed-off-by: Randy Dunlap <[email protected]>
>>>> Reported-by: kernel test robot <[email protected]>
>>>> Cc: Vinod Koul <[email protected]>
>>>> CC: [email protected]
>>>> Cc: Hyun Kwon <[email protected]>
>>>> Cc: Tejas Upadhyay <[email protected]>
>>>> Cc: Michal Simek <[email protected]>
>>>> Cc: Laurent Pinchart <[email protected]>
>>>> ---
>>>> 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

2021-05-31 04:13:52

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH 4/4] DMA: XILINX_ZYNQMP_DPDMA depends on HAS_IOMEM

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/[email protected]/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

--
~Vinod