[PATCH v5 5/8] drivers: cpuidle: CPU idle ARM64 driver

Geoff Levand geoff at infradead.org
Wed Jun 25 13:34:23 PDT 2014


Hi Lorenzo,

On Wed, 2014-06-25 at 15:10 +0100, Lorenzo Pieralisi wrote:
> This patch implements a generic CPU idle driver for ARM64 machines.

...

> +typedef int (*suspend_init_fn)(struct cpuidle_driver *,
> +			       struct device_node *[]);
> +
> +struct cpu_suspend_ops {
> +	const char *id;
> +	suspend_init_fn init_fn;
> +};
> +
> +static const struct cpu_suspend_ops suspend_operations[] __initconst = {
> +	{"arm,psci", psci_dt_register_idle_states},
> +	{}

With this we'll have two completely independent mechanisms for
interacting with the cpu ops, this struct cpu_suspend_ops, and the
struct cpu_operations.  This doesn't seem good.

I feel we need to fix the cpu ops to include some way to operate on the
operation method to do initialization, shutdown, etc.  At present,
cpu_operations only has a mechanism to operate on the individual cpus.

-Geoff




More information about the linux-arm-kernel mailing list