2013-03-14 18:42:29 +00:00
|
|
|
From b6684dd3036513e4f91986fe982356512458f711 Mon Sep 17 00:00:00 2001
|
|
|
|
From: John Crispin <blogic@openwrt.org>
|
|
|
|
Date: Sat, 19 Jan 2013 08:54:26 +0000
|
|
|
|
Subject: [PATCH 18/40] MIPS: lantiq: improve pci reset gpio handling
|
|
|
|
|
|
|
|
We need to make sure that the reset gpio is available and also set a sane
|
|
|
|
default state.
|
|
|
|
|
|
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
|
|
Patchwork: http://patchwork.linux-mips.org/patch/4817/
|
|
|
|
---
|
|
|
|
arch/mips/pci/pci-lantiq.c | 12 ++++++++++--
|
|
|
|
1 file changed, 10 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
--- a/arch/mips/pci/pci-lantiq.c
|
|
|
|
+++ b/arch/mips/pci/pci-lantiq.c
|
2013-03-15 14:39:51 +00:00
|
|
|
@@ -129,8 +129,16 @@ static int ltq_pci_startup(struct platfo
|
2013-03-14 18:42:29 +00:00
|
|
|
|
|
|
|
/* setup reset gpio used by pci */
|
|
|
|
reset_gpio = of_get_named_gpio(node, "gpio-reset", 0);
|
|
|
|
- if (gpio_is_valid(reset_gpio))
|
|
|
|
- devm_gpio_request(&pdev->dev, reset_gpio, "pci-reset");
|
|
|
|
+ if (gpio_is_valid(reset_gpio)) {
|
|
|
|
+ int ret = devm_gpio_request(&pdev->dev,
|
|
|
|
+ reset_gpio, "pci-reset");
|
|
|
|
+ if (ret) {
|
|
|
|
+ dev_err(&pdev->dev,
|
|
|
|
+ "failed to request gpio %d\n", reset_gpio);
|
|
|
|
+ return ret;
|
|
|
|
+ }
|
|
|
|
+ gpio_direction_output(reset_gpio, 1);
|
|
|
|
+ }
|
|
|
|
|
|
|
|
/* enable auto-switching between PCI and EBU */
|
|
|
|
ltq_pci_w32(0xa, PCI_CR_CLK_CTRL);
|