[PATCH v6 1/6] driver: cpuidle-big-little: add of_device_id structure

Daniel Lezcano daniel.lezcano at linaro.org
Wed May 28 01:58:32 PDT 2014


On 05/16/2014 10:03 AM, Chander Kashyap wrote:
> This driver will be used by many big.Little Soc's. As of now it does
> string matching of hardcoded compatible string to init the driver. This
> comparison list will keep on growing with addition of new SoC's.
> Hence add of_device_id structure to collect the compatible strings of
> SoC's using this driver.
>
> Signed-off-by: Chander Kashyap <chander.kashyap at linaro.org>
> Signed-off-by: Chander Kashyap <k.chander at samsung.com>

Acked-by: Daniel Lezcano <daniel.lezcano at linaro.org>

> ---
>   drivers/cpuidle/cpuidle-big_little.c |   11 ++++++++++-
>   1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
> index b45fc62..4cd02bd 100644
> --- a/drivers/cpuidle/cpuidle-big_little.c
> +++ b/drivers/cpuidle/cpuidle-big_little.c
> @@ -163,14 +163,23 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
>   	return 0;
>   }
>
> +static const struct of_device_id compatible_machine_match[] = {
> +	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
> +	{},
> +};
> +
>   static int __init bl_idle_init(void)
>   {
>   	int ret;
> +	struct device_node *root = of_find_node_by_path("/");
> +
> +	if (!root)
> +		return -ENODEV;
>
>   	/*
>   	 * Initialize the driver just for a compliant set of machines
>   	 */
> -	if (!of_machine_is_compatible("arm,vexpress,v2p-ca15_a7"))
> +	if (!of_match_node(compatible_machine_match, root))
>   		return -ENODEV;
>   	/*
>   	 * For now the differentiation between little and big cores
>


-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog




More information about the linux-arm-kernel mailing list