/* C-Media CM106/CM106+ have four 16-bit internal registers that are nicely documented in the device's data sheet.  */
static int snd_usb_cm106_write_int_reg(struct usb_device *dev, int reg, u16 value)
/* C-Media CM106/CM106+ have four 16-bit internal registers that are nicely documented in the device's data sheet.  */
static int snd_usb_cm106_write_int_reg(struct usb_device *dev, int reg, u16 value)
{
	u8 buf[4];
	buf[0] = 0x20;
	buf[1] = value & 0xff;
	buf[2] = (value >> 8) & 0xff;
	buf[3] = reg;
	return snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), USB_REQ_SET_CONFIGURATION,
			       USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_ENDPOINT,
			       0, 0, &buf, 4, 1000);
}