From f4405a5b55e748ab0709f7d2f6b130f632a62052 Mon Sep 17 00:00:00 2001 From: Shannon Zhao Date: Tue, 17 Sep 2019 18:58:56 +0800 Subject: [PATCH 0143/2944] alinux: virtio_ring: Support using kernel booting paramter when compiled as module Commit 6f1e39b(eci: drivers/virtio: add vring_force_dma_api boot param) only supports using vring_force_dma_api when virtio_ring built into kernel not as a module. But by default, virtio_ring is compiled as a module, this patch adds support for that case. So users can specify virtio_ring.vring_force_dma_api=1/0 in kernel booting paramter to turn on/off this feature. Signed-off-by: Shannon Zhao Reviewed-by: Zou Cao --- drivers/virtio/virtio_ring.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index e32403b..618896b 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -24,6 +24,7 @@ #include #include #include +#include #include static bool vring_force_dma_api = false; @@ -117,6 +118,9 @@ struct vring_virtqueue { #define to_vvq(_vq) container_of(_vq, struct vring_virtqueue, vq) +#ifdef MODULE +module_param(vring_force_dma_api, bool, 0640); +#else static int __init vring_dma_api_setup(char *str) { vring_force_dma_api = true; @@ -125,6 +129,7 @@ static int __init vring_dma_api_setup(char *str) return 0; } __setup("vring_force_dma_api", vring_dma_api_setup); +#endif /* * Modern virtio devices have feature bits to specify whether they need a -- 1.8.3.1