From 15fb6351e513a93ceaf8a2f249625437d6d4466c Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sun, 28 Apr 2013 11:31:28 +0000
Subject: [PATCH] Move USB mode enum into the top level USB controller header,
 as it is common to all architectures (even if not all modes are supported).

---
 .../USB/Core/AVR8/USBController_AVR8.h        | 14 -------------
 LUFA/Drivers/USB/Core/UC3/USBController_UC3.h | 20 +++----------------
 LUFA/Drivers/USB/Core/USBController.h         | 14 +++++++++++++
 .../USB/Core/XMEGA/USBController_XMEGA.h      | 10 ----------
 4 files changed, 17 insertions(+), 41 deletions(-)

diff --git a/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h b/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h
index c0219e3427..1b72bf13bb 100644
--- a/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h
+++ b/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h
@@ -302,20 +302,6 @@
 				#define USB_Options USE_STATIC_OPTIONS
 			#endif
 
-		/* Enums: */
-			/** Enum for the possible USB controller modes, for initialization via \ref USB_Init() and indication back to the
-			 *  user application via \ref USB_CurrentMode.
-			 */
-			enum USB_Modes_t
-			{
-				USB_MODE_None   = 0, /**< Indicates that the controller is currently not initialized in any specific USB mode. */
-				USB_MODE_Device = 1, /**< Indicates that the controller is currently initialized in USB Device mode. */
-				USB_MODE_Host   = 2, /**< Indicates that the controller is currently initialized in USB Host mode. */
-				USB_MODE_UID    = 3, /**< Indicates that the controller should determine the USB mode from the UID pin of the
-				                      *   USB connector.
-				                      */
-			};
-
 	/* Private Interface - For use in library only: */
 	#if !defined(__DOXYGEN__)
 		/* Function Prototypes: */
diff --git a/LUFA/Drivers/USB/Core/UC3/USBController_UC3.h b/LUFA/Drivers/USB/Core/UC3/USBController_UC3.h
index 049882852e..b76605a11d 100644
--- a/LUFA/Drivers/USB/Core/UC3/USBController_UC3.h
+++ b/LUFA/Drivers/USB/Core/UC3/USBController_UC3.h
@@ -87,13 +87,13 @@
 		#if (defined(USB_SERIES_UC3A3_AVR) || defined(USB_SERIES_UC3A4_AVR))
 			#if ((F_USB < 12000000) || (F_USB % 12000000))
 				#error Invalid F_USB specified. F_USB must be a multiple of 12MHz for UC3A3 and UC3A4 devices.
-			#endif		
+			#endif
 		#else
 			#if ((F_USB < 48000000) || (F_USB % 48000000))
 				#error Invalid F_USB specified. F_USB must be a multiple of 48MHz for UC3A and UC3B devices.
-			#endif		
+			#endif
 		#endif
-		
+
 	/* Public Interface - May be used in end-application: */
 		/* Macros: */
 			/** \name USB Controller Option Masks */
@@ -265,20 +265,6 @@
 				#define USB_Options USE_STATIC_OPTIONS
 			#endif
 
-		/* Enums: */
-			/** Enum for the possible USB controller modes, for initialization via \ref USB_Init() and indication back to the
-			 *  user application via \ref USB_CurrentMode.
-			 */
-			enum USB_Modes_t
-			{
-				USB_MODE_None   = 0, /**< Indicates that the controller is currently not initialized in any specific USB mode. */
-				USB_MODE_Device = 1, /**< Indicates that the controller is currently initialized in USB Device mode. */
-				USB_MODE_Host   = 2, /**< Indicates that the controller is currently initialized in USB Host mode. */
-				USB_MODE_UID    = 3, /**< Indicates that the controller should determine the USB mode from the UID pin of the
-				                      *   USB connector.
-				                      */
-			};
-
 	/* Private Interface - For use in library only: */
 	#if !defined(__DOXYGEN__)
 		/* Macros: */
diff --git a/LUFA/Drivers/USB/Core/USBController.h b/LUFA/Drivers/USB/Core/USBController.h
index bcec750fd7..7702b74d6b 100644
--- a/LUFA/Drivers/USB/Core/USBController.h
+++ b/LUFA/Drivers/USB/Core/USBController.h
@@ -131,6 +131,20 @@
 		#define EP_TYPE_INTERRUPT                  0x03
 		//@}
 
+	/* Enums: */
+		/** Enum for the possible USB controller modes, for initialization via \ref USB_Init() and indication back to the
+		 *  user application via \ref USB_CurrentMode.
+		 */
+		enum USB_Modes_t
+		{
+			USB_MODE_None   = 0, /**< Indicates that the controller is currently not initialized in any specific USB mode. */
+			USB_MODE_Device = 1, /**< Indicates that the controller is currently initialized in USB Device mode. */
+			USB_MODE_Host   = 2, /**< Indicates that the controller is currently initialized in USB Host mode. */
+			USB_MODE_UID    = 3, /**< Indicates that the controller should determine the USB mode from the UID pin of the
+			                      *   USB connector.
+			                      */
+		};
+
 	/* Architecture Includes: */
 		#if (ARCH == ARCH_AVR8)
 			#include "AVR8/USBController_AVR8.h"
diff --git a/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.h b/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.h
index 2198b53c77..5128820cb8 100644
--- a/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.h
+++ b/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.h
@@ -273,16 +273,6 @@
 				#define USB_Options USE_STATIC_OPTIONS
 			#endif
 
-		/* Enums: */
-			/** Enum for the possible USB controller modes, for initialization via \ref USB_Init() and indication back to the
-			 *  user application via \ref USB_CurrentMode.
-			 */
-			enum USB_Modes_t
-			{
-				USB_MODE_None   = 0, /**< Indicates that the controller is currently not initialized in any specific USB mode. */
-				USB_MODE_Device = 1, /**< Indicates that the controller is currently initialized in USB Device mode. */
-			};
-
 	/* Private Interface - For use in library only: */
 	#if !defined(__DOXYGEN__)
 		/* Function Prototypes: */