+ if (hl_if.layout->api->close)
+ hl_if.layout->api->close(hl_if.handle);
+
+ jtag_command_queue_reset();
+
+ free((void *)hl_if.param.device_desc);
+ free((void *)hl_if.param.serial);
+
+ return ERROR_OK;
+}
+
+static int hl_interface_reset(int req_trst, int req_srst)
+{
+ return hl_if.layout->api->assert_srst(hl_if.handle, req_srst ? 0 : 1);
+}
+
+int hl_interface_init_reset(void)
+{
+ /* in case the adapter has not already handled asserting srst
+ * we will attempt it again */
+ if (hl_if.param.connect_under_reset) {
+ adapter_assert_reset();
+ } else {
+ adapter_deassert_reset();
+ }
+