diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2010-08-24 13:02:38 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2010-08-24 13:02:38 +0000 |
commit | 092f82e06fc64436fd957b4b6b8d5ce33532efae (patch) | |
tree | 3060a52e5f3e3a3486e7d2bd272cfc8e7ab58190 /Projects/RelayBoard | |
parent | ed8ad18f26ef36a7c0cafd3aac1f672a06d14f76 (diff) | |
download | lufa-092f82e06fc64436fd957b4b6b8d5ce33532efae.tar.gz lufa-092f82e06fc64436fd957b4b6b8d5ce33532efae.tar.bz2 lufa-092f82e06fc64436fd957b4b6b8d5ce33532efae.zip |
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).
Diffstat (limited to 'Projects/RelayBoard')
-rw-r--r-- | Projects/RelayBoard/Descriptors.c | 18 | ||||
-rw-r--r-- | Projects/RelayBoard/Descriptors.h | 5 |
2 files changed, 11 insertions, 12 deletions
diff --git a/Projects/RelayBoard/Descriptors.c b/Projects/RelayBoard/Descriptors.c index e792aec7e..d05de457e 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 f6357f821..2cf2e8d69 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 |