From 83e9a56bb115ffa925ab515ed29fa41bc81849a2 Mon Sep 17 00:00:00 2001 From: Chris Zhong Date: Wed, 26 Aug 2015 17:54:55 +0800 Subject: [PATCH] rk808: fix a err when no sleep pin in dts Rk808 will data abort if it has not sleep gpio in dts, and there is no pmic_sleep_gpio for some board, add a validity checking before gpio_request can fix this data abort. Change-Id: Ic2b40f7bfb00e95d283dce72a33dd844cc2c7e27 Signed-off-by: Chris Zhong --- drivers/mfd/rk808.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/rk808.c b/drivers/mfd/rk808.c index 592bc3de7dce..5b22ce0a13cf 100755 --- a/drivers/mfd/rk808.c +++ b/drivers/mfd/rk808.c @@ -1399,7 +1399,7 @@ static int rk808_i2c_probe(struct i2c_client *i2c, const struct i2c_device_id *i /******************************set sleep vol & dcdc mode******************/ #ifdef CONFIG_OF rk808->pmic_sleep_gpio = pdev->pmic_sleep_gpio; - if (rk808->pmic_sleep_gpio) { + if (gpio_is_valid(rk808->pmic_sleep_gpio)) { ret = gpio_request(rk808->pmic_sleep_gpio, "rk808_pmic_sleep"); if (ret < 0) { dev_err(rk808->dev,"Failed to request gpio %d with ret:""%d\n", rk808->pmic_sleep_gpio, ret); -- 2.34.1