[PATCH 1/1] pinctrl: add some error checking for user interfaces

Stephen Warren swarren at wwwdotorg.org
Mon Apr 9 23:44:51 EDT 2012


On 04/09/2012 09:49 PM, Dong Aisheng wrote:
> On Mon, Apr 09, 2012 at 11:03:06PM +0800, Stephen Warren wrote:
>> On 04/09/2012 04:30 AM, Dong Aisheng wrote:
>>> From: Dong Aisheng <dong.aisheng at linaro.org>
>>>
>>> This patch can avoid kernel oops in case the mux or config
>>> function is not supported by driver.
...
>>>  static int pinconf_pins_show(struct seq_file *s, void *what)
>>>  {
>>>  	struct pinctrl_dev *pctldev = s->private;
>>> +	const struct pinconf_ops *ops = pctldev->desc->confops;
>>>  	unsigned i, pin;
>>>  
>>> +	if (!ops || !ops->pin_config_get)
>>> +		return 0;
>>
>> I don't think this is necessary; it looks like this function (and those
>> it calls) always checks ops where they're used.
>
> Yes, it's true.
> But it will still dump all pins configs although there's no config value
> which is almost the same as another debug entry 'pins'.
> It looks it does not make too much sense to dump this info if no config support.
> The existing pinconf_group_show did like this way(no output).
> So i changed pinconf_pins_show in the same behavior as pinconf_group_show.
> 
> Do you think it's reasonable?

OK, I guess so.

I was thinking the file wouldn't be compiled without pin config support,
but that's only the core support and doesn't necessarily imply the
individual driver has support.



More information about the linux-arm-kernel mailing list