Commit 40d276ed authored by Viresh Kumar's avatar Viresh Kumar Committed by Greg Kroah-Hartman

greybus: bootrom: Create gb_bootrom_cancel_timeout()

We set timeouts using gb_bootrom_set_timeout(), which hides the internal
implementation, i.e. workqueues.

While canceling timeouts, we do cancel_delayed_work_sync(), which
exposes the internal implementation and doesn't look that clean.

Create gb_bootrom_cancel_timeout() to hide the internal implementation
here as well.
Reviewed-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 6d9e6ffc
...@@ -92,6 +92,11 @@ static void gb_bootrom_set_timeout(struct gb_bootrom *bootrom, ...@@ -92,6 +92,11 @@ static void gb_bootrom_set_timeout(struct gb_bootrom *bootrom,
schedule_delayed_work(&bootrom->dwork, msecs_to_jiffies(timeout)); schedule_delayed_work(&bootrom->dwork, msecs_to_jiffies(timeout));
} }
static void gb_bootrom_cancel_timeout(struct gb_bootrom *bootrom)
{
cancel_delayed_work_sync(&bootrom->dwork);
}
/* /*
* The es2 chip doesn't have VID/PID programmed into the hardware and we need to * The es2 chip doesn't have VID/PID programmed into the hardware and we need to
* hack that up to distinguish different modules and their firmware blobs. * hack that up to distinguish different modules and their firmware blobs.
...@@ -188,7 +193,7 @@ static int gb_bootrom_firmware_size_request(struct gb_operation *op) ...@@ -188,7 +193,7 @@ static int gb_bootrom_firmware_size_request(struct gb_operation *op)
int ret; int ret;
/* Disable timeouts */ /* Disable timeouts */
cancel_delayed_work_sync(&bootrom->dwork); gb_bootrom_cancel_timeout(bootrom);
if (op->request->payload_size != sizeof(*size_request)) { if (op->request->payload_size != sizeof(*size_request)) {
dev_err(dev, "%s: illegal size of firmware size request (%zu != %zu)\n", dev_err(dev, "%s: illegal size of firmware size request (%zu != %zu)\n",
...@@ -242,7 +247,7 @@ static int gb_bootrom_get_firmware(struct gb_operation *op) ...@@ -242,7 +247,7 @@ static int gb_bootrom_get_firmware(struct gb_operation *op)
int ret = 0; int ret = 0;
/* Disable timeouts */ /* Disable timeouts */
cancel_delayed_work_sync(&bootrom->dwork); gb_bootrom_cancel_timeout(bootrom);
if (op->request->payload_size != sizeof(*firmware_request)) { if (op->request->payload_size != sizeof(*firmware_request)) {
dev_err(dev, "%s: Illegal size of get firmware request (%zu %zu)\n", dev_err(dev, "%s: Illegal size of get firmware request (%zu %zu)\n",
...@@ -310,7 +315,7 @@ static int gb_bootrom_ready_to_boot(struct gb_operation *op) ...@@ -310,7 +315,7 @@ static int gb_bootrom_ready_to_boot(struct gb_operation *op)
int ret = 0; int ret = 0;
/* Disable timeouts */ /* Disable timeouts */
cancel_delayed_work_sync(&bootrom->dwork); gb_bootrom_cancel_timeout(bootrom);
if (op->request->payload_size != sizeof(*rtb_request)) { if (op->request->payload_size != sizeof(*rtb_request)) {
dev_err(dev, "%s: Illegal size of ready to boot request (%zu %zu)\n", dev_err(dev, "%s: Illegal size of ready to boot request (%zu %zu)\n",
...@@ -468,7 +473,7 @@ static int gb_bootrom_probe(struct gb_bundle *bundle, ...@@ -468,7 +473,7 @@ static int gb_bootrom_probe(struct gb_bundle *bundle,
return 0; return 0;
err_cancel_timeout: err_cancel_timeout:
cancel_delayed_work_sync(&bootrom->dwork); gb_bootrom_cancel_timeout(bootrom);
err_connection_disable: err_connection_disable:
gb_connection_disable(connection); gb_connection_disable(connection);
err_connection_destroy: err_connection_destroy:
...@@ -488,7 +493,7 @@ static void gb_bootrom_disconnect(struct gb_bundle *bundle) ...@@ -488,7 +493,7 @@ static void gb_bootrom_disconnect(struct gb_bundle *bundle)
gb_connection_disable(bootrom->connection); gb_connection_disable(bootrom->connection);
/* Disable timeouts */ /* Disable timeouts */
cancel_delayed_work_sync(&bootrom->dwork); gb_bootrom_cancel_timeout(bootrom);
/* /*
* Release firmware: * Release firmware:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment