Hi,
We need to revisited this driver, I have tried to run kernel with sysreg and got failure. Here is the reason: [...] static void __iomem *vexpress_sysreg_base(void) { if (!__vexpress_sysreg_base) { struct device_node *node = of_find_compatible_node(NULL, NULL, "arm,vexpress-sysreg");
__vexpress_sysreg_base = of_iomap(node, 0); }
WARN_ON(!__vexpress_sysreg_base);
return __vexpress_sysreg_base; } [...]
So sysreg still tries to obtain info from FDT while now we are using pure ACPI kernel.
Regards, Tomasz
On 23.10.2013 13:23, naresh.bhat@linaro.org wrote:
From: Naresh Bhat naresh.bhat@linaro.org
Add match table and pointers for ACPI probing into vexpress-sysreg driver.
Signed-off-by: Naresh Bhat naresh.bhat@linaro.org
drivers/mfd/vexpress-sysreg.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/drivers/mfd/vexpress-sysreg.c b/drivers/mfd/vexpress-sysreg.c index 981bef4..9e39075 100644 --- a/drivers/mfd/vexpress-sysreg.c +++ b/drivers/mfd/vexpress-sysreg.c @@ -22,6 +22,7 @@ #include <linux/stat.h> #include <linux/timer.h> #include <linux/vexpress.h> +#include <linux/acpi.h>
#define SYS_ID 0x000 #define SYS_SW 0x004 @@ -512,10 +513,18 @@ static const struct of_device_id vexpress_sysreg_match[] = { {}, };
+#ifdef CONFIG_ACPI +static const struct acpi_device_id vexpress_sysreg_acpi_match[] = {
- { "LINA0009", },
- { }
+}; +#endif
- static struct platform_driver vexpress_sysreg_driver = { .driver = { .name = "vexpress-sysreg", .of_match_table = vexpress_sysreg_match,
}, .probe = vexpress_sysreg_probe, };.acpi_match_table = ACPI_PTR(vexpress_sysreg_acpi_match),