Re: [PATCH] cpuidle: dt: bail out if the idle-state DT node is not compatible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 31, 2019 at 10:27:49AM +0800, Joseph Lo wrote:
> Currently, the DT of the idle states will be parsed first whether it's
> compatible or not. This could cause a warning message that comes from if
> the CPU doesn't support identical idle states. E.g. Tegra186 can run
> with 2 Cortex-A57 and 2 Denver cores with different idle states on
> different types of these cores.
>
> We fix it to check the compatible string before the parsing procedures.
> So it can make sure it only goes through the idle states that the CPU
> supported.
>
> Signed-off-by: Joseph Lo <josephl@xxxxxxxxxx>
> ---
>  drivers/cpuidle/dt_idle_states.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/cpuidle/dt_idle_states.c b/drivers/cpuidle/dt_idle_states.c
> index 53342b7f1010..4a528908abb3 100644
> --- a/drivers/cpuidle/dt_idle_states.c
> +++ b/drivers/cpuidle/dt_idle_states.c
> @@ -180,6 +180,11 @@ int dt_init_idle_driver(struct cpuidle_driver *drv,
>  		if (!state_node)
>  			break;
>
> +		if (!of_device_is_compatible(state_node, matches->compatible)) {
> +			err = -EINVAL;
> +			break;
> +		}
> +

Does it make sense to use of_match_node to get the matching device id and
just pass that to init_state_node instead of the complete array to find the
match.

--
Regards,
Sudeep



[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux