Re: [PATCH v2 2/3] misc/pvpanic: add PCI driver

From: Greg KH
Date: Fri Feb 12 2021 - 05:19:02 EST


On Fri, Feb 12, 2021 at 11:17:05AM +0200, Mihai Carabas wrote:
> Add support for pvpanic PCI device added in qemu [1]. At probe time, obtain the
> address where to read/write pvpanic events and pass it to the generic handling
> code. Will follow the same logic as pvpanic MMIO device driver. At remove time,
> unmap base address and disable PCI device.
>
> [1] https://github.com/qemu/qemu/commit/9df52f58e76e904fb141b10318362d718f470db2
>
> Signed-off-by: Mihai Carabas <mihai.carabas@xxxxxxxxxx>
> ---
> drivers/misc/pvpanic/Kconfig | 8 +++++++
> drivers/misc/pvpanic/Makefile | 2 ++
> drivers/misc/pvpanic/pci.c | 49 +++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 59 insertions(+)
> create mode 100644 drivers/misc/pvpanic/pci.c
>
> diff --git a/drivers/misc/pvpanic/Kconfig b/drivers/misc/pvpanic/Kconfig
> index 0dce6ef..ce8b93e 100644
> --- a/drivers/misc/pvpanic/Kconfig
> +++ b/drivers/misc/pvpanic/Kconfig
> @@ -10,3 +10,11 @@ config PVPANIC_MMIO
> This driver provides support for the pvpanic device. pvpanic is
> a paravirtualized device provided by QEMU; it lets a virtual machine
> (guest) communicate panic events to the host.
> +
> +config PVPANIC_PCI
> + tristate "pvpanic PCI device support"
> + depends on PCI && PVPANIC
> + help
> + This driver provides support for the pvpanic device. pvpanic is
> + a paravirtualized device provided by QEMU; it lets a virtual machine
> + (guest) communicate panic events to the host.
> diff --git a/drivers/misc/pvpanic/Makefile b/drivers/misc/pvpanic/Makefile
> index 9ea3355..1763450 100644
> --- a/drivers/misc/pvpanic/Makefile
> +++ b/drivers/misc/pvpanic/Makefile
> @@ -1,2 +1,4 @@
> obj-$(CONFIG_PVPANIC_MMIO) += pvpanic-mmio.o
> pvpanic-mmio-objs := pvpanic-common.o mmio.o
> +obj-$(CONFIG_PVPANIC_PCI) += pvpanic-pci.o
> +pvpanic-pci-objs := pvpanic-common.o pci.o

So you now have the pvpanic-common.o file linked into both modules at
the same time? What happens if they are both loaded?

This feels really broken...

greg k-h