Lines Matching refs:drv
59 struct cpuidle_driver *drv, int idx, in __psci_enter_domain_idle_state() argument
108 struct cpuidle_driver *drv, int idx) in psci_enter_domain_idle_state() argument
110 return __psci_enter_domain_idle_state(dev, drv, idx, false); in psci_enter_domain_idle_state()
114 struct cpuidle_driver *drv, in psci_enter_s2idle_domain_idle_state() argument
117 return __psci_enter_domain_idle_state(dev, drv, idx, true); in psci_enter_s2idle_domain_idle_state()
204 struct cpuidle_driver *drv, int idx) in psci_enter_idle_state() argument
234 static int psci_dt_cpu_init_topology(struct cpuidle_driver *drv, in psci_dt_cpu_init_topology() argument
251 drv->states[state_count - 1].enter = psci_enter_domain_idle_state; in psci_dt_cpu_init_topology()
252 drv->states[state_count - 1].enter_s2idle = psci_enter_s2idle_domain_idle_state; in psci_dt_cpu_init_topology()
258 static int psci_dt_cpu_init_idle(struct device *dev, struct cpuidle_driver *drv, in psci_dt_cpu_init_idle() argument
291 ret = psci_dt_cpu_init_topology(drv, data, state_count, cpu); in psci_dt_cpu_init_idle()
300 static int psci_cpu_init_idle(struct device *dev, struct cpuidle_driver *drv, in psci_cpu_init_idle() argument
317 ret = psci_dt_cpu_init_idle(dev, drv, cpu_node, state_count, cpu); in psci_cpu_init_idle()
334 struct cpuidle_driver *drv; in psci_idle_init_cpu() local
355 drv = devm_kzalloc(dev, sizeof(*drv), GFP_KERNEL); in psci_idle_init_cpu()
356 if (!drv) in psci_idle_init_cpu()
359 drv->name = "psci_idle"; in psci_idle_init_cpu()
360 drv->owner = THIS_MODULE; in psci_idle_init_cpu()
361 drv->cpumask = (struct cpumask *)cpumask_of(cpu); in psci_idle_init_cpu()
367 drv->states[0].enter = psci_enter_idle_state; in psci_idle_init_cpu()
368 drv->states[0].exit_latency = 1; in psci_idle_init_cpu()
369 drv->states[0].target_residency = 1; in psci_idle_init_cpu()
370 drv->states[0].power_usage = UINT_MAX; in psci_idle_init_cpu()
371 strcpy(drv->states[0].name, "WFI"); in psci_idle_init_cpu()
372 strcpy(drv->states[0].desc, "ARM WFI"); in psci_idle_init_cpu()
381 ret = dt_init_idle_driver(drv, psci_idle_state_match, 1); in psci_idle_init_cpu()
388 ret = psci_cpu_init_idle(dev, drv, cpu, ret); in psci_idle_init_cpu()
394 ret = cpuidle_register(drv, NULL); in psci_idle_init_cpu()
398 cpuidle_cooling_register(drv); in psci_idle_init_cpu()
416 struct cpuidle_driver *drv; in psci_cpuidle_probe() local
431 drv = cpuidle_get_cpu_driver(dev); in psci_cpuidle_probe()
432 cpuidle_unregister(drv); in psci_cpuidle_probe()