diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2014-04-02 14:53:07 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2014-04-02 14:53:07 +0800 |
commit | 85bd33ca9777c386359b9b3899888316354a4e1f (patch) | |
tree | 4a0b0b4ba8f7bb3af4b33d9adf15473c63edc248 /discover | |
parent | 310de3ab00b77b09a897b93ed0272b82ebc4f73b (diff) | |
download | talos-petitboot-85bd33ca9777c386359b9b3899888316354a4e1f.tar.gz talos-petitboot-85bd33ca9777c386359b9b3899888316354a4e1f.zip |
protocol: expose discovery reinit over client/server protocol
Now that we can re-initialise the device handler, allow this to be
triggered from UIs over the petitboot protocol.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'discover')
-rw-r--r-- | discover/device-handler.c | 2 | ||||
-rw-r--r-- | discover/device-handler.h | 1 | ||||
-rw-r--r-- | discover/discover-server.c | 4 |
3 files changed, 6 insertions, 1 deletions
diff --git a/discover/device-handler.c b/discover/device-handler.c index f5dc32c..dd3aee9 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -294,7 +294,7 @@ struct device_handler *device_handler_init(struct discover_server *server, return handler; } -static void device_handler_reinit(struct device_handler *handler) +void device_handler_reinit(struct device_handler *handler) { struct discover_boot_option *opt, *tmp; unsigned int i; diff --git a/discover/device-handler.h b/discover/device-handler.h index bad7447..246abf9 100644 --- a/discover/device-handler.h +++ b/discover/device-handler.h @@ -117,6 +117,7 @@ void device_handler_boot(struct device_handler *handler, void device_handler_cancel_default(struct device_handler *handler); void device_handler_update_config(struct device_handler *handler, struct config *config); +void device_handler_reinit(struct device_handler *handler); int device_request_write(struct discover_device *dev, bool *release); void device_release_write(struct discover_device *dev, bool release); diff --git a/discover/discover-server.c b/discover/discover-server.c index 1765074..80919fd 100644 --- a/discover/discover-server.c +++ b/discover/discover-server.c @@ -245,6 +245,10 @@ static int discover_server_process_message(void *arg) device_handler_cancel_default(client->server->device_handler); break; + case PB_PROTOCOL_ACTION_REINIT: + device_handler_reinit(client->server->device_handler); + break; + case PB_PROTOCOL_ACTION_CONFIG: config = talloc_zero(client, struct config); |