From 5725a1f41ed16f07f096c86e4a108a3c974df025 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Thu, 27 Mar 2014 11:49:18 +0000 Subject: [PATCH] Reapair UAC1 build issues relating to removal of old INTERFACES defines. --- module_usb_audio/devicedefines.h | 4 --- module_usb_audio/endpoint0/descriptors.h | 34 ++++++++++++++++++------ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/module_usb_audio/devicedefines.h b/module_usb_audio/devicedefines.h index 97d79265..13727c32 100644 --- a/module_usb_audio/devicedefines.h +++ b/module_usb_audio/devicedefines.h @@ -637,10 +637,6 @@ enum USBEndpointNumber_Out #define NUM_CLOCKS (1) #endif - -/* Number of interfaces for Audio 1.0 */ -#define NUM_INTERFACES_A1 (1+INPUT_INTERFACES+OUTPUT_INTERFACES) - /* Audio Unit ID defines */ #define FU_USBIN 11 /* Feature Unit: USB Audio device -> host */ #define FU_USBOUT 10 /* Feature Unit: USB Audio host -> device*/ diff --git a/module_usb_audio/endpoint0/descriptors.h b/module_usb_audio/endpoint0/descriptors.h index f47dd6fe..3c073656 100644 --- a/module_usb_audio/endpoint0/descriptors.h +++ b/module_usb_audio/endpoint0/descriptors.h @@ -1824,13 +1824,31 @@ unsigned char cfgDesc_Null[] = }; -/* Configuration descriptor for Audio v1.0 - note stil lone lag */ -#define AC_LENGTH (8 + INPUT_INTERFACES + OUTPUT_INTERFACES) -#define AC_TOTAL_LENGTH (AC_LENGTH + (INPUT_INTERFACES * 31) + (OUTPUT_INTERFACES * 31)) -#define STREAMING_INTERFACES (INPUT_INTERFACES + OUTPUT_INTERFACES) +/* Configuration descriptor for Audio v1.0 */ +/* Note Audio 1.0 descriptors still a simple array so we need some extra defines regarding lengths.. */ +#ifdef INPUT +#define INPUT_INTERFACES_A1 (1) +#else +#define INPUT_INTERFACES_A1 (0) +#endif -#define CFG_TOTAL_LENGTH_A1 (18 + AC_TOTAL_LENGTH + (INPUT_INTERFACES * 61) + (OUTPUT_INTERFACES * 70)) +#ifdef OUTPUT +#define OUTPUT_INTERFACES_A1 (1) +#else +#define OUTPUT_INTERFACES_A1 (0) +#endif + +#define AC_LENGTH (8 + INPUT_INTERFACES_A1 + OUTPUT_INTERFACES_A1) + +#define AC_TOTAL_LENGTH (AC_LENGTH + (INPUT_INTERFACES_A1 * 31) + (OUTPUT_INTERFACES_A1 * 31)) +#define STREAMING_INTERFACES (INPUT_INTERFACES_A1 + OUTPUT_INTERFACES_A1) + +/* Number of interfaces for Audio 1.0 (+1 for control ) */ +/* Note, this is different that INTERFACE_COUNT since we dont support items such as MIDI, iAP etc in UAC1 mode */ +#define NUM_INTERFACES_A1 (1+INPUT_INTERFACES_A1 + OUTPUT_INTERFACES_A1) + +#define CFG_TOTAL_LENGTH_A1 (18 + AC_TOTAL_LENGTH + (INPUT_INTERFACES_A1 * 61) + (OUTPUT_INTERFACES_A1 * 70)) #if defined (AUDIO_CLASS_FALLBACK) || (AUDIO_CLASS == 1) unsigned char cfgDesc_Audio1[] = @@ -1873,7 +1891,7 @@ unsigned char cfgDesc_Audio1[] = 0x01, /* AudioStreaming interface 1 belongs to AC interface */ #endif #ifdef INPUT - (OUTPUT_INTERFACES + 1), /* AudioStreaming interface 2 belongs to AC interface */ + (OUTPUT_INTERFACES_A1 + 1), /* AudioStreaming interface 2 belongs to AC interface */ #endif #ifdef OUTPUT @@ -2034,7 +2052,7 @@ unsigned char cfgDesc_Audio1[] = /* Standard Interface Descriptor - Audio streaming IN */ 0x09, 0x04, /* INTERFACE */ - (OUTPUT_INTERFACES + 1), /* bInterfaceNumber*/ + (OUTPUT_INTERFACES_A1 + 1), /* bInterfaceNumber*/ 0x00, /* AlternateSetting */ 0x00, /* num endpoints */ 0x01, /* Interface class - AUDIO */ @@ -2045,7 +2063,7 @@ unsigned char cfgDesc_Audio1[] = /* Standard Interface Descriptor - Audio streaming IN */ 0x09, 0x04, /* INTERFACE */ - (OUTPUT_INTERFACES + 1), /* bInterfaceNumber */ + (OUTPUT_INTERFACES_A1 + 1), /* bInterfaceNumber */ 0x01, /* AlternateSetting */ 0x01, /* num endpoints */ 0x01, /* Interface class - AUDIO */