Commit 29672631 authored by Geoffrey D. Bennett's avatar Geoffrey D. Bennett Committed by Takashi Iwai

ALSA: usb-audio: scarlett2: Don't copy struct scarlett2_config

scarlett2_usb_set_config() and scarlett2_usb_get_config() were copying
struct scarlett2_config. Use a pointer instead.
Signed-off-by: default avatarGeoffrey D. Bennett <g@b4.vu>
Link: https://lore.kernel.org/r/20210620164648.GA9231@m.b4.vuSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 64c02a9d
......@@ -706,8 +706,8 @@ static int scarlett2_usb_set_config(
struct usb_mixer_interface *mixer,
int config_item_num, int index, int value)
{
const struct scarlett2_config config_item =
scarlett2_config_items[config_item_num];
const struct scarlett2_config *config_item =
&scarlett2_config_items[config_item_num];
struct {
__le32 offset;
__le32 bytes;
......@@ -721,17 +721,17 @@ static int scarlett2_usb_set_config(
cancel_delayed_work_sync(&private->work);
/* Send the configuration parameter data */
req.offset = cpu_to_le32(config_item.offset + index * config_item.size);
req.bytes = cpu_to_le32(config_item.size);
req.offset = cpu_to_le32(config_item->offset + index * config_item->size);
req.bytes = cpu_to_le32(config_item->size);
req.value = cpu_to_le32(value);
err = scarlett2_usb(mixer, SCARLETT2_USB_SET_DATA,
&req, sizeof(u32) * 2 + config_item.size,
&req, sizeof(u32) * 2 + config_item->size,
NULL, 0);
if (err < 0)
return err;
/* Activate the change */
req2 = cpu_to_le32(config_item.activate);
req2 = cpu_to_le32(config_item->activate);
err = scarlett2_usb(mixer, SCARLETT2_USB_DATA_CMD,
&req2, sizeof(req2), NULL, 0);
if (err < 0)
......@@ -764,11 +764,11 @@ static int scarlett2_usb_get_config(
struct usb_mixer_interface *mixer,
int config_item_num, int count, void *buf)
{
const struct scarlett2_config config_item =
scarlett2_config_items[config_item_num];
int size = config_item.size * count;
const struct scarlett2_config *config_item =
&scarlett2_config_items[config_item_num];
int size = config_item->size * count;
return scarlett2_usb_get(mixer, config_item.offset, buf, size);
return scarlett2_usb_get(mixer, config_item->offset, buf, size);
}
/* Send a USB message to get volume status; result placed in *buf */
......
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