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.cara...@oracle.com> > --- > 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