diff options
Diffstat (limited to 'drivers/ieee1394/hosts.c')
-rw-r--r-- | drivers/ieee1394/hosts.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/ieee1394/hosts.c b/drivers/ieee1394/hosts.c index ee82a5320bf7..32a130921938 100644 --- a/drivers/ieee1394/hosts.c +++ b/drivers/ieee1394/hosts.c @@ -190,14 +190,19 @@ int hpsb_add_host(struct hpsb_host *host) { if (hpsb_default_host_entry(host)) return -ENOMEM; - hpsb_add_extra_config_roms(host); - highlevel_add_host(host); - return 0; } +void hpsb_resume_host(struct hpsb_host *host) +{ + if (host->driver->set_hw_config_rom) + host->driver->set_hw_config_rom(host, + host->csr.rom->bus_info_data); + host->driver->devctl(host, RESET_BUS, SHORT_RESET); +} + void hpsb_remove_host(struct hpsb_host *host) { host->is_shutdown = 1; @@ -206,9 +211,7 @@ void hpsb_remove_host(struct hpsb_host *host) flush_scheduled_work(); host->driver = &dummy_driver; - highlevel_remove_host(host); - hpsb_remove_extra_config_roms(host); class_device_unregister(&host->class_dev); |