*** alsa-driver-1.0.18.dfsg/alsa-kernel/usb/usbmixer.c 2008-10-29 15:41:35.000000000 +0300
--- alsa-driver-1.0.18.patched/alsa-kernel/usb/usbmixer.c 2009-05-20 12:46:43.000000000 +0400
*************** enum {
*** 181,186 ****
--- 181,191 ----
USB_PROC_DCR_RELEASE = 6,
};
+ enum {
+ USB_XU_CLOCK_RATE = 0xe301,
+ USB_XU_CLOCK_RATE_SELECTOR = 0x03 /* clock rate */
+ };
+
#define MAX_CHANNELS 10 /* max logical channels */
*************** static struct procunit_info procunits[]
*** 1272,1277 ****
--- 1277,1295 ----
};
/*
+ * predefined data for extension units
+ */
+ static struct procunit_value_info clock_rate_xu_info[] = {
+ { USB_XU_CLOCK_RATE_SELECTOR, "Selector", USB_MIXER_U8 },
+ { 0 }
+ };
+
+ static struct procunit_info extunits[] = {
+ { USB_XU_CLOCK_RATE, "Clock rate", clock_rate_xu_info },
+ { 0 }
+ };
+
+ /*
* build a processing/extension unit
*/
static int build_audio_procunit(struct mixer_build *state, int unitid, unsigned char *dsc, struct procunit_info *list, char *name)
*************** static int parse_audio_processing_unit(s
*** 1373,1379 ****
static int parse_audio_extension_unit(struct mixer_build *state, int unitid, unsigned char *desc)
{
! return build_audio_procunit(state, unitid, desc, NULL, "Extension Unit");
}
--- 1391,1397 ----
static int parse_audio_extension_unit(struct mixer_build *state, int unitid, unsigned char *desc)
{
! return build_audio_procunit(state, unitid, desc, extunits, "Extension Unit");
}