diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2012-11-16 22:27:58 -0500 | 
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-11-16 22:27:58 -0500 | 
| commit | d05f06e60df4f56a70fb8a3e46335b40687169e9 (patch) | |
| tree | c1eec6749fed86a21b08606e1e4acefe4b033253 /drivers/gpio/gpiolib.c | |
| parent | 0af1c5300db31f25a412e6e83d42b1747d56c9de (diff) | |
| parent | 1d72d9f83df057e71c7951def41138a0230bf737 (diff) | |
Merge branch 'arch-frv' into no-rebases
Diffstat (limited to 'drivers/gpio/gpiolib.c')
| -rw-r--r-- | drivers/gpio/gpiolib.c | 10 | 
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 5d6c71edc739..1c8d9e3380e1 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -623,9 +623,11 @@ static ssize_t export_store(struct class *class,  	 */  	status = gpio_request(gpio, "sysfs"); -	if (status < 0) +	if (status < 0) { +		if (status == -EPROBE_DEFER) +			status = -ENODEV;  		goto done; - +	}  	status = gpio_export(gpio, true);  	if (status < 0)  		gpio_free(gpio); @@ -1191,8 +1193,10 @@ int gpio_request(unsigned gpio, const char *label)  	spin_lock_irqsave(&gpio_lock, flags); -	if (!gpio_is_valid(gpio)) +	if (!gpio_is_valid(gpio)) { +		status = -EINVAL;  		goto done; +	}  	desc = &gpio_desc[gpio];  	chip = desc->chip;  	if (chip == NULL)  | 
