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 |
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
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 >
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
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 >
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
--- 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
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(+)