set_dma_ops isn't available on all architectures: make ARCH=um ... drivers/vdpa/vdpa_sim/vdpa_sim.c: In function 'vdpasim_create':>> drivers/vdpa/vdpa_sim/vdpa_sim.c:324:2: error: implicit declaration of function 'set_dma_ops'; did you mean 'set_groups'?+[-Werror=implicit-function-declaration] set_dma_ops(dev, &vdpasim_dma_ops); ^~~~~~~~~~~ set_groups Signed-off-by: Michael S. Tsirkin <mst at redhat.com> --- drivers/vdpa/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/vdpa/Kconfig b/drivers/vdpa/Kconfig index 08b615f2da39..d0cb0e583a5d 100644 --- a/drivers/vdpa/Kconfig +++ b/drivers/vdpa/Kconfig @@ -14,7 +14,7 @@ if VDPA_MENU config VDPA_SIM tristate "vDPA device simulator" - depends on RUNTIME_TESTING_MENU + depends on RUNTIME_TESTING_MENU && HAS_DMA select VDPA select VHOST_RING select VHOST_IOTLB -- MST
On 2020/4/5 ??4:14, Michael S. Tsirkin wrote:> set_dma_ops isn't available on all architectures: > > make ARCH=um > ... > > drivers/vdpa/vdpa_sim/vdpa_sim.c: In function 'vdpasim_create': >>> drivers/vdpa/vdpa_sim/vdpa_sim.c:324:2: error: implicit declaration of function 'set_dma_ops'; did you mean 'set_groups'? > +[-Werror=implicit-function-declaration] > set_dma_ops(dev, &vdpasim_dma_ops); > ^~~~~~~~~~~ > set_groups > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > --- > drivers/vdpa/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/vdpa/Kconfig b/drivers/vdpa/Kconfig > index 08b615f2da39..d0cb0e583a5d 100644 > --- a/drivers/vdpa/Kconfig > +++ b/drivers/vdpa/Kconfig > @@ -14,7 +14,7 @@ if VDPA_MENU > > config VDPA_SIM > tristate "vDPA device simulator" > - depends on RUNTIME_TESTING_MENU > + depends on RUNTIME_TESTING_MENU && HAS_DMA > select VDPA > select VHOST_RING > select VHOST_IOTLBAcked-by: Jason Wang <jasowang at redhat.com>
Pleae just drop the code - we should not add new drivers with custom DMA ops.
On Mon, Apr 06, 2020 at 06:09:27AM -0700, Christoph Hellwig wrote:> Pleae just drop the code - we should not add new drivers with custom > DMA ops.I'm not sure there's another way to do this: this not a driver, it's a software emulator that pretends to be an actual device. We can't have the platform supply DMA ops here since the platform is a regular x86 or whatever. -- MST
Hi Michael, On Sun, Apr 5, 2020 at 10:17 AM Michael S. Tsirkin <mst at redhat.com> wrote:> > set_dma_ops isn't available on all architectures: > > make ARCH=um > ... > > drivers/vdpa/vdpa_sim/vdpa_sim.c: In function 'vdpasim_create': > >> drivers/vdpa/vdpa_sim/vdpa_sim.c:324:2: error: implicit declaration of function 'set_dma_ops'; did you mean 'set_groups'? > +[-Werror=implicit-function-declaration] > set_dma_ops(dev, &vdpasim_dma_ops); > ^~~~~~~~~~~ > set_groups > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com>As this fixes the Sun-3 all{mod,yes}-config build, which has NO_DMA=y: Acked-by: Geert Uytterhoeven <geert at linux-m68k.org> However, you may want to follow Christoph's suggestion instead.> --- a/drivers/vdpa/Kconfig > +++ b/drivers/vdpa/Kconfig > @@ -14,7 +14,7 @@ if VDPA_MENU > > config VDPA_SIM > tristate "vDPA device simulator" > - depends on RUNTIME_TESTING_MENU > + depends on RUNTIME_TESTING_MENU && HAS_DMA > select VDPA > select VHOST_RING > select VHOST_IOTLBGr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds