[PATCH 4/8] ARM: mvebu: make use of of_find_matching_node_and_match
Gregory CLEMENT
gregory.clement at free-electrons.com
Tue Feb 11 12:31:33 EST 2014
On 11/02/2014 18:10, Thomas Petazzoni wrote:
> Dear Jason Cooper,
>
> On Tue, 11 Feb 2014 11:53:14 -0500, Jason Cooper wrote:
>
>>> - np = of_find_matching_node(NULL, of_system_controller_table);
>>> + np = of_find_matching_node_and_match(NULL, of_system_controller_table,
>>> + &match);
>>> if (np) {
>>> - const struct of_device_id *match =
>>> - of_match_node(of_system_controller_table, np);
>>
>>
>>> - BUG_ON(!match);
>>
>> Gregory, is it ok to remove this? It was added with the original code
>> submission for mach-mvebu. mvebu_restart() will handle this
>> gracefully...
>
> The BUG_ON here can normally never be reached. If
> of_find_matching_node() returns a non-NULL result, then of_match_node()
> should also return a non-NULL result.
>
> Or I'm missing something :)
No you're almost right!
The only case we can get it, would be if we were declaring something like:
static struct of_device_id of_system_controller_table[] = {
{
.compatible = "foo,bar-controller",
},
[...]
instead of
static struct of_device_id of_system_controller_table[] = {
{
.compatible = "foo,bar",
.data = (void *) &bar_controller,
},
[...]
This test is very paranoid, so I agree to remove it.
Acked-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
Thanks,
Gregory
>
> Thomas
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the linux-arm-kernel
mailing list