From 537a29273c08b1e047004e1bd71c37af82937dd4 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 9 Nov 2018 00:10:44 -0800 Subject: [PATCH] Exempt from strict warnings for struct packing and add MCU options --- src/class/cdc/cdc.h | 6 ++++++ src/class/hid/hid.h | 5 +++++ src/class/msc/msc.h | 6 ++++++ src/common/tusb_types.h | 6 ++++++ src/portable/microchip/samd21/dcd.c | 2 +- src/tusb_option.h | 3 +++ 6 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/class/cdc/cdc.h b/src/class/cdc/cdc.h index 1b127ad28..0b6e57735 100644 --- a/src/class/cdc/cdc.h +++ b/src/class/cdc/cdc.h @@ -50,6 +50,10 @@ extern "C" { #endif +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpacked" +#pragma GCC diagnostic ignored "-Wattributes" + /** \defgroup ClassDriver_CDC_Common Common Definitions * @{ */ @@ -401,6 +405,8 @@ typedef struct ATTR_PACKED TU_VERIFY_STATIC(sizeof(cdc_line_control_state_t) == 2, "size is not correct"); +#pragma GCC diagnostic pop + /** @} */ #ifdef __cplusplus diff --git a/src/class/hid/hid.h b/src/class/hid/hid.h index d2803177b..0008e47fb 100644 --- a/src/class/hid/hid.h +++ b/src/class/hid/hid.h @@ -49,6 +49,10 @@ extern "C" { #endif +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpacked" +#pragma GCC diagnostic ignored "-Wattributes" + //--------------------------------------------------------------------+ // Common Definitions //--------------------------------------------------------------------+ @@ -609,6 +613,7 @@ enum HID_USAGE_CONSUMER_AC_PAN = 0x0238, }; +#pragma GCC diagnostic pop #ifdef __cplusplus } diff --git a/src/class/msc/msc.h b/src/class/msc/msc.h index a0abc2501..e7c32b303 100644 --- a/src/class/msc/msc.h +++ b/src/class/msc/msc.h @@ -52,6 +52,10 @@ extern "C" { #endif +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpacked" +#pragma GCC diagnostic ignored "-Wattributes" + //--------------------------------------------------------------------+ // Mass Storage Class Constant //--------------------------------------------------------------------+ @@ -392,6 +396,8 @@ typedef struct ATTR_PACKED TU_VERIFY_STATIC(sizeof(scsi_read10_t) == 10, "size is not correct"); TU_VERIFY_STATIC(sizeof(scsi_write10_t) == 10, "size is not correct"); +#pragma GCC diagnostic pop + #ifdef __cplusplus } #endif diff --git a/src/common/tusb_types.h b/src/common/tusb_types.h index 8ce334e55..5c226f556 100644 --- a/src/common/tusb_types.h +++ b/src/common/tusb_types.h @@ -51,6 +51,10 @@ extern "C" { #endif +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpacked" +#pragma GCC diagnostic ignored "-Wattributes" + /*------------------------------------------------------------------*/ /* CONSTANTS *------------------------------------------------------------------*/ @@ -422,6 +426,8 @@ static inline uint8_t descriptor_len(uint8_t const p_desc[]) // Convert comma-separated string to descriptor unicode format #define TUD_DESC_STRCONV( ... ) (const uint16_t[]) { TUD_DESC_STR_HEADER(VA_ARGS_NUM_(__VA_ARGS__)), __VA_ARGS__ } +#pragma GCC diagnostic pop + #ifdef __cplusplus } #endif diff --git a/src/portable/microchip/samd21/dcd.c b/src/portable/microchip/samd21/dcd.c index c9e88ad17..33cbc8d92 100644 --- a/src/portable/microchip/samd21/dcd.c +++ b/src/portable/microchip/samd21/dcd.c @@ -38,7 +38,7 @@ #include "tusb_option.h" -#if TUSB_OPT_DEVICE_ENABLED && CFG_TUSB_MCU == OPT_MCU_SAMD51 +#if TUSB_OPT_DEVICE_ENABLED && CFG_TUSB_MCU == OPT_MCU_SAMD21 #include "device/dcd.h" diff --git a/src/tusb_option.h b/src/tusb_option.h index d7a6c6fe0..d027ea0e6 100644 --- a/src/tusb_option.h +++ b/src/tusb_option.h @@ -57,6 +57,9 @@ #define OPT_MCU_LPC43XX 7 ///< NXP LPC43xx series #define OPT_MCU_NRF5X 100 ///< Nordic nRF5x series + +#define OPT_MCU_SAMD21 200 ///< MicroChip SAMD21 +#define OPT_MCU_SAMD51 201 ///< MicroChip SAMD51 /** @} */ /** \defgroup group_supported_os Supported RTOS