Message ID | 20160419150555.GB15458@red-moon (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 19/04/16 16:05, Lorenzo Pieralisi wrote: > Hi Jisheng, > > On Tue, Mar 22, 2016 at 10:35:29PM +0800, Jisheng Zhang wrote: >> psci_dt_cpu_init_idle() and psci_cpu_init_idle() are not needed after >> booting, so mark them as __init. >> On the other hand, when I was trying to reuse arm_cpuidle_init to support ACPI LPIs, I found that we may need to remove __init tag on it as it gets called by hotplug notifiers in ACPI context. I am not objecting this change, just mentioning with the hope to get solution to the above issue.
On Tue, Apr 19, 2016 at 04:20:38PM +0100, Sudeep Holla wrote: > > > On 19/04/16 16:05, Lorenzo Pieralisi wrote: > >Hi Jisheng, > > > >On Tue, Mar 22, 2016 at 10:35:29PM +0800, Jisheng Zhang wrote: > >>psci_dt_cpu_init_idle() and psci_cpu_init_idle() are not needed after > >>booting, so mark them as __init. > >> > > On the other hand, when I was trying to reuse arm_cpuidle_init to > support ACPI LPIs, I found that we may need to remove __init tag on it > as it gets called by hotplug notifiers in ACPI context. > > I am not objecting this change, just mentioning with the hope to get > solution to the above issue. Yep, good point, it is not strictly necessary to merge it either and I would avoid churning out changes given that we know we will require to remove those __init tags anyway, so patch dropped. Lorenzo
diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c index 6d86881..4a6a7de 100644 --- a/drivers/firmware/psci.c +++ b/drivers/firmware/psci.c @@ -250,7 +250,7 @@ static int __init psci_features(u32 psci_func_id) #ifdef CONFIG_CPU_IDLE static DEFINE_PER_CPU_READ_MOSTLY(u32 *, psci_power_state); -static int psci_dt_cpu_init_idle(struct device_node *cpu_node, int cpu) +static int __init psci_dt_cpu_init_idle(struct device_node *cpu_node, int cpu) { int i, ret, count = 0; u32 *psci_states; @@ -310,7 +310,7 @@ free_mem: return ret; } -int psci_cpu_init_idle(unsigned int cpu) +int __init psci_cpu_init_idle(unsigned int cpu) { struct device_node *cpu_node; int ret;