diff options
author | John Crispin <blogic@openwrt.org> | 2013-01-19 03:54:26 -0500 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2013-02-16 18:15:17 -0500 |
commit | bae696a267d81ea268f4de1e396b8c82154f22ed (patch) | |
tree | a0d7b008010d7938c14039caefbac8df81e714bf /arch/mips | |
parent | d0c550dc36881fda171ec8ad3dcc67491ad968eb (diff) |
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/
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/pci/pci-lantiq.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c index 95681789b51e..f32664bbbe17 100644 --- a/arch/mips/pci/pci-lantiq.c +++ b/arch/mips/pci/pci-lantiq.c | |||
@@ -129,8 +129,16 @@ static int ltq_pci_startup(struct platform_device *pdev) | |||
129 | 129 | ||
130 | /* setup reset gpio used by pci */ | 130 | /* setup reset gpio used by pci */ |
131 | reset_gpio = of_get_named_gpio(node, "gpio-reset", 0); | 131 | reset_gpio = of_get_named_gpio(node, "gpio-reset", 0); |
132 | if (gpio_is_valid(reset_gpio)) | 132 | if (gpio_is_valid(reset_gpio)) { |
133 | devm_gpio_request(&pdev->dev, reset_gpio, "pci-reset"); | 133 | int ret = devm_gpio_request(&pdev->dev, |
134 | reset_gpio, "pci-reset"); | ||
135 | if (ret) { | ||
136 | dev_err(&pdev->dev, | ||
137 | "failed to request gpio %d\n", reset_gpio); | ||
138 | return ret; | ||
139 | } | ||
140 | gpio_direction_output(reset_gpio, 1); | ||
141 | } | ||
134 | 142 | ||
135 | /* enable auto-switching between PCI and EBU */ | 143 | /* enable auto-switching between PCI and EBU */ |
136 | ltq_pci_w32(0xa, PCI_CR_CLK_CTRL); | 144 | ltq_pci_w32(0xa, PCI_CR_CLK_CTRL); |