virt inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I8URKX
--------------------------------
If we set kvm-arm.vtimer_irqbypass=1, we need to probe mbigen driver before kvm_arm_init, since the vtimer mbigen regs should be set before kvm_arm_init flush the value of vtimer_irqbypass. Otherwise the regs of vtimer mbigen may not be set correctly, and kvm will set vtimer_irqbypass=0.
Signed-off-by: Dongxu Sun sundongxu3@huawei.com --- drivers/irqchip/irq-mbigen.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/irqchip/irq-mbigen.c b/drivers/irqchip/irq-mbigen.c index 334f82f8ba4b..fd190c460a32 100644 --- a/drivers/irqchip/irq-mbigen.c +++ b/drivers/irqchip/irq-mbigen.c @@ -866,7 +866,18 @@ static struct platform_driver mbigen_platform_driver = { .probe = mbigen_device_probe, };
-module_platform_driver(mbigen_platform_driver); +static int __init mbigen_init(void) +{ + return platform_driver_register(&mbigen_platform_driver); +} + +static void __exit mbigen_exit(void) +{ + return platform_driver_unregister(&mbigen_platform_driver); +} + +arch_initcall(mbigen_init); +module_exit(mbigen_exit);
MODULE_AUTHOR("Jun Ma majun258@huawei.com"); MODULE_AUTHOR("Yun Wu wuyun.wu@huawei.com");