- if (device->plugin && device->plugin->stop_acquisition)
- device->plugin->stop_acquisition(device->plugin_index, device);
+ /* Check for device != NULL. */
+ if (device->plugin) {
+ if (device->plugin->stop_acquisition)
+ device->plugin->stop_acquisition(device->plugin_index, device);
+ if (device->plugin->cleanup)
+ device->plugin->cleanup();
+ }
+ }
+
+ return SR_OK;
+}
+
+/**
+ * Debug helper.
+ *
+ * @param packet The packet to show debugging information for.
+ *
+ */
+static void datafeed_dump(struct sr_datafeed_packet *packet)
+{
+ struct sr_datafeed_logic *logic;
+
+ switch (packet->type) {
+ case SR_DF_HEADER:
+ sr_dbg("bus: received SR_DF_HEADER");
+ break;
+ case SR_DF_TRIGGER:
+ sr_dbg("bus: received SR_DF_TRIGGER");
+ break;
+ case SR_DF_LOGIC:
+ logic = packet->payload;
+ /* TODO: Check for logic != NULL. */
+ sr_dbg("bus: received SR_DF_LOGIC %" PRIu64 " bytes", logic->length);
+ break;
+ case SR_DF_END:
+ sr_dbg("bus: received SR_DF_END");
+ break;
+ default:
+ sr_dbg("bus: received unknown packet type %d", packet->type);
+ break;