#include "../HighLevel/StdDescriptors.h"\r
                #include "Endpoint.h"\r
 \r
+       /* Preprocessor Checks: */\r
+               #if (defined(USE_RAM_DESCRIPTORS) && defined(USE_EEPROM_DESCRIPTORS))\r
+                       #error USE_RAM_DESCRIPTORS and USE_EEPROM_DESCRIPTORS are mutually exclusive.\r
+               #endif\r
+                       \r
        /* Public Interface - May be used in end-application: */\r
                /* Macros: */\r
-                       #if defined(USB_FULL_CONTROLLER) || defined(USB_MODIFIED_FULL_CONTROLLER) || defined(__DOXYGEN__)\r
+                       #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR) || defined(__DOXYGEN__)\r
                                /** Mask for the Options parameter of the \ref USB_Init() function. This indicates that the\r
                                 *  USB interface should be initialized in low speed (1.5Mb/s) mode.\r
                                 *\r
                /* Function Prototypes: */\r
                        /** Function to retrieve a given descriptor's size and memory location from the given descriptor type value,\r
                         *  index and language ID. This function MUST be overridden in the user application (added with full, identical  \r
-                        *  prototype and name except for the \ref ATTR_WEAK attribute) so that the library can call it to retrieve descriptor \r
-                        *  data.\r
+                        *  prototype and name so that the library can call it to retrieve descriptor data.\r
                         *\r
                         *  \param wValue             The type of the descriptor to retrieve in the upper byte, and the index in the \r
                         *                            lower byte (when more than one descriptor of the given type exists, such as the\r
                         *  \return Size in bytes of the descriptor if it exists, zero or \ref NO_DESCRIPTOR otherwise\r
                         */\r
                        uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)\r
-                                                                                   ATTR_WARN_UNUSED_RESULT ATTR_WEAK ATTR_NON_NULL_PTR_ARG(3);\r
+                                                                                   ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);\r
 \r
        /* Private Interface - For use in library only: */\r
        #if !defined(__DOXYGEN__)\r