summaryrefslogtreecommitdiffstats
path: root/drivers/bcma/main.c
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2013-02-03 23:25:33 +0100
committerJohn W. Linville <linville@tuxdriver.com>2013-02-04 16:46:24 -0500
commitc50ae9470e542862f782e2d9c106270152bbf3ce (patch)
treed9b17d4f6427e7b2bb35a0ecdf08f1891dbcc9e5 /drivers/bcma/main.c
parenta5ffbe0a1993a27072742ef7db6cf9839956fce9 (diff)
downloadlinux-c50ae9470e542862f782e2d9c106270152bbf3ce.tar.bz2
bcma: unregister gpios before unloading bcma
This patch unregisters the gpio chip before bcma gets unloaded. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Reported-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/bcma/main.c')
-rw-r--r--drivers/bcma/main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/bcma/main.c b/drivers/bcma/main.c
index 53ba20ca17e0..e08b9c604448 100644
--- a/drivers/bcma/main.c
+++ b/drivers/bcma/main.c
@@ -268,6 +268,13 @@ int __devinit bcma_bus_register(struct bcma_bus *bus)
void bcma_bus_unregister(struct bcma_bus *bus)
{
struct bcma_device *cores[3];
+ int err;
+
+ err = bcma_gpio_unregister(&bus->drv_cc);
+ if (err == -EBUSY)
+ bcma_err(bus, "Some GPIOs are still in use.\n");
+ else if (err)
+ bcma_err(bus, "Can not unregister GPIO driver: %i\n", err);
cores[0] = bcma_find_core(bus, BCMA_CORE_MIPS_74K);
cores[1] = bcma_find_core(bus, BCMA_CORE_PCIE);