Added the match table and pointers for ACPI probing to the driver. This uses the same identifier for virt devices as being used for qemu ARM64 ACPI support. http://git.linaro.org/people/shannon.zhao/qemu.git/commit/d0bf1955a3ecbab4b51d46f8c5dda02b7e14a17e Signed-off-by: Graeme Gregory <graeme.gregory at linaro.org> --- drivers/virtio/virtio_mmio.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c index 10189b5..f499d9d 100644 --- a/drivers/virtio/virtio_mmio.c +++ b/drivers/virtio/virtio_mmio.c @@ -58,6 +58,7 @@ #define pr_fmt(fmt) "virtio-mmio: " fmt +#include <linux/acpi.h> #include <linux/highmem.h> #include <linux/interrupt.h> #include <linux/io.h> @@ -732,12 +733,21 @@ static struct of_device_id virtio_mmio_match[] = { }; MODULE_DEVICE_TABLE(of, virtio_mmio_match); +#ifdef CONFIG_ACPI +static const struct acpi_device_id virtio_mmio_acpi_match[] = { + { "LNRO0005", }, + { } +}; +MODULE_DEVICE_TABLE(acpi, virtio_mmio_acpi_match); +#endif + static struct platform_driver virtio_mmio_driver = { .probe = virtio_mmio_probe, .remove = virtio_mmio_remove, .driver = { .name = "virtio-mmio", .of_match_table = virtio_mmio_match, + .acpi_match_table = ACPI_PTR(virtio_mmio_acpi_match), }, }; -- 2.1.4
On Tue, Jul 28, 2015 at 10:44:02AM +0100, Graeme Gregory wrote:> Added the match table and pointers for ACPI probing to the driver. > > This uses the same identifier for virt devices as being used for qemu > ARM64 ACPI support. > > http://git.linaro.org/people/shannon.zhao/qemu.git/commit/d0bf1955a3ecbab4b51d46f8c5dda02b7e14a17e > > Signed-off-by: Graeme Gregory <graeme.gregory at linaro.org> > --- > drivers/virtio/virtio_mmio.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c > index 10189b5..f499d9d 100644 > --- a/drivers/virtio/virtio_mmio.c > +++ b/drivers/virtio/virtio_mmio.c > @@ -58,6 +58,7 @@ > > #define pr_fmt(fmt) "virtio-mmio: " fmt > > +#include <linux/acpi.h> > #include <linux/highmem.h> > #include <linux/interrupt.h> > #include <linux/io.h> > @@ -732,12 +733,21 @@ static struct of_device_id virtio_mmio_match[] = { > }; > MODULE_DEVICE_TABLE(of, virtio_mmio_match); > > +#ifdef CONFIG_ACPI > +static const struct acpi_device_id virtio_mmio_acpi_match[] = { > + { "LNRO0005", }, > + { } > +};Hmm - we have reserved QEMUXXXX in ASWG explicitly for this purpose. Pater - do you think it's a good idea to change this before QEMU 2.4 is released?> +MODULE_DEVICE_TABLE(acpi, virtio_mmio_acpi_match); > +#endif > + > static struct platform_driver virtio_mmio_driver = { > .probe = virtio_mmio_probe, > .remove = virtio_mmio_remove, > .driver = { > .name = "virtio-mmio", > .of_match_table = virtio_mmio_match, > + .acpi_match_table = ACPI_PTR(virtio_mmio_acpi_match), > }, > }; > > -- > 2.1.4
On 28 July 2015 at 11:08, Michael S. Tsirkin <mst at redhat.com> wrote:> On Tue, Jul 28, 2015 at 10:44:02AM +0100, Graeme Gregory wrote: >> Added the match table and pointers for ACPI probing to the driver. >> >> This uses the same identifier for virt devices as being used for qemu >> ARM64 ACPI support. >> >> http://git.linaro.org/people/shannon.zhao/qemu.git/commit/d0bf1955a3ecbab4b51d46f8c5dda02b7e14a17e >> >> Signed-off-by: Graeme Gregory <graeme.gregory at linaro.org> >> --- >> drivers/virtio/virtio_mmio.c | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c >> index 10189b5..f499d9d 100644 >> --- a/drivers/virtio/virtio_mmio.c >> +++ b/drivers/virtio/virtio_mmio.c >> @@ -58,6 +58,7 @@ >> >> #define pr_fmt(fmt) "virtio-mmio: " fmt >> >> +#include <linux/acpi.h> >> #include <linux/highmem.h> >> #include <linux/interrupt.h> >> #include <linux/io.h> >> @@ -732,12 +733,21 @@ static struct of_device_id virtio_mmio_match[] = { >> }; >> MODULE_DEVICE_TABLE(of, virtio_mmio_match); >> >> +#ifdef CONFIG_ACPI >> +static const struct acpi_device_id virtio_mmio_acpi_match[] = { >> + { "LNRO0005", }, >> + { } >> +}; > > Hmm - we have reserved QEMUXXXX in ASWG explicitly for this purpose. > > Pater - do you think it's a good idea to change this before QEMU 2.4 > is released?Shannon's call, I guess. I don't know enough about ACPI to say. I thought these ACPI IDs were already fixed because they were what the kernel was looking for... -- PMM
On Tue, Jul 28, 2015 at 10:44:02AM +0100, Graeme Gregory wrote:> Added the match table and pointers for ACPI probing to the driver. > > This uses the same identifier for virt devices as being used for qemu > ARM64 ACPI support. > > http://git.linaro.org/people/shannon.zhao/qemu.git/commit/d0bf1955a3ecbab4b51d46f8c5dda02b7e14a17e > > Signed-off-by: Graeme Gregory <graeme.gregory at linaro.org>To summarize, let's wait a bit with this until QEMU 2.4 with the relevant code is out, to make sure ID does not change.> --- > drivers/virtio/virtio_mmio.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c > index 10189b5..f499d9d 100644 > --- a/drivers/virtio/virtio_mmio.c > +++ b/drivers/virtio/virtio_mmio.c > @@ -58,6 +58,7 @@ > > #define pr_fmt(fmt) "virtio-mmio: " fmt > > +#include <linux/acpi.h> > #include <linux/highmem.h> > #include <linux/interrupt.h> > #include <linux/io.h> > @@ -732,12 +733,21 @@ static struct of_device_id virtio_mmio_match[] = { > }; > MODULE_DEVICE_TABLE(of, virtio_mmio_match); > > +#ifdef CONFIG_ACPI > +static const struct acpi_device_id virtio_mmio_acpi_match[] = { > + { "LNRO0005", }, > + { } > +}; > +MODULE_DEVICE_TABLE(acpi, virtio_mmio_acpi_match); > +#endif > + > static struct platform_driver virtio_mmio_driver = { > .probe = virtio_mmio_probe, > .remove = virtio_mmio_remove, > .driver = { > .name = "virtio-mmio", > .of_match_table = virtio_mmio_match, > + .acpi_match_table = ACPI_PTR(virtio_mmio_acpi_match), > }, > }; > > -- > 2.1.4