From 13951ab043c43d0e3ea4ac0ae6a641fd88e7fcb0 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Thu, 14 Jul 2011 00:26:11 +0000
Subject: [PATCH] Fix compile errors in the UC3 platform support due to a
 forward reference and an incorrect function prototype.

---
 LUFA/Platform/UC3/ClockManagement.h     | 12 ++++++------
 LUFA/Platform/UC3/InterruptManagement.h |  7 +++----
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/LUFA/Platform/UC3/ClockManagement.h b/LUFA/Platform/UC3/ClockManagement.h
index deac64f94..60a3d18f4 100644
--- a/LUFA/Platform/UC3/ClockManagement.h
+++ b/LUFA/Platform/UC3/ClockManagement.h
@@ -127,12 +127,12 @@
 			 *
 			 *  \return Boolean \c true if the external oscillator was successfully started, \c false if invalid parameters specified.
 			 */
-			static inline void AVR32CLK_StartExternalOscillator(const uint8_t Channel,
-			                                                    const uint8_t Type,
-			                                                    const uint8_t Startup) ATTR_ALWAYS_INLINE;
-			static inline void AVR32CLK_StartExternalOscillator(const uint8_t Channel,
-			                                                    const uint8_t Type,
-			                                                    const uint8_t Startup)
+			static inline uint8_t AVR32CLK_StartExternalOscillator(const uint8_t Channel,
+			                                                       const uint8_t Type,
+			                                                       const uint8_t Startup) ATTR_ALWAYS_INLINE;
+			static inline uint8_t AVR32CLK_StartExternalOscillator(const uint8_t Channel,
+			                                                       const uint8_t Type,
+			                                                       const uint8_t Startup)
 			{
 				switch (Channel)
 				{
diff --git a/LUFA/Platform/UC3/InterruptManagement.h b/LUFA/Platform/UC3/InterruptManagement.h
index bcceab7f6..bc27f2207 100644
--- a/LUFA/Platform/UC3/InterruptManagement.h
+++ b/LUFA/Platform/UC3/InterruptManagement.h
@@ -84,6 +84,9 @@
 
 	/* Private Interface - For use in library only: */
 	#if !defined(__DOXYGEN__)
+		/* Type Defines: */
+			typedef void (*InterruptHandlerPtr_t)(void);
+
 		/* External Variables: */
 			extern const void            EVBA_Table;
 			extern const uint32_t        Autovector_Table[];
@@ -108,10 +111,6 @@
 			 */
 			#define INTC_IRQ_LINE(IRQIndex)   (IRQIndex % 32)
 
-		/* Type Defines: */
-			/** Type define for an interrupt handler ISR function. */
-			typedef void (*InterruptHandlerPtr_t)(void);
-
 		/* Function Prototypes: */
 			/** Initializes the interrupt controller, nulling out all interrupt handlers ready for new registration. This
 			 *  function should be called once on startup to ensure the interrupt controller is ready for use.
-- 
GitLab