On s390 systems (aka mainframes), it has classic channel devices for
networking and permanent storage that are currently even more common
than PCI devices. Hence it could have a fully functional s390 kernel
with CONFIG_PCI=n, then the relevant iomem mapping functions
[including ioremap(), devm_ioremap(), etc.] are not available.
Here let QCOM_HIDMA depend on HAS_IOMEM so that it won't be built to
cause below compiling error if PCI is unset.
--------------------------------------------------------
ld: drivers/dma/qcom/hidma.o: in function `hidma_probe':
hidma.c:(.text+0x4b46): undefined reference to `devm_ioremap_resource'
ld: hidma.c:(.text+0x4b9e): undefined reference to `devm_ioremap_resource'
make[1]: *** [scripts/Makefile.vmlinux:35: vmlinux] Error 1
make: *** [Makefile:1264: vmlinux] Error 2
Signed-off-by: Baoquan He <bhe@redhat.com>
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
Cc: Andy Gross <agross@kernel.org>
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: dmaengine@vger.kernel.org
---
drivers/dma/qcom/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/dma/qcom/Kconfig b/drivers/dma/qcom/Kconfig
index 3f926a653bd8..ace75d7b835a 100644
--- a/drivers/dma/qcom/Kconfig
+++ b/drivers/dma/qcom/Kconfig
@@ -45,6 +45,7 @@ config QCOM_HIDMA_MGMT
config QCOM_HIDMA
tristate "Qualcomm Technologies HIDMA Channel support"
+ depends on HAS_IOMEM
select DMA_ENGINE
help
Enable support for the Qualcomm Technologies HIDMA controller.
--
2.34.1
On 06-05-23, 19:16, Baoquan He wrote: > On s390 systems (aka mainframes), it has classic channel devices for > networking and permanent storage that are currently even more common > than PCI devices. Hence it could have a fully functional s390 kernel > with CONFIG_PCI=n, then the relevant iomem mapping functions > [including ioremap(), devm_ioremap(), etc.] are not available. > > Here let QCOM_HIDMA depend on HAS_IOMEM so that it won't be built to > cause below compiling error if PCI is unset. I have 2/2 patch here, where is patch 1 of 2..? > > -------------------------------------------------------- > ld: drivers/dma/qcom/hidma.o: in function `hidma_probe': > hidma.c:(.text+0x4b46): undefined reference to `devm_ioremap_resource' > ld: hidma.c:(.text+0x4b9e): undefined reference to `devm_ioremap_resource' > make[1]: *** [scripts/Makefile.vmlinux:35: vmlinux] Error 1 > make: *** [Makefile:1264: vmlinux] Error 2 > > Signed-off-by: Baoquan He <bhe@redhat.com> > Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com> > Cc: Andy Gross <agross@kernel.org> > Cc: Bjorn Andersson <andersson@kernel.org> > Cc: Konrad Dybcio <konrad.dybcio@linaro.org> > Cc: Vinod Koul <vkoul@kernel.org> > Cc: linux-arm-msm@vger.kernel.org > Cc: dmaengine@vger.kernel.org > --- > drivers/dma/qcom/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/dma/qcom/Kconfig b/drivers/dma/qcom/Kconfig > index 3f926a653bd8..ace75d7b835a 100644 > --- a/drivers/dma/qcom/Kconfig > +++ b/drivers/dma/qcom/Kconfig > @@ -45,6 +45,7 @@ config QCOM_HIDMA_MGMT > > config QCOM_HIDMA > tristate "Qualcomm Technologies HIDMA Channel support" > + depends on HAS_IOMEM > select DMA_ENGINE > help > Enable support for the Qualcomm Technologies HIDMA controller. > -- > 2.34.1 -- ~Vinod
On 05/16/23 at 11:26pm, Vinod Koul wrote: > On 06-05-23, 19:16, Baoquan He wrote: > > On s390 systems (aka mainframes), it has classic channel devices for > > networking and permanent storage that are currently even more common > > than PCI devices. Hence it could have a fully functional s390 kernel > > with CONFIG_PCI=n, then the relevant iomem mapping functions > > [including ioremap(), devm_ioremap(), etc.] are not available. > > > > Here let QCOM_HIDMA depend on HAS_IOMEM so that it won't be built to > > cause below compiling error if PCI is unset. > > I have 2/2 patch here, where is patch 1 of 2..? It's here, thanks for check. https://lore.kernel.org/all/20230506111628.712316-2-bhe@redhat.com/T/#u I used get_maintainer to get reivewers list, seems your contact is only put in 2/2 patch. I also sent to lkml, linux-mm and s390 mailing list, so the whole series can be seen in any of the ML. Thanks Baoquan > > > > > -------------------------------------------------------- > > ld: drivers/dma/qcom/hidma.o: in function `hidma_probe': > > hidma.c:(.text+0x4b46): undefined reference to `devm_ioremap_resource' > > ld: hidma.c:(.text+0x4b9e): undefined reference to `devm_ioremap_resource' > > make[1]: *** [scripts/Makefile.vmlinux:35: vmlinux] Error 1 > > make: *** [Makefile:1264: vmlinux] Error 2 > > > > Signed-off-by: Baoquan He <bhe@redhat.com> > > Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com> > > Cc: Andy Gross <agross@kernel.org> > > Cc: Bjorn Andersson <andersson@kernel.org> > > Cc: Konrad Dybcio <konrad.dybcio@linaro.org> > > Cc: Vinod Koul <vkoul@kernel.org> > > Cc: linux-arm-msm@vger.kernel.org > > Cc: dmaengine@vger.kernel.org > > --- > > drivers/dma/qcom/Kconfig | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/dma/qcom/Kconfig b/drivers/dma/qcom/Kconfig > > index 3f926a653bd8..ace75d7b835a 100644 > > --- a/drivers/dma/qcom/Kconfig > > +++ b/drivers/dma/qcom/Kconfig > > @@ -45,6 +45,7 @@ config QCOM_HIDMA_MGMT > > > > config QCOM_HIDMA > > tristate "Qualcomm Technologies HIDMA Channel support" > > + depends on HAS_IOMEM > > select DMA_ENGINE > > help > > Enable support for the Qualcomm Technologies HIDMA controller. > > -- > > 2.34.1 > > -- > ~Vinod >
On 17-05-23, 08:18, Baoquan He wrote: > On 05/16/23 at 11:26pm, Vinod Koul wrote: > > On 06-05-23, 19:16, Baoquan He wrote: > > > On s390 systems (aka mainframes), it has classic channel devices for > > > networking and permanent storage that are currently even more common > > > than PCI devices. Hence it could have a fully functional s390 kernel > > > with CONFIG_PCI=n, then the relevant iomem mapping functions > > > [including ioremap(), devm_ioremap(), etc.] are not available. > > > > > > Here let QCOM_HIDMA depend on HAS_IOMEM so that it won't be built to > > > cause below compiling error if PCI is unset. > > > > I have 2/2 patch here, where is patch 1 of 2..? > > It's here, thanks for check. > https://lore.kernel.org/all/20230506111628.712316-2-bhe@redhat.com/T/#u > > I used get_maintainer to get reivewers list, seems your contact is only > put in 2/2 patch. I also sent to lkml, linux-mm and s390 mailing list, > so the whole series can be seen in any of the ML. Ideally these two could have been sent separately! If sending together add a cover and cc everyone, so that we know.. Applied now -- ~Vinod
On Sat, 6 May 2023 at 14:17, Baoquan He <bhe@redhat.com> wrote: > > On s390 systems (aka mainframes), it has classic channel devices for > networking and permanent storage that are currently even more common > than PCI devices. Hence it could have a fully functional s390 kernel > with CONFIG_PCI=n, then the relevant iomem mapping functions > [including ioremap(), devm_ioremap(), etc.] are not available. > > Here let QCOM_HIDMA depend on HAS_IOMEM so that it won't be built to > cause below compiling error if PCI is unset. > > -------------------------------------------------------- > ld: drivers/dma/qcom/hidma.o: in function `hidma_probe': > hidma.c:(.text+0x4b46): undefined reference to `devm_ioremap_resource' > ld: hidma.c:(.text+0x4b9e): undefined reference to `devm_ioremap_resource' > make[1]: *** [scripts/Makefile.vmlinux:35: vmlinux] Error 1 > make: *** [Makefile:1264: vmlinux] Error 2 > > Signed-off-by: Baoquan He <bhe@redhat.com> > Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com> > Cc: Andy Gross <agross@kernel.org> > Cc: Bjorn Andersson <andersson@kernel.org> > Cc: Konrad Dybcio <konrad.dybcio@linaro.org> > Cc: Vinod Koul <vkoul@kernel.org> > Cc: linux-arm-msm@vger.kernel.org > Cc: dmaengine@vger.kernel.org > --- > drivers/dma/qcom/Kconfig | 1 + > 1 file changed, 1 insertion(+) Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@gmail.com> -- With best wishes Dmitry
© 2016 - 2026 Red Hat, Inc.