diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2014-07-24 16:00:59 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2014-07-28 13:50:35 +0800 |
commit | 24a530d0b58f57f151ee6d3df9f747ae98ef759f (patch) | |
tree | 389d1a64d8dd6122ff9464ed5117c1e518dba776 /ui/common/discover-client.c | |
parent | e596e8e66b014161116c207daa8d42cff849bfd2 (diff) | |
download | talos-petitboot-24a530d0b58f57f151ee6d3df9f747ae98ef759f.tar.gz talos-petitboot-24a530d0b58f57f151ee6d3df9f747ae98ef759f.zip |
ui/common: Add discover_client_enumerate to re-add device data
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'ui/common/discover-client.c')
-rw-r--r-- | ui/common/discover-client.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/ui/common/discover-client.c b/ui/common/discover-client.c index a124f8b..a565be8 100644 --- a/ui/common/discover-client.c +++ b/ui/common/discover-client.c @@ -112,6 +112,24 @@ static void device_remove(struct discover_client *client, const char *id) talloc_free(device); } +void discover_client_enumerate(struct discover_client *client) +{ + struct boot_option *opt; + struct device *device; + int i; + + for (i = 0; i < client->n_devices; i++) { + device = client->devices[i]; + if (client->ops.device_add) + client->ops.device_add(device, client->ops.cb_arg); + + list_for_each_entry(&device->boot_options, opt, list) + if (client->ops.boot_option_add) + client->ops.boot_option_add(device, opt, + client->ops.cb_arg); + } +} + static void update_status(struct discover_client *client, struct boot_status *status) { |