lkml.org 
[lkml]   [2012]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RESEND 5/6 v10] gpio: Add device tree support to block GPIO API
Hi Mark,

On 12/17/2012 04:51 PM, Mark Rutland wrote:
>> +static int __devinit gpioblock_of_probe(struct platform_device *pdev)
>> +{
>> + struct device_node *block;
>> + unsigned *gpios;
>> + int ngpio;
>> + int ret;
>> + struct gpio_block *gb;
>> +
>> + for_each_available_child_of_node(pdev->dev.of_node, block) {
>> + int i;
>> +
>> + ngpio = of_gpio_count(block);
>> + gpios = kzalloc(ngpio * sizeof(*gpios), GFP_KERNEL);
>
> What if the block node is malformed? ngpio might be -ENOENT or -EINVAL.

AFAICS, of_gpio_count() always returns at least 0. Both if
CONFIG_OF_GPIO is y, m or n. And called of_gpio_named_count() also
currently doesn't return error values. Further, other drivers using
of_gpio_count() don't expect or catch <0.

However, it's reasonable to guard against of_gpio_count() < 1 since
probing without provided blocks should be void.

Will change this for the next patch update together with your leakage
findings.

Thanks for reporting!

Roland


\
 
 \ /
  Last update: 2012-12-18 16:01    [W:0.116 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site