aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-03-27 22:17:26 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-03-27 22:17:26 +0000
commit06d00bb99b5dd948c9407884cc07d1e82ea6878a (patch)
tree79b8a50c593745057114b76ec9aea839213d081a
parent8f5ab27dc9b2a7c4944a5e7d149f39959ead477e (diff)
downloadlufa-06d00bb99b5dd948c9407884cc07d1e82ea6878a.tar.gz
lufa-06d00bb99b5dd948c9407884cc07d1e82ea6878a.tar.bz2
lufa-06d00bb99b5dd948c9407884cc07d1e82ea6878a.zip
Ensure the library builds cleanly in device mode for architectures lacking multiple address spaces.
-rw-r--r--LUFA/Drivers/USB/Core/DeviceStandardReq.c31
1 files changed, 20 insertions, 11 deletions
diff --git a/LUFA/Drivers/USB/Core/DeviceStandardReq.c b/LUFA/Drivers/USB/Core/DeviceStandardReq.c
index f6bedda5f..ed781f6f3 100644
--- a/LUFA/Drivers/USB/Core/DeviceStandardReq.c
+++ b/LUFA/Drivers/USB/Core/DeviceStandardReq.c
@@ -138,18 +138,21 @@ static void USB_Device_SetConfiguration(void)
#else
USB_Descriptor_Device_t* DevDescriptorPtr;
- #if defined(USE_FLASH_DESCRIPTORS)
- #define MemoryAddressSpace MEMSPACE_FLASH
- #elif defined(USE_EEPROM_DESCRIPTORS)
- #define MemoryAddressSpace MEMSPACE_EEPROM
- #elif defined(USE_SRAM_DESCRIPTORS)
- #define MemoryAddressSpace MEMSPACE_SRAM
- #else
- uint8_t MemoryAddressSpace;
+ #if defined(ARCH_HAS_MULTI_ADDRESS_SPACE)
+ #if defined(USE_FLASH_DESCRIPTORS)
+ #define MemoryAddressSpace MEMSPACE_FLASH
+ #elif defined(USE_EEPROM_DESCRIPTORS)
+ #define MemoryAddressSpace MEMSPACE_EEPROM
+ #elif defined(USE_SRAM_DESCRIPTORS)
+ #define MemoryAddressSpace MEMSPACE_SRAM
+ #else
+ uint8_t MemoryAddressSpace;
+ #endif
#endif
-
+
if (CALLBACK_USB_GetDescriptor((DTYPE_Device << 8), 0, (void*)&DevDescriptorPtr
- #if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)
+ #if defined(ARCH_HAS_MULTI_ADDRESS_SPACE) && \
+ !(defined(USE_FLASH_DESCRIPTORS) || defined(USE_EEPROM_DESCRIPTORS) || defined(USE_RAM_DESCRIPTORS))
, &MemoryAddressSpace
#endif
) == NO_DESCRIPTOR)
@@ -157,6 +160,7 @@ static void USB_Device_SetConfiguration(void)
return;
}
+ #if defined(ARCH_HAS_MULTI_ADDRESS_SPACE)
if (MemoryAddressSpace == MEMSPACE_FLASH)
{
if (((uint8_t)USB_ControlRequest.wValue > pgm_read_byte(&DevDescriptorPtr->NumberOfConfigurations)))
@@ -172,6 +176,10 @@ static void USB_Device_SetConfiguration(void)
if ((uint8_t)USB_ControlRequest.wValue > DevDescriptorPtr->NumberOfConfigurations)
return;
}
+ #else
+ if ((uint8_t)USB_ControlRequest.wValue > DevDescriptorPtr->NumberOfConfigurations)
+ return;
+ #endif
#endif
Endpoint_ClearSETUP();
@@ -224,7 +232,8 @@ static void USB_Device_GetDescriptor(void)
const void* DescriptorPointer;
uint16_t DescriptorSize;
- #if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)
+ #if defined(ARCH_HAS_MULTI_ADDRESS_SPACE) && \
+ !(defined(USE_FLASH_DESCRIPTORS) || defined(USE_EEPROM_DESCRIPTORS) || defined(USE_RAM_DESCRIPTORS))
uint8_t DescriptorAddressSpace;
#endif