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: Geoffrey D. Bennett <g@b4.vu>
Link: https://lore.kernel.org/r/20210620164648.GA9231@m.b4.vu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Geoffrey D. Bennett 2021-06-21 02:16:48 +09:30 committed by Takashi Iwai
parent 64c02a9d3f
commit 2967263192
1 changed files with 10 additions and 10 deletions

View File

@ -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 */