diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2011-12-09 22:16:07 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-12-13 15:33:30 -0500 |
commit | 775ab52142b02237a54184238e922251c59a2b5c (patch) | |
tree | 0bc161bb6b0c15c095c96f0b46a99d7231a414b3 /drivers/bcma/main.c | |
parent | bbea3bc432dc5c08d09ca5c80afdd82515470688 (diff) |
bcma: support for suspend and resume
bcma used to lock up machine without enabling PCI or initializing CC.
Cc: stable@vger.kernel.org
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/bcma/main.c')
-rw-r--r-- | drivers/bcma/main.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/bcma/main.c b/drivers/bcma/main.c index 70c84b95109..10f92b371e5 100644 --- a/drivers/bcma/main.c +++ b/drivers/bcma/main.c @@ -240,6 +240,22 @@ int __init bcma_bus_early_register(struct bcma_bus *bus, return 0; } +#ifdef CONFIG_PM +int bcma_bus_resume(struct bcma_bus *bus) +{ + struct bcma_device *core; + + /* Init CC core */ + core = bcma_find_core(bus, BCMA_CORE_CHIPCOMMON); + if (core) { + bus->drv_cc.setup_done = false; + bcma_core_chipcommon_init(&bus->drv_cc); + } + + return 0; +} +#endif + int __bcma_driver_register(struct bcma_driver *drv, struct module *owner) { drv->drv.name = drv->name; |