greybus: fw-mgmt: Add hooks to do mode-switch
authorViresh Kumar <viresh.kumar@linaro.org>
Mon, 30 May 2016 07:35:08 +0000 (13:05 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 2 Jun 2016 18:15:49 +0000 (11:15 -0700)
This is the last step to required to finish the mode switch story.  That
is, call the hook provided by Interface layer to accomplish mode switch.

Tested on EVT 1.5 with gpbridge-test module.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: Karthik Ravi Shankar <karthikrs@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/fw-management.c

index da36de3..22dcad2 100644 (file)
@@ -484,7 +484,14 @@ static int fw_mgmt_ioctl(struct fw_mgmt *fw_mgmt, unsigned int cmd,
 
                fw_mgmt->mode_switch_started = true;
 
-               /* FIXME: Initiate mode-switch from here */
+               ret = gb_interface_request_mode_switch(fw_mgmt->connection->intf);
+               if (ret) {
+                       dev_err(fw_mgmt->parent, "Mode-switch failed: %d\n",
+                               ret);
+                       fw_mgmt->mode_switch_started = false;
+                       return ret;
+               }
+
                return 0;
        default:
                return -ENOTTY;