From 022fa26b43f062ca6e4b23c64ec2d0d0bab7e377 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Wed, 21 Sep 2011 23:40:05 +0000
Subject: [PATCH] Fix missing C++ linkage command in ArchitectureSpecific.h.

Fix missing closing brace in an Endpoint function for the UC3 targets.
---
 Demos/Device/ClassDriver/Keyboard/Keyboard.c | 7 +++++--
 LUFA/Common/ArchitectureSpecific.h           | 5 +++++
 LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h     | 2 +-
 LUFA/ManPages/LUFAPoweredProjects.txt        | 2 ++
 4 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/Demos/Device/ClassDriver/Keyboard/Keyboard.c b/Demos/Device/ClassDriver/Keyboard/Keyboard.c
index 302f451ce..efa6ad012 100644
--- a/Demos/Device/ClassDriver/Keyboard/Keyboard.c
+++ b/Demos/Device/ClassDriver/Keyboard/Keyboard.c
@@ -139,8 +139,11 @@ void EVENT_USB_Device_StartOfFrame(void)
  *
  *  \return Boolean true to force the sending of the report, false to let the library determine if it needs to be sent
  */
-bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, uint8_t* const ReportID,
-                                         const uint8_t ReportType, void* ReportData, uint16_t* const ReportSize)
+bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
+                                         uint8_t* const ReportID,
+                                         const uint8_t ReportType,
+                                         void* ReportData,
+                                         uint16_t* const ReportSize)
 {
 	USB_KeyboardReport_Data_t* KeyboardReport = (USB_KeyboardReport_Data_t*)ReportData;
 
diff --git a/LUFA/Common/ArchitectureSpecific.h b/LUFA/Common/ArchitectureSpecific.h
index 3920cb94e..502723fb7 100644
--- a/LUFA/Common/ArchitectureSpecific.h
+++ b/LUFA/Common/ArchitectureSpecific.h
@@ -56,6 +56,11 @@
 			#error Do not include this file directly. Include LUFA/Common/Common.h instead to gain this functionality.
 		#endif
 		
+	/* Enable C linkage for C++ Compilers: */
+		#if defined(__cplusplus)
+			extern "C" {
+		#endif
+
 	/* Public Interface - May be used in end-application: */
 		/* Macros: */
 			#if (ARCH == ARCH_AVR8) || defined(__DOXYGEN__)
diff --git a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h
index eefd9cfcd..d38df8b48 100644
--- a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h
+++ b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h
@@ -305,7 +305,7 @@
 				                                               ((uint32_t)Type      << AVR32_USBB_EPTYPE_OFFSET) | 
 				                                               ((uint32_t)(Direction ? AVR32_USBB_UECFG0_EPDIR_MASK : 0) |
 				                                               ((uint32_t)Banks     << AVR32_USBB_EPBK_OFFSET)   |
-				                                               Endpoint_BytesToEPSizeMask(Size)));
+				                                               Endpoint_BytesToEPSizeMask(Size))));
 			}
 
 			/** Indicates the number of bytes currently stored in the current endpoint's selected bank.
diff --git a/LUFA/ManPages/LUFAPoweredProjects.txt b/LUFA/ManPages/LUFAPoweredProjects.txt
index a46e2c68f..2a5ff2a21 100644
--- a/LUFA/ManPages/LUFAPoweredProjects.txt
+++ b/LUFA/ManPages/LUFAPoweredProjects.txt
@@ -37,6 +37,7 @@
  *
  *  - Accelerometer Game Joystick: http://www.crictor.co.il/he/episodes/joystick/
  *  - Arcade Controller: http://fletchtronics.net/arcade-controller-made-petunia
+ *  - Arcade Joystick: http://jamie.lentin.co.uk/embedded/arcade-joystick/
  *  - AVR USB Modem, a 3G Wireless Modem host: http://code.google.com/p/avrusbmodem/
  *  - Bicycle POV: http://www.code.google.com/p/bicycleledpov/
  *  - Bluetooth Explorerbot: http://code.google.com/p/bluetooth-explorerbot/
@@ -85,6 +86,7 @@
  *  - SDR1, a Software Defined Radio firmware: https://code.google.com/p/sdr-mk1/
  *  - SEGA Megadrive/Genesis Development Cartridge: http://www.makestuff.eu/wordpress/?page_id=398
  *  - Serial Line bus analyser: http://www.pjrc.com/teensy/projects/SerialAnalyzer.html
+ *  - Smartcard Detective: https://code.google.com/p/smartcarddetective/
  *  - SmartportVHD Apple II Mass Storage adapter: http://pcedric3.free.fr/SmartportVHD/
  *  - Single LED Matrix Display: http://guysoft.wordpress.com/2009/10/08/bumble-b/
  *  - Stripe Snoop, a Magnetic Card reader: http://www.ossguy.com/ss_usb/
-- 
GitLab