/* Send command to store channel/effects setup/amp setup to PODxt Pro.  */
static ssize_t pod_send_store_command(struct device *dev, const char *buf, size_t count, short block0, short block1)
/* Send command to store channel/effects setup/amp setup to PODxt Pro.  */
static ssize_t pod_send_store_command(struct device *dev, const char *buf, size_t count, short block0, short block1)
{
	struct usb_interface *interface = to_usb_interface(dev);
	struct usb_line6_pod *pod = usb_get_intfdata(interface);
	int ret;
	int size = 3 + sizeof(pod->prog_data_buf);
	char *sysex = pod_alloc_sysex_buffer(pod, POD_SYSEX_STORE, size);
	if (!sysex)
		return 0;
	sysex[SYSEX_DATA_OFS] = 5;
	ret = pod_resolve(buf, block0, block1, sysex + SYSEX_DATA_OFS + 1);
	if (ret) {
		kfree(sysex);
		return ret;
	}
	memcpy(sysex + SYSEX_DATA_OFS + 3, &pod->prog_data_buf, sizeof(pod->prog_data_buf));
	line6_send_sysex_message(&pod->line6, sysex, size);
	kfree(sysex);
	return count;
}