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