From f6e1eaba7548bce84ae25718d7c37479c4bb0065 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sun, 22 Aug 2010 13:54:51 +0000
Subject: [PATCH] Optimise Endpoint_ConfigureEndpoint_Prv() function to produce
 smaller code when CONTROL_ONLY_DEVICE compile time token is defined.

---
 LUFA/Drivers/USB/LowLevel/Endpoint.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.c b/LUFA/Drivers/USB/LowLevel/Endpoint.c
index 742e61860..4b2d1c059 100644
--- a/LUFA/Drivers/USB/LowLevel/Endpoint.c
+++ b/LUFA/Drivers/USB/LowLevel/Endpoint.c
@@ -43,6 +43,16 @@ bool Endpoint_ConfigureEndpoint_Prv(const uint8_t Number,
                                     const uint8_t UECFG0XData,
                                     const uint8_t UECFG1XData)
 {
+#if defined(CONTROL_ONLY_DEVICE)
+	Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
+	Endpoint_EnableEndpoint();
+
+	UECFG1X = 0;
+	UECFG0X = UECFG0XData;
+	UECFG1X = UECFG1XData;
+
+	return Endpoint_IsConfigured();
+#else
 	uint8_t UECFG0XTemp[ENDPOINT_TOTAL_ENDPOINTS];
 	uint8_t UECFG1XTemp[ENDPOINT_TOTAL_ENDPOINTS];
 	
@@ -82,6 +92,7 @@ bool Endpoint_ConfigureEndpoint_Prv(const uint8_t Number,
 	
 	Endpoint_SelectEndpoint(Number);
 	return true;
+#endif
 }
 
 void Endpoint_ClearEndpoints(void)
-- 
GitLab