summaryrefslogtreecommitdiffstats
path: root/discover
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2014-04-02 14:53:07 +0800
committerJeremy Kerr <jk@ozlabs.org>2014-04-02 14:53:07 +0800
commit85bd33ca9777c386359b9b3899888316354a4e1f (patch)
tree4a0b0b4ba8f7bb3af4b33d9adf15473c63edc248 /discover
parent310de3ab00b77b09a897b93ed0272b82ebc4f73b (diff)
downloadtalos-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.c2
-rw-r--r--discover/device-handler.h1
-rw-r--r--discover/discover-server.c4
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);
OpenPOWER on IntegriCloud