diff options
88 files changed, 460 insertions, 409 deletions
| diff --git a/Bootloaders/CDC/Descriptors.c b/Bootloaders/CDC/Descriptors.c index e808fcfe1e..092ee2f8dc 100644 --- a/Bootloaders/CDC/Descriptors.c +++ b/Bootloaders/CDC/Descriptors.c @@ -203,33 +203,33 @@ USB_Descriptor_String_t ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration: -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:  			if (!(DescriptorNumber))  			{ -				Address = (void*)&LanguageString; +				Address = &LanguageString;  				Size    = LanguageString.Header.Size;  			}  			else  			{ -				Address = (void*)&ProductString; +				Address = &ProductString;  				Size    = ProductString.Header.Size;  			} diff --git a/Bootloaders/CDC/Descriptors.h b/Bootloaders/CDC/Descriptors.h index f8e557ccfb..f13f8d88ac 100644 --- a/Bootloaders/CDC/Descriptors.h +++ b/Bootloaders/CDC/Descriptors.h @@ -142,6 +142,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Bootloaders/DFU/Descriptors.c b/Bootloaders/DFU/Descriptors.c index 4e7272cb71..ad4e06a92b 100644 --- a/Bootloaders/DFU/Descriptors.c +++ b/Bootloaders/DFU/Descriptors.c @@ -145,13 +145,13 @@ USB_Descriptor_String_t ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{ diff --git a/Bootloaders/DFU/Descriptors.h b/Bootloaders/DFU/Descriptors.h index d89cc90463..fc3d5ffce3 100644 --- a/Bootloaders/DFU/Descriptors.h +++ b/Bootloaders/DFU/Descriptors.h @@ -168,6 +168,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/AudioInput/Descriptors.c b/Demos/Device/ClassDriver/AudioInput/Descriptors.c index 2a58064fba..f1cb72df2e 100644 --- a/Demos/Device/ClassDriver/AudioInput/Descriptors.c +++ b/Demos/Device/ClassDriver/AudioInput/Descriptors.c @@ -273,37 +273,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/ClassDriver/AudioInput/Descriptors.h b/Demos/Device/ClassDriver/AudioInput/Descriptors.h index 30249e9cb4..211bd05762 100644 --- a/Demos/Device/ClassDriver/AudioInput/Descriptors.h +++ b/Demos/Device/ClassDriver/AudioInput/Descriptors.h @@ -78,6 +78,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/AudioOutput/Descriptors.c b/Demos/Device/ClassDriver/AudioOutput/Descriptors.c index 0fc52a667d..058ea75766 100644 --- a/Demos/Device/ClassDriver/AudioOutput/Descriptors.c +++ b/Demos/Device/ClassDriver/AudioOutput/Descriptors.c @@ -273,37 +273,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration: -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00: -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/ClassDriver/AudioOutput/Descriptors.h b/Demos/Device/ClassDriver/AudioOutput/Descriptors.h index 4804c2c84f..6f487eda2f 100644 --- a/Demos/Device/ClassDriver/AudioOutput/Descriptors.h +++ b/Demos/Device/ClassDriver/AudioOutput/Descriptors.h @@ -78,6 +78,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.c b/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.c index d50e27d436..617cebd46e 100644 --- a/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.c +++ b/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.c @@ -340,37 +340,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.h b/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.h index 968ddd3752..fd6735ec06 100644 --- a/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.h +++ b/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.h @@ -98,6 +98,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/GenericHID/Descriptors.c b/Demos/Device/ClassDriver/GenericHID/Descriptors.c index b0413a6573..0297c269de 100644 --- a/Demos/Device/ClassDriver/GenericHID/Descriptors.c +++ b/Demos/Device/ClassDriver/GenericHID/Descriptors.c @@ -191,48 +191,48 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID:  -			Address = (void*)&ConfigurationDescriptor.HID_GenericHID; +			Address = &ConfigurationDescriptor.HID_GenericHID;  			Size    = sizeof(USB_HID_Descriptor_t);  			break;  		case DTYPE_Report:  -			Address = (void*)&GenericReport; +			Address = &GenericReport;  			Size    = sizeof(GenericReport);  			break;  	} diff --git a/Demos/Device/ClassDriver/GenericHID/Descriptors.h b/Demos/Device/ClassDriver/GenericHID/Descriptors.h index 2192da6970..95f57b94d5 100644 --- a/Demos/Device/ClassDriver/GenericHID/Descriptors.h +++ b/Demos/Device/ClassDriver/GenericHID/Descriptors.h @@ -68,6 +68,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/Joystick/Descriptors.c b/Demos/Device/ClassDriver/Joystick/Descriptors.c index 125297d5d2..b2f0f7efbd 100644 --- a/Demos/Device/ClassDriver/Joystick/Descriptors.c +++ b/Demos/Device/ClassDriver/Joystick/Descriptors.c @@ -201,48 +201,48 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID:  -			Address = (void*)&ConfigurationDescriptor.HID_JoystickHID; +			Address = &ConfigurationDescriptor.HID_JoystickHID;  			Size    = sizeof(USB_HID_Descriptor_t);  			break;  		case DTYPE_Report:  -			Address = (void*)&JoystickReport; +			Address = &JoystickReport;  			Size    = sizeof(JoystickReport);  			break;  	} diff --git a/Demos/Device/ClassDriver/Joystick/Descriptors.h b/Demos/Device/ClassDriver/Joystick/Descriptors.h index fc8cbe537f..fe99395761 100644 --- a/Demos/Device/ClassDriver/Joystick/Descriptors.h +++ b/Demos/Device/ClassDriver/Joystick/Descriptors.h @@ -65,7 +65,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) +		                                    const void** const DescriptorAddress)  		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/Keyboard/Descriptors.c b/Demos/Device/ClassDriver/Keyboard/Descriptors.c index d2e52b5190..9bd952b404 100644 --- a/Demos/Device/ClassDriver/Keyboard/Descriptors.c +++ b/Demos/Device/ClassDriver/Keyboard/Descriptors.c @@ -205,48 +205,50 @@ USB_Descriptor_String_t PROGMEM ProductString =   *  is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the   *  USB host.   */ -uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress) +uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, +                                    const uint8_t wIndex, +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID:  -			Address = (void*)&ConfigurationDescriptor.HID_KeyboardHID; +			Address = &ConfigurationDescriptor.HID_KeyboardHID;  			Size    = sizeof(USB_HID_Descriptor_t);  			break;  		case DTYPE_Report:  -			Address = (void*)&KeyboardReport; +			Address = &KeyboardReport;  			Size    = sizeof(KeyboardReport);  			break;  	} diff --git a/Demos/Device/ClassDriver/Keyboard/Descriptors.h b/Demos/Device/ClassDriver/Keyboard/Descriptors.h index 4100faabac..cdab88c1ea 100644 --- a/Demos/Device/ClassDriver/Keyboard/Descriptors.h +++ b/Demos/Device/ClassDriver/Keyboard/Descriptors.h @@ -65,6 +65,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.c b/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.c index c510ce629a..dff0b8faca 100644 --- a/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.c +++ b/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.c @@ -277,37 +277,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} @@ -316,24 +316,24 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		case DTYPE_HID:   			if (!(wIndex))  			{ -				Address = (void*)&ConfigurationDescriptor.HID1_KeyboardHID; +				Address = &ConfigurationDescriptor.HID1_KeyboardHID;  				Size    = sizeof(USB_HID_Descriptor_t);  			}  			else  			{ -				Address = (void*)&ConfigurationDescriptor.HID2_MouseHID; +				Address = &ConfigurationDescriptor.HID2_MouseHID;  				Size    = sizeof(USB_HID_Descriptor_t);			  			}  			break;  		case DTYPE_Report:   			if (!(wIndex))  			{ -				Address = (void*)&KeyboardReport; +				Address = &KeyboardReport;  				Size    = sizeof(KeyboardReport);  			}  			else  			{			 -				Address = (void*)&MouseReport; +				Address = &MouseReport;  				Size    = sizeof(MouseReport);  			} diff --git a/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h b/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h index b4bf3d2728..e4908f947a 100644 --- a/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h +++ b/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h @@ -71,6 +71,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/MIDI/Descriptors.c b/Demos/Device/ClassDriver/MIDI/Descriptors.c index 9ce300afc5..fc3addb95e 100644 --- a/Demos/Device/ClassDriver/MIDI/Descriptors.c +++ b/Demos/Device/ClassDriver/MIDI/Descriptors.c @@ -285,37 +285,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/ClassDriver/MIDI/Descriptors.h b/Demos/Device/ClassDriver/MIDI/Descriptors.h index fc648de4b2..8165fedf69 100644 --- a/Demos/Device/ClassDriver/MIDI/Descriptors.h +++ b/Demos/Device/ClassDriver/MIDI/Descriptors.h @@ -77,6 +77,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/MassStorage/Descriptors.c b/Demos/Device/ClassDriver/MassStorage/Descriptors.c index b1744e6859..b7c21a269b 100644 --- a/Demos/Device/ClassDriver/MassStorage/Descriptors.c +++ b/Demos/Device/ClassDriver/MassStorage/Descriptors.c @@ -176,37 +176,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/ClassDriver/MassStorage/Descriptors.h b/Demos/Device/ClassDriver/MassStorage/Descriptors.h index b7d15e48fe..1b40df159a 100644 --- a/Demos/Device/ClassDriver/MassStorage/Descriptors.h +++ b/Demos/Device/ClassDriver/MassStorage/Descriptors.h @@ -68,6 +68,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.c b/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.c index f8c2ff7443..1ff64290c2 100644 --- a/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.c +++ b/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.c @@ -256,48 +256,48 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID: -			Address = (void*)&ConfigurationDescriptor.HID_KeyboardHID; +			Address = &ConfigurationDescriptor.HID_KeyboardHID;  			Size    = sizeof(USB_HID_Descriptor_t);  			break;  		case DTYPE_Report: -			Address = (void*)&KeyboardReport; +			Address = &KeyboardReport;  			Size    = sizeof(KeyboardReport);  			break;  	} diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.h b/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.h index 50c618664b..2f71fc252f 100644 --- a/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.h +++ b/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.h @@ -79,6 +79,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/Mouse/Descriptors.c b/Demos/Device/ClassDriver/Mouse/Descriptors.c index 66db661c07..8fb71953d2 100644 --- a/Demos/Device/ClassDriver/Mouse/Descriptors.c +++ b/Demos/Device/ClassDriver/Mouse/Descriptors.c @@ -201,48 +201,48 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration: -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:  			switch (DescriptorNumber)  			{  				case 0x00: -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01: -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02: -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID:  -			Address = (void*)&ConfigurationDescriptor.HID_MouseHID; +			Address = &ConfigurationDescriptor.HID_MouseHID;  			Size    = sizeof(USB_HID_Descriptor_t);  			break;  		case DTYPE_Report:  -			Address = (void*)&MouseReport; +			Address = &MouseReport;  			Size    = sizeof(MouseReport);  			break;  	} diff --git a/Demos/Device/ClassDriver/Mouse/Descriptors.h b/Demos/Device/ClassDriver/Mouse/Descriptors.h index 59910dec4d..2b1d7ce889 100644 --- a/Demos/Device/ClassDriver/Mouse/Descriptors.h +++ b/Demos/Device/ClassDriver/Mouse/Descriptors.h @@ -65,6 +65,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.c b/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.c index 21b4fbb4a1..174880962d 100644 --- a/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.c +++ b/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.c @@ -214,37 +214,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:  			switch (DescriptorNumber)  			{  				case 0x00: -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01: -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02: -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.h b/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.h index 7d6c3b99bb..ed4d274b20 100644 --- a/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.h +++ b/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.h @@ -79,6 +79,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/VirtualSerial/Descriptors.c b/Demos/Device/ClassDriver/VirtualSerial/Descriptors.c index 8f11d4a26b..3deaf6d4b5 100644 --- a/Demos/Device/ClassDriver/VirtualSerial/Descriptors.c +++ b/Demos/Device/ClassDriver/VirtualSerial/Descriptors.c @@ -226,37 +226,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*          Address = NULL; -	uint16_t       Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/ClassDriver/VirtualSerial/Descriptors.h b/Demos/Device/ClassDriver/VirtualSerial/Descriptors.h index 387034f11d..1c1f4694d5 100644 --- a/Demos/Device/ClassDriver/VirtualSerial/Descriptors.h +++ b/Demos/Device/ClassDriver/VirtualSerial/Descriptors.h @@ -79,6 +79,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.c b/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.c index 83fe2fe8e8..f32af19922 100644 --- a/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.c +++ b/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.c @@ -313,48 +313,48 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*          Address = NULL; -	uint16_t       Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID:  -			Address = (void*)&ConfigurationDescriptor.HID_MouseHID; +			Address = &ConfigurationDescriptor.HID_MouseHID;  			Size    = sizeof(USB_HID_Descriptor_t);  			break;  		case DTYPE_Report:  -			Address = (void*)&MouseReport; +			Address = &MouseReport;  			Size    = sizeof(MouseReport);  			break;  	} diff --git a/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.h b/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.h index 82b3ed1d67..3e68492a39 100644 --- a/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.h +++ b/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.h @@ -90,6 +90,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/Incomplete/Sideshow/Descriptors.c b/Demos/Device/Incomplete/Sideshow/Descriptors.c index a3f28b58df..d10bcc8ab7 100644 --- a/Demos/Device/Incomplete/Sideshow/Descriptors.c +++ b/Demos/Device/Incomplete/Sideshow/Descriptors.c @@ -156,48 +156,48 @@ USB_OSCompatibleIDDescriptor_t PROGMEM DevCompatIDs =  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration: -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:  			switch (DescriptorNumber)  			{  				case 0x00: -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01: -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02: -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  				case 0x03: -					Address = (void*)&SerialNumberString; +					Address = &SerialNumberString;  					Size    = pgm_read_byte(&SerialNumberString.Header.Size);  					break;  				case 0xEE:  					/* A Microsoft-proprietary extension. String address 0xEE is used by Windows for  					   "OS Descriptors", which in this case allows us to indicate that our device is  					   Sideshow compatible regardless of VID/PID values. */ -					Address = (void*)&OSDescriptorString; +					Address = &OSDescriptorString;  					Size    = pgm_read_byte(&OSDescriptorString.Header.Size);  					break;  			} @@ -211,7 +211,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  uint16_t USB_GetOSFeatureDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	void*    Address = NULL;  	uint16_t Size    = NO_DESCRIPTOR; diff --git a/Demos/Device/Incomplete/Sideshow/Descriptors.h b/Demos/Device/Incomplete/Sideshow/Descriptors.h index f988a48f1e..5ba737b385 100644 --- a/Demos/Device/Incomplete/Sideshow/Descriptors.h +++ b/Demos/Device/Incomplete/Sideshow/Descriptors.h @@ -87,10 +87,12 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  		uint16_t USB_GetOSFeatureDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/Incomplete/TestAndMeasurement/Descriptors.c b/Demos/Device/Incomplete/TestAndMeasurement/Descriptors.c index a56471568b..53c6a0193b 100644 --- a/Demos/Device/Incomplete/TestAndMeasurement/Descriptors.c +++ b/Demos/Device/Incomplete/TestAndMeasurement/Descriptors.c @@ -187,37 +187,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*          Address = NULL; -	uint16_t       Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/Incomplete/TestAndMeasurement/Descriptors.h b/Demos/Device/Incomplete/TestAndMeasurement/Descriptors.h index 468a5ea1d2..975ca10f74 100644 --- a/Demos/Device/Incomplete/TestAndMeasurement/Descriptors.h +++ b/Demos/Device/Incomplete/TestAndMeasurement/Descriptors.h @@ -75,6 +75,7 @@  	/* Function Prototypes: */
  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
  		                                    const uint8_t wIndex,
 -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
 +		                                    const void** const DescriptorAddress)
 +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
  #endif
 diff --git a/Demos/Device/LowLevel/AudioInput/Descriptors.c b/Demos/Device/LowLevel/AudioInput/Descriptors.c index cfe1fd03f9..46b43acabd 100644 --- a/Demos/Device/LowLevel/AudioInput/Descriptors.c +++ b/Demos/Device/LowLevel/AudioInput/Descriptors.c @@ -274,37 +274,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/LowLevel/AudioInput/Descriptors.h b/Demos/Device/LowLevel/AudioInput/Descriptors.h index 91c1d56080..1b700a6d3f 100644 --- a/Demos/Device/LowLevel/AudioInput/Descriptors.h +++ b/Demos/Device/LowLevel/AudioInput/Descriptors.h @@ -314,6 +314,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/LowLevel/AudioOutput/Descriptors.c b/Demos/Device/LowLevel/AudioOutput/Descriptors.c index 414bae8d4a..20ce79eaa0 100644 --- a/Demos/Device/LowLevel/AudioOutput/Descriptors.c +++ b/Demos/Device/LowLevel/AudioOutput/Descriptors.c @@ -274,37 +274,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration: -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00: -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/LowLevel/AudioOutput/Descriptors.h b/Demos/Device/LowLevel/AudioOutput/Descriptors.h index ea9b9f0258..112b900790 100644 --- a/Demos/Device/LowLevel/AudioOutput/Descriptors.h +++ b/Demos/Device/LowLevel/AudioOutput/Descriptors.h @@ -314,6 +314,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.c b/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.c index a134813b7c..cce7270441 100644 --- a/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.c +++ b/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.c @@ -340,37 +340,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; - +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR; +	  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.h b/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.h index 61941b1682..64c44a05a3 100644 --- a/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.h +++ b/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.h @@ -112,6 +112,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/LowLevel/GenericHID/Descriptors.c b/Demos/Device/LowLevel/GenericHID/Descriptors.c index 0d83fe1eec..7a670f70a9 100644 --- a/Demos/Device/LowLevel/GenericHID/Descriptors.c +++ b/Demos/Device/LowLevel/GenericHID/Descriptors.c @@ -201,48 +201,48 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID:  -			Address = (void*)&ConfigurationDescriptor.HID_GenericHID; +			Address = &ConfigurationDescriptor.HID_GenericHID;  			Size    = sizeof(USB_Descriptor_HID_t);  			break;  		case DTYPE_Report:  -			Address = (void*)&GenericReport; +			Address = &GenericReport;  			Size    = sizeof(GenericReport);  			break;  	} diff --git a/Demos/Device/LowLevel/GenericHID/Descriptors.h b/Demos/Device/LowLevel/GenericHID/Descriptors.h index 8e9e37b299..a6a5e35ad0 100644 --- a/Demos/Device/LowLevel/GenericHID/Descriptors.h +++ b/Demos/Device/LowLevel/GenericHID/Descriptors.h @@ -96,6 +96,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/LowLevel/Joystick/Descriptors.c b/Demos/Device/LowLevel/Joystick/Descriptors.c index 45e771eacb..b32ffebf9d 100644 --- a/Demos/Device/LowLevel/Joystick/Descriptors.c +++ b/Demos/Device/LowLevel/Joystick/Descriptors.c @@ -201,48 +201,48 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID:  -			Address = (void*)&ConfigurationDescriptor.HID_JoystickHID; +			Address = &ConfigurationDescriptor.HID_JoystickHID;  			Size    = sizeof(USB_Descriptor_HID_t);  			break;  		case DTYPE_Report:  -			Address = (void*)&JoystickReport; +			Address = &JoystickReport;  			Size    = sizeof(JoystickReport);  			break;  	} diff --git a/Demos/Device/LowLevel/Joystick/Descriptors.h b/Demos/Device/LowLevel/Joystick/Descriptors.h index c133f0b2c3..02906999c5 100644 --- a/Demos/Device/LowLevel/Joystick/Descriptors.h +++ b/Demos/Device/LowLevel/Joystick/Descriptors.h @@ -89,6 +89,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/LowLevel/Keyboard/Descriptors.c b/Demos/Device/LowLevel/Keyboard/Descriptors.c index a96d4cc46f..6827cb890a 100644 --- a/Demos/Device/LowLevel/Keyboard/Descriptors.c +++ b/Demos/Device/LowLevel/Keyboard/Descriptors.c @@ -218,48 +218,48 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID:  -			Address = (void*)&ConfigurationDescriptor.HID_KeyboardHID; +			Address = &ConfigurationDescriptor.HID_KeyboardHID;  			Size    = sizeof(USB_Descriptor_HID_t);  			break;  		case DTYPE_Report:  -			Address = (void*)&KeyboardReport; +			Address = &KeyboardReport;  			Size    = sizeof(KeyboardReport);  			break;  	} diff --git a/Demos/Device/LowLevel/Keyboard/Descriptors.h b/Demos/Device/LowLevel/Keyboard/Descriptors.h index 126b71bfae..815381bb71 100644 --- a/Demos/Device/LowLevel/Keyboard/Descriptors.h +++ b/Demos/Device/LowLevel/Keyboard/Descriptors.h @@ -94,6 +94,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c b/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c index a5505ea7c3..9a2f69c4f2 100644 --- a/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c +++ b/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c @@ -288,37 +288,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} @@ -327,24 +327,24 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		case DTYPE_HID:   			if (!(wIndex))  			{ -				Address = (void*)&ConfigurationDescriptor.HID1_KeyboardHID; +				Address = &ConfigurationDescriptor.HID1_KeyboardHID;  				Size    = sizeof(USB_Descriptor_HID_t);  			}  			else  			{ -				Address = (void*)&ConfigurationDescriptor.HID2_MouseHID; +				Address = &ConfigurationDescriptor.HID2_MouseHID;  				Size    = sizeof(USB_Descriptor_HID_t);			  			}  			break;  		case DTYPE_Report:   			if (!(wIndex))  			{ -				Address = (void*)&KeyboardReport; +				Address = &KeyboardReport;  				Size    = sizeof(KeyboardReport);  			}  			else  			{			 -				Address = (void*)&MouseReport; +				Address = &MouseReport;  				Size    = sizeof(MouseReport);  			} diff --git a/Demos/Device/LowLevel/KeyboardMouse/Descriptors.h b/Demos/Device/LowLevel/KeyboardMouse/Descriptors.h index f76d5c9b2a..8005d5ad37 100644 --- a/Demos/Device/LowLevel/KeyboardMouse/Descriptors.h +++ b/Demos/Device/LowLevel/KeyboardMouse/Descriptors.h @@ -100,6 +100,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/LowLevel/MIDI/Descriptors.c b/Demos/Device/LowLevel/MIDI/Descriptors.c index a6d73a3248..33fba26b96 100644 --- a/Demos/Device/LowLevel/MIDI/Descriptors.c +++ b/Demos/Device/LowLevel/MIDI/Descriptors.c @@ -285,37 +285,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/LowLevel/MIDI/Descriptors.h b/Demos/Device/LowLevel/MIDI/Descriptors.h index afb74c6826..ba65a89cd8 100644 --- a/Demos/Device/LowLevel/MIDI/Descriptors.h +++ b/Demos/Device/LowLevel/MIDI/Descriptors.h @@ -185,6 +185,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/LowLevel/MassStorage/Descriptors.c b/Demos/Device/LowLevel/MassStorage/Descriptors.c index b1744e6859..b7c21a269b 100644 --- a/Demos/Device/LowLevel/MassStorage/Descriptors.c +++ b/Demos/Device/LowLevel/MassStorage/Descriptors.c @@ -176,37 +176,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/LowLevel/MassStorage/Descriptors.h b/Demos/Device/LowLevel/MassStorage/Descriptors.h index ce1c03c289..b2989f1bc9 100644 --- a/Demos/Device/LowLevel/MassStorage/Descriptors.h +++ b/Demos/Device/LowLevel/MassStorage/Descriptors.h @@ -67,6 +67,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/LowLevel/Mouse/Descriptors.c b/Demos/Device/LowLevel/Mouse/Descriptors.c index 46533eeed7..66fdde1481 100644 --- a/Demos/Device/LowLevel/Mouse/Descriptors.c +++ b/Demos/Device/LowLevel/Mouse/Descriptors.c @@ -201,37 +201,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration: -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:  			switch (DescriptorNumber)  			{  				case 0x00: -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01: -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02: -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/LowLevel/Mouse/Descriptors.h b/Demos/Device/LowLevel/Mouse/Descriptors.h index eb7246883a..a4dc5d5d62 100644 --- a/Demos/Device/LowLevel/Mouse/Descriptors.h +++ b/Demos/Device/LowLevel/Mouse/Descriptors.h @@ -89,6 +89,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/LowLevel/RNDISEthernet/Descriptors.c b/Demos/Device/LowLevel/RNDISEthernet/Descriptors.c index d7ad8f22fa..e50c2f77e2 100644 --- a/Demos/Device/LowLevel/RNDISEthernet/Descriptors.c +++ b/Demos/Device/LowLevel/RNDISEthernet/Descriptors.c @@ -214,37 +214,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:  			switch (DescriptorNumber)  			{  				case 0x00: -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01: -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02: -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/LowLevel/RNDISEthernet/Descriptors.h b/Demos/Device/LowLevel/RNDISEthernet/Descriptors.h index 144fc9054e..74ecd46acc 100644 --- a/Demos/Device/LowLevel/RNDISEthernet/Descriptors.h +++ b/Demos/Device/LowLevel/RNDISEthernet/Descriptors.h @@ -93,6 +93,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/Device/LowLevel/VirtualSerial/Descriptors.c b/Demos/Device/LowLevel/VirtualSerial/Descriptors.c index 1e87766eaf..f7e4540c35 100644 --- a/Demos/Device/LowLevel/VirtualSerial/Descriptors.c +++ b/Demos/Device/LowLevel/VirtualSerial/Descriptors.c @@ -226,37 +226,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*          Address = NULL; -	uint16_t       Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Demos/Device/LowLevel/VirtualSerial/Descriptors.h b/Demos/Device/LowLevel/VirtualSerial/Descriptors.h index 2b06da0a68..850fc6a3e1 100644 --- a/Demos/Device/LowLevel/VirtualSerial/Descriptors.h +++ b/Demos/Device/LowLevel/VirtualSerial/Descriptors.h @@ -93,6 +93,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.c b/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.c index 66db661c07..8fb71953d2 100644 --- a/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.c +++ b/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.c @@ -201,48 +201,48 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration: -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:  			switch (DescriptorNumber)  			{  				case 0x00: -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01: -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02: -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID:  -			Address = (void*)&ConfigurationDescriptor.HID_MouseHID; +			Address = &ConfigurationDescriptor.HID_MouseHID;  			Size    = sizeof(USB_HID_Descriptor_t);  			break;  		case DTYPE_Report:  -			Address = (void*)&MouseReport; +			Address = &MouseReport;  			Size    = sizeof(MouseReport);  			break;  	} diff --git a/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.h b/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.h index 59910dec4d..2b1d7ce889 100644 --- a/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.h +++ b/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.h @@ -65,6 +65,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c b/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c index 64af1406ba..1832d15bed 100644 --- a/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c +++ b/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c @@ -254,8 +254,8 @@ static void USB_Device_GetInternalSerialDescriptor(void)  static void USB_Device_GetDescriptor(void)  { -	void*    DescriptorPointer; -	uint16_t DescriptorSize; +	const void* DescriptorPointer; +	uint16_t    DescriptorSize;  	#if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)  	uint8_t  DescriptorAddressSpace; diff --git a/LUFA/Drivers/USB/LowLevel/Device.h b/LUFA/Drivers/USB/LowLevel/Device.h index c30da9c705..fdf4ee930a 100644 --- a/LUFA/Drivers/USB/LowLevel/Device.h +++ b/LUFA/Drivers/USB/LowLevel/Device.h @@ -187,7 +187,7 @@  			 */  			uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  			                                    const uint8_t wIndex, -			                                    void** const DescriptorAddress +			                                    const void** const DescriptorAddress  			#if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)  			                                    , uint8_t* MemoryAddressSpace  			#endif diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index 6c77bcd2f1..e71a6f0d21 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -24,6 +24,8 @@    *  - Changed all Device mode LowLevel demos and Device Class drivers so that the control request is acknowledged and any data    *    transferred as quickly as possible without any processing inbetween sections, so that long callbacks or event handlers will    *    not break communications with the host by exceeding the maximum control request stage timeout period +  *  - Changed the signature of the CALLBACK_USB_GetDescriptor() callback function so that the descriptor pointer is const, to remove +  *    the need for extra casting inside the callback (thanks to Jonathan Kollasch)    *    *  <b>Fixed:</b>    *  - Fixed USB_GetHIDReportItemInfo() function modifying the given report item's data when the report item does not exist diff --git a/LUFA/ManPages/MigrationInformation.txt b/LUFA/ManPages/MigrationInformation.txt index 49c9e63371..40fb70a253 100644 --- a/LUFA/ManPages/MigrationInformation.txt +++ b/LUFA/ManPages/MigrationInformation.txt @@ -18,6 +18,11 @@   *    - A new USB driver source file, Drivers/USB/HighLevel/PipeStream.c now exists. This source file should be added to all   *      project makefiles using the USB driver of LUFA, or the makefile should be updated to use the new module source variables.   * + *  <b>Device Mode</b> + *    - The signature for the CALLBACK_USB_GetDescriptor() callback has changed, the "void** const DescriptorAddress" parameter is + *      now "const void** const DescriptorAddress". Existing applications should update their callback signatures to match this, and + *      eliminate any casting of descriptor pointers to a non-const pointer. + *   * \section Sec_Migration100807 Migrating from 100513 to 100807   *   *  <b>Non-USB Library Components</b> diff --git a/Projects/AVRISP-MKII/Descriptors.c b/Projects/AVRISP-MKII/Descriptors.c index 243c570203..5559bc11ef 100644 --- a/Projects/AVRISP-MKII/Descriptors.c +++ b/Projects/AVRISP-MKII/Descriptors.c @@ -174,41 +174,41 @@ USB_Descriptor_String_t PROGMEM SerialString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  				case 0x03: -					Address = (void*)&SerialString; +					Address = &SerialString;  					Size    = pgm_read_byte(&SerialString.Header.Size);  					break;					  			} diff --git a/Projects/AVRISP-MKII/Descriptors.h b/Projects/AVRISP-MKII/Descriptors.h index f991aa0226..6c0e0d163b 100644 --- a/Projects/AVRISP-MKII/Descriptors.h +++ b/Projects/AVRISP-MKII/Descriptors.h @@ -75,6 +75,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Projects/Benito/Descriptors.c b/Projects/Benito/Descriptors.c index 6a9e791bbf..282bbdcc8d 100644 --- a/Projects/Benito/Descriptors.c +++ b/Projects/Benito/Descriptors.c @@ -214,37 +214,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Projects/Benito/Descriptors.h b/Projects/Benito/Descriptors.h index a670563cf3..ce29816f12 100644 --- a/Projects/Benito/Descriptors.h +++ b/Projects/Benito/Descriptors.h @@ -79,6 +79,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Projects/Incomplete/MIDIToneGenerator/Descriptors.c b/Projects/Incomplete/MIDIToneGenerator/Descriptors.c index 9ce300afc5..fc3addb95e 100644 --- a/Projects/Incomplete/MIDIToneGenerator/Descriptors.c +++ b/Projects/Incomplete/MIDIToneGenerator/Descriptors.c @@ -285,37 +285,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Projects/Incomplete/MIDIToneGenerator/Descriptors.h b/Projects/Incomplete/MIDIToneGenerator/Descriptors.h index fc648de4b2..8165fedf69 100644 --- a/Projects/Incomplete/MIDIToneGenerator/Descriptors.h +++ b/Projects/Incomplete/MIDIToneGenerator/Descriptors.h @@ -77,6 +77,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Projects/Incomplete/StandaloneProgrammer/Descriptors.c b/Projects/Incomplete/StandaloneProgrammer/Descriptors.c index cd2b0d3b89..d2e59868aa 100644 --- a/Projects/Incomplete/StandaloneProgrammer/Descriptors.c +++ b/Projects/Incomplete/StandaloneProgrammer/Descriptors.c @@ -178,37 +178,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Projects/Incomplete/StandaloneProgrammer/Descriptors.h b/Projects/Incomplete/StandaloneProgrammer/Descriptors.h index d78bbba207..4065209b4b 100644 --- a/Projects/Incomplete/StandaloneProgrammer/Descriptors.h +++ b/Projects/Incomplete/StandaloneProgrammer/Descriptors.h @@ -84,6 +84,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Projects/LEDNotifier/Descriptors.c b/Projects/LEDNotifier/Descriptors.c index 316ad45eb7..71d7813e61 100644 --- a/Projects/LEDNotifier/Descriptors.c +++ b/Projects/LEDNotifier/Descriptors.c @@ -226,37 +226,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*          Address = NULL; -	uint16_t       Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Projects/LEDNotifier/Descriptors.h b/Projects/LEDNotifier/Descriptors.h index 387034f11d..1c1f4694d5 100644 --- a/Projects/LEDNotifier/Descriptors.h +++ b/Projects/LEDNotifier/Descriptors.h @@ -79,6 +79,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Projects/Magstripe/Descriptors.c b/Projects/Magstripe/Descriptors.c index 219ead1e71..eb2b72b1e8 100644 --- a/Projects/Magstripe/Descriptors.c +++ b/Projects/Magstripe/Descriptors.c @@ -198,48 +198,48 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration: -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:  			switch (DescriptorNumber)  			{  				case 0x00: -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01: -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02: -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID: -			Address = (void*)&ConfigurationDescriptor.HID_KeyboardHID; +			Address = &ConfigurationDescriptor.HID_KeyboardHID;  			Size    = sizeof(USB_HID_Descriptor_t);  			break;  		case DTYPE_Report: -			Address = (void*)&KeyboardReport; +			Address = &KeyboardReport;  			Size    = sizeof(KeyboardReport);  			break;  	} diff --git a/Projects/Magstripe/Descriptors.h b/Projects/Magstripe/Descriptors.h index 85d0737806..850d6bc24e 100644 --- a/Projects/Magstripe/Descriptors.h +++ b/Projects/Magstripe/Descriptors.h @@ -66,6 +66,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Projects/RelayBoard/Descriptors.c b/Projects/RelayBoard/Descriptors.c index e792aec7eb..d05de457ea 100644 --- a/Projects/RelayBoard/Descriptors.c +++ b/Projects/RelayBoard/Descriptors.c @@ -155,41 +155,41 @@ USB_Descriptor_String_t PROGMEM RelayBoard_SerialString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device: -			Address = (void*)&RelayBoard_DeviceDescriptor; +			Address = &RelayBoard_DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration: -			Address = (void*)&RelayBoard_ConfigurationDescriptor; +			Address = &RelayBoard_ConfigurationDescriptor;  			Size    = sizeof(RelayBoard_USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:  			switch (DescriptorNumber)  			{  				case 0x00: -					Address = (void*)&RelayBoard_LanguageString; +					Address = &RelayBoard_LanguageString;  					Size    = pgm_read_byte(&RelayBoard_LanguageString.Header.Size);  					break;  				case 0x01: -					Address = (void*)&RelayBoard_ManufacturerString; +					Address = &RelayBoard_ManufacturerString;  					Size    = pgm_read_byte(&RelayBoard_ManufacturerString.Header.Size);  					break;  				case 0x02: -					Address = (void*)&RelayBoard_ProductString; +					Address = &RelayBoard_ProductString;  					Size    = pgm_read_byte(&RelayBoard_ProductString.Header.Size);  					break;  				case 0x03: -					Address = (void*)&RelayBoard_SerialString; +					Address = &RelayBoard_SerialString;  					Size    = pgm_read_byte(&RelayBoard_SerialString.Header.Size);  					break;  			} diff --git a/Projects/RelayBoard/Descriptors.h b/Projects/RelayBoard/Descriptors.h index f6357f8212..2cf2e8d698 100644 --- a/Projects/RelayBoard/Descriptors.h +++ b/Projects/RelayBoard/Descriptors.h @@ -41,7 +41,6 @@  		#include <avr/pgmspace.h>  		#include <LUFA/Drivers/USB/USB.h> -  	/* Type Defines: */  		/** Type define for the device configuration descriptor structure. This must be defined in the  		 *  application code, as the configuration descriptor contains several sub-descriptors which @@ -56,6 +55,6 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress); - +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Projects/TempDataLogger/Descriptors.c b/Projects/TempDataLogger/Descriptors.c index 564d5ee83c..d6e89603ce 100644 --- a/Projects/TempDataLogger/Descriptors.c +++ b/Projects/TempDataLogger/Descriptors.c @@ -239,48 +239,48 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			}  			break;  		case DTYPE_HID:  -			Address = (void*)&ConfigurationDescriptor.HID_GenericHID; +			Address = &ConfigurationDescriptor.HID_GenericHID;  			Size    = sizeof(USB_HID_Descriptor_t);  			break;  		case DTYPE_Report:  -			Address = (void*)&GenericReport; +			Address = &GenericReport;  			Size    = sizeof(GenericReport);  			break;  	} diff --git a/Projects/TempDataLogger/Descriptors.h b/Projects/TempDataLogger/Descriptors.h index ff0d25cff6..7f65cab338 100644 --- a/Projects/TempDataLogger/Descriptors.h +++ b/Projects/TempDataLogger/Descriptors.h @@ -56,6 +56,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Projects/USBtoSerial/Descriptors.c b/Projects/USBtoSerial/Descriptors.c index 16d3429d4f..7fa6ab990d 100644 --- a/Projects/USBtoSerial/Descriptors.c +++ b/Projects/USBtoSerial/Descriptors.c @@ -226,37 +226,37 @@ USB_Descriptor_String_t PROGMEM ProductString =   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Projects/USBtoSerial/Descriptors.h b/Projects/USBtoSerial/Descriptors.h index 8012ebdde9..0bd07d3264 100644 --- a/Projects/USBtoSerial/Descriptors.h +++ b/Projects/USBtoSerial/Descriptors.h @@ -79,6 +79,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Projects/Webserver/Descriptors.c b/Projects/Webserver/Descriptors.c index 0b134c0adb..8bf3edbe38 100644 --- a/Projects/Webserver/Descriptors.c +++ b/Projects/Webserver/Descriptors.c @@ -174,37 +174,39 @@ USB_Descriptor_String_t PROGMEM ProductString =   *  is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the   *  USB host.   */ -uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress) +uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, +                                    const uint8_t wIndex, +                                    const void** const DescriptorAddress)  {  	const uint8_t  DescriptorType   = (wValue >> 8);  	const uint8_t  DescriptorNumber = (wValue & 0xFF); -	void*    Address = NULL; -	uint16_t Size    = NO_DESCRIPTOR; +	const void* Address = NULL; +	uint16_t    Size    = NO_DESCRIPTOR;  	switch (DescriptorType)  	{  		case DTYPE_Device:  -			Address = (void*)&DeviceDescriptor; +			Address = &DeviceDescriptor;  			Size    = sizeof(USB_Descriptor_Device_t);  			break;  		case DTYPE_Configuration:  -			Address = (void*)&ConfigurationDescriptor; +			Address = &ConfigurationDescriptor;  			Size    = sizeof(USB_Descriptor_Configuration_t);  			break;  		case DTYPE_String:   			switch (DescriptorNumber)  			{  				case 0x00:  -					Address = (void*)&LanguageString; +					Address = &LanguageString;  					Size    = pgm_read_byte(&LanguageString.Header.Size);  					break;  				case 0x01:  -					Address = (void*)&ManufacturerString; +					Address = &ManufacturerString;  					Size    = pgm_read_byte(&ManufacturerString.Header.Size);  					break;  				case 0x02:  -					Address = (void*)&ProductString; +					Address = &ProductString;  					Size    = pgm_read_byte(&ProductString.Header.Size);  					break;  			} diff --git a/Projects/Webserver/Descriptors.h b/Projects/Webserver/Descriptors.h index b7d15e48fe..1b40df159a 100644 --- a/Projects/Webserver/Descriptors.h +++ b/Projects/Webserver/Descriptors.h @@ -68,6 +68,7 @@  	/* Function Prototypes: */  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif diff --git a/Projects/XPLAINBridge/XPLAINBridge.c b/Projects/XPLAINBridge/XPLAINBridge.c index ded80c22e1..0764bb9a82 100644 --- a/Projects/XPLAINBridge/XPLAINBridge.c +++ b/Projects/XPLAINBridge/XPLAINBridge.c @@ -249,7 +249,7 @@ void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCI   */  uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,                                      const uint8_t wIndex, -                                    void** const DescriptorAddress) +                                    const void** const DescriptorAddress)  {  	/* Return the correct descriptors based on the selected mode */  	if (CurrentFirmwareMode == MODE_USART_BRIDGE) diff --git a/Projects/XPLAINBridge/XPLAINBridge.h b/Projects/XPLAINBridge/XPLAINBridge.h index ee747ee1a9..74fa4458dc 100644 --- a/Projects/XPLAINBridge/XPLAINBridge.h +++ b/Projects/XPLAINBridge/XPLAINBridge.h @@ -95,6 +95,7 @@  		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,  		                                    const uint8_t wIndex, -		                                    void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); +		                                    const void** const DescriptorAddress) +		                                    ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);  #endif | 
