mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
[IA64] Cannot use register_percpu_irq() from ia64_mca_init()
This is called before early_irq_init() which will clobber any registrations made too early. Move the calls to ia64_mca_late_init(). Signed-off-by: Tony Luck <tomy.luck@intel.com>
This commit is contained in:
@@ -2055,25 +2055,6 @@ ia64_mca_init(void)
|
|||||||
|
|
||||||
IA64_MCA_DEBUG("%s: registered OS INIT handler with SAL\n", __func__);
|
IA64_MCA_DEBUG("%s: registered OS INIT handler with SAL\n", __func__);
|
||||||
|
|
||||||
/*
|
|
||||||
* Configure the CMCI/P vector and handler. Interrupts for CMC are
|
|
||||||
* per-processor, so AP CMC interrupts are setup in smp_callin() (smpboot.c).
|
|
||||||
*/
|
|
||||||
register_percpu_irq(IA64_CMC_VECTOR, &cmci_irqaction);
|
|
||||||
register_percpu_irq(IA64_CMCP_VECTOR, &cmcp_irqaction);
|
|
||||||
ia64_mca_cmc_vector_setup(); /* Setup vector on BSP */
|
|
||||||
|
|
||||||
/* Setup the MCA rendezvous interrupt vector */
|
|
||||||
register_percpu_irq(IA64_MCA_RENDEZ_VECTOR, &mca_rdzv_irqaction);
|
|
||||||
|
|
||||||
/* Setup the MCA wakeup interrupt vector */
|
|
||||||
register_percpu_irq(IA64_MCA_WAKEUP_VECTOR, &mca_wkup_irqaction);
|
|
||||||
|
|
||||||
#ifdef CONFIG_ACPI
|
|
||||||
/* Setup the CPEI/P handler */
|
|
||||||
register_percpu_irq(IA64_CPEP_VECTOR, &mca_cpep_irqaction);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Initialize the areas set aside by the OS to buffer the
|
/* Initialize the areas set aside by the OS to buffer the
|
||||||
* platform/processor error states for MCA/INIT/CMC
|
* platform/processor error states for MCA/INIT/CMC
|
||||||
* handling.
|
* handling.
|
||||||
@@ -2103,6 +2084,25 @@ ia64_mca_late_init(void)
|
|||||||
if (!mca_init)
|
if (!mca_init)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Configure the CMCI/P vector and handler. Interrupts for CMC are
|
||||||
|
* per-processor, so AP CMC interrupts are setup in smp_callin() (smpboot.c).
|
||||||
|
*/
|
||||||
|
register_percpu_irq(IA64_CMC_VECTOR, &cmci_irqaction);
|
||||||
|
register_percpu_irq(IA64_CMCP_VECTOR, &cmcp_irqaction);
|
||||||
|
ia64_mca_cmc_vector_setup(); /* Setup vector on BSP */
|
||||||
|
|
||||||
|
/* Setup the MCA rendezvous interrupt vector */
|
||||||
|
register_percpu_irq(IA64_MCA_RENDEZ_VECTOR, &mca_rdzv_irqaction);
|
||||||
|
|
||||||
|
/* Setup the MCA wakeup interrupt vector */
|
||||||
|
register_percpu_irq(IA64_MCA_WAKEUP_VECTOR, &mca_wkup_irqaction);
|
||||||
|
|
||||||
|
#ifdef CONFIG_ACPI
|
||||||
|
/* Setup the CPEI/P handler */
|
||||||
|
register_percpu_irq(IA64_CPEP_VECTOR, &mca_cpep_irqaction);
|
||||||
|
#endif
|
||||||
|
|
||||||
register_hotcpu_notifier(&mca_cpu_notifier);
|
register_hotcpu_notifier(&mca_cpu_notifier);
|
||||||
|
|
||||||
/* Setup the CMCI/P vector and handler */
|
/* Setup the CMCI/P vector and handler */
|
||||||
|
Reference in New Issue
Block a user