greybus: arche-apb: Don't use gpio after failing to request it

If devm_gpio_request() returns an error, we shouldn't try to set the
direction of the same gpio.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Viresh Kumar 2016-01-11 11:29:14 +05:30 committed by Greg Kroah-Hartman
parent db0cff554a
commit a7a794ec54

View File

@ -137,12 +137,15 @@ static int apb_ctrl_init_seq(struct platform_device *pdev,
/* On DB3 clock was not mandatory */
if (gpio_is_valid(apb->clk_en_gpio)) {
ret = devm_gpio_request(dev, apb->clk_en_gpio, "apb_clk_en");
if (ret)
if (ret) {
dev_warn(dev, "Failed requesting APB clock en gpio %d\n",
apb->clk_en_gpio);
ret = gpio_direction_output(apb->clk_en_gpio, 1);
if (ret)
dev_warn(dev, "failed to set APB clock en gpio dir:%d\n", ret);
apb->clk_en_gpio);
} else {
ret = gpio_direction_output(apb->clk_en_gpio, 1);
if (ret)
dev_warn(dev, "failed to set APB clock en gpio dir:%d\n",
ret);
}
}
/* Hold APB in reset state */
ret = devm_gpio_request(dev, apb->resetn_gpio, "apb-reset");