Changed over the AVR8 USB controller interrupt management macros to be inlined functi...
[pub/lufa.git] / LUFA / Drivers / USB / Core / UC3B / USBInterrupt_UC3B.h
index e7ad1e8..e2f96e6 100644 (file)
                /* Macros: */\r
                        enum USB_Interrupts_t\r
                        {\r
-                               USB_INT_VBUS    = 0,\r
+                               USB_INT_VBUSTI  = 0,\r
                                USB_INT_IDTI    = 1,\r
                                USB_INT_WAKEUPI = 2,\r
                                USB_INT_SUSPI   = 3,\r
                                USB_INT_EORSTI  = 4,\r
-                               USB_INT_DCONNI  = 5,\r
-                               USB_INT_DDISCI  = 6,\r
-                               USB_INT_BCERRI  = 7,\r
-                               USB_INT_VBERRI  = 8,\r
-                               USB_INT_SOFI    = 9,\r
-                               USB_INT_HSOFI   = 10,\r
-                               USB_INT_RSTI    = 11,\r
+                               USB_INT_SOFI    = 5,\r
+                               USB_INT_HSOFI   = 6,\r
+                               USB_INT_DCONNI  = 7,\r
+                               USB_INT_DDISCI  = 8,\r
+                               USB_INT_RSTI    = 9,\r
+                               USB_INT_BCERRI  = 10,\r
+                               USB_INT_VBERRI  = 11,\r
                                USB_INT_SRPI    = 12,\r
                                USB_INT_RXSTPI  = 13,\r
                        };\r
                        \r
+               /* Inline Functions: */\r
                        static inline void USB_INT_Enable(const uint8_t Interrupt) ATTR_ALWAYS_INLINE;\r
                        static inline void USB_INT_Enable(const uint8_t Interrupt)\r
                        {\r
                                switch (Interrupt)\r
                                {\r
-                                       case USB_INT_VBUS:\r
+                                       case USB_INT_VBUSTI:\r
                                                AVR32_USBB.USBCON.vbuste      = true;\r
                                                break;\r
                                        case USB_INT_IDTI:\r
                                        case USB_INT_EORSTI:\r
                                                AVR32_USBB.UDINTESET.eorstes  = true;\r
                                                break;\r
+                                       case USB_INT_SOFI:\r
+                                               AVR32_USBB.UDINTESET.sofes    = true;\r
+                                               break;\r
+                                       case USB_INT_HSOFI:\r
+                                               AVR32_USBB.UHINTESET.hsofies  = true;\r
+                                               break;\r
                                        case USB_INT_DCONNI:\r
                                                AVR32_USBB.UHINTESET.dconnies = true;\r
                                                break;\r
                                        case USB_INT_DDISCI:\r
                                                AVR32_USBB.UHINTESET.ddiscies = true;\r
                                                break;\r
+                                       case USB_INT_RSTI:\r
+                                               AVR32_USBB.UHINTESET.rsties   = true;\r
+                                               break;\r
                                        case USB_INT_BCERRI:\r
                                                AVR32_USBB.USBCON.bcerre      = true;\r
                                                break;\r
                                        case USB_INT_VBERRI:\r
                                                AVR32_USBB.USBCON.vberre      = true;\r
                                                break;\r
-                                       case USB_INT_SOFI:\r
-                                               AVR32_USBB.UDINTESET.sofes    = true;\r
-                                               break;\r
-                                       case USB_INT_HSOFI:\r
-                                               AVR32_USBB.UHINTESET.hsofies  = true;\r
-                                               break;\r
-                                       case USB_INT_RSTI:\r
-                                               AVR32_USBB.UHINTESET.rsties   = true;\r
-                                               break;\r
                                        case USB_INT_SRPI:\r
                                        case USB_INT_RXSTPI:\r
                                                // TODO\r
                        {\r
                                switch (Interrupt)\r
                                {\r
-                                       case USB_INT_VBUS:\r
+                                       case USB_INT_VBUSTI:\r
                                                AVR32_USBB.USBCON.vbuste      = false;\r
                                                break;\r
                                        case USB_INT_IDTI:\r
                                        case USB_INT_EORSTI:\r
                                                AVR32_USBB.UDINTECLR.eorstec  = true;\r
                                                break;\r
+                                       case USB_INT_SOFI:\r
+                                               AVR32_USBB.UDINTECLR.sofec    = true;\r
+                                               break;\r
+                                       case USB_INT_HSOFI:\r
+                                               AVR32_USBB.UHINTECLR.hsofiec  = true;\r
+                                               break;\r
                                        case USB_INT_DCONNI:\r
                                                AVR32_USBB.UHINTECLR.dconniec = true;\r
                                                break;\r
                                        case USB_INT_DDISCI:\r
                                                AVR32_USBB.UHINTECLR.ddisciec = true;\r
                                                break;\r
+                                       case USB_INT_RSTI:\r
+                                               AVR32_USBB.UHINTECLR.rstiec   = true;\r
+                                               break;\r
                                        case USB_INT_BCERRI:\r
                                                AVR32_USBB.USBCON.bcerre      = false;\r
                                                break;\r
                                        case USB_INT_VBERRI:\r
                                                AVR32_USBB.USBCON.vberre      = false;\r
                                                break;\r
-                                       case USB_INT_SOFI:\r
-                                               AVR32_USBB.UDINTECLR.sofec    = true;\r
-                                               break;\r
-                                       case USB_INT_HSOFI:\r
-                                               AVR32_USBB.UHINTECLR.hsofiec  = true;\r
-                                               break;\r
-                                       case USB_INT_RSTI:\r
-                                               AVR32_USBB.UHINTECLR.rstiec   = true;\r
-                                               break;\r
                                        case USB_INT_SRPI:\r
                                        case USB_INT_RXSTPI:\r
                                                // TODO\r
                        {\r
                                switch (Interrupt)\r
                                {\r
-                                       case USB_INT_VBUS:\r
+                                       case USB_INT_VBUSTI:\r
                                                AVR32_USBB.USBSTACLR.vbustic = true;\r
                                                break;\r
                                        case USB_INT_IDTI:\r
                                        case USB_INT_EORSTI:\r
                                                AVR32_USBB.UDINTCLR.eorstc   = true;\r
                                                break;\r
+                                       case USB_INT_SOFI:\r
+                                               AVR32_USBB.UDINTCLR.sofc     = true;\r
+                                               break;\r
+                                       case USB_INT_HSOFI:\r
+                                               AVR32_USBB.UHINTCLR.hsofic   = true;\r
+                                               break;\r
                                        case USB_INT_DCONNI:\r
                                                AVR32_USBB.UHINTCLR.dconnic  = true;\r
                                                break;\r
                                        case USB_INT_DDISCI:\r
                                                AVR32_USBB.UHINTCLR.ddiscic  = true;\r
                                                break;\r
+                                       case USB_INT_RSTI:\r
+                                               AVR32_USBB.UHINTCLR.rstic    = true;\r
+                                               break;\r
                                        case USB_INT_BCERRI:\r
                                                AVR32_USBB.USBSTACLR.bcerric = true;\r
                                                break;\r
                                        case USB_INT_VBERRI:\r
                                                AVR32_USBB.USBSTACLR.vberric = true;\r
                                                break;\r
-                                       case USB_INT_SOFI:\r
-                                               AVR32_USBB.UDINTCLR.sofc     = true;\r
-                                               break;\r
-                                       case USB_INT_HSOFI:\r
-                                               AVR32_USBB.UHINTCLR.hsofic   = true;\r
-                                               break;\r
-                                       case USB_INT_RSTI:\r
-                                               AVR32_USBB.UHINTCLR.rstic    = true;\r
-                                               break;\r
                                        case USB_INT_SRPI:\r
                                        case USB_INT_RXSTPI:\r
                                                // TODO\r
                        {\r
                                switch (Interrupt)\r
                                {\r
-                                       case USB_INT_VBUS:\r
+                                       case USB_INT_VBUSTI:\r
                                                return AVR32_USBB.USBCON.vbuste;\r
                                        case USB_INT_IDTI:\r
                                                return AVR32_USBB.USBCON.idte;\r
                                                return AVR32_USBB.UDINTE.suspe;\r
                                        case USB_INT_EORSTI:\r
                                                return AVR32_USBB.UDINTE.eorste;\r
+                                       case USB_INT_SOFI:\r
+                                               return AVR32_USBB.UDINTE.sofe;\r
+                                       case USB_INT_HSOFI:\r
+                                               return AVR32_USBB.UHINTE.hsofie;\r
                                        case USB_INT_DCONNI:\r
                                                return AVR32_USBB.UHINTE.dconnie;\r
                                        case USB_INT_DDISCI:\r
                                                return AVR32_USBB.UHINTE.ddiscie;\r
+                                       case USB_INT_RSTI:\r
+                                               return AVR32_USBB.UHINTE.rstie;\r
                                        case USB_INT_BCERRI:\r
                                                return AVR32_USBB.USBCON.bcerre;\r
                                        case USB_INT_VBERRI:\r
                                                return AVR32_USBB.USBCON.vberre;\r
-                                       case USB_INT_SOFI:\r
-                                               return AVR32_USBB.UDINTE.sofe;\r
-                                       case USB_INT_HSOFI:\r
-                                               return AVR32_USBB.UHINTE.hsofie;\r
-                                       case USB_INT_RSTI:\r
-                                               return AVR32_USBB.UHINTE.rstie;\r
                                        case USB_INT_SRPI:\r
                                        case USB_INT_RXSTPI:\r
                                                // TODO\r
                        {\r
                                switch (Interrupt)\r
                                {\r
-                                       case USB_INT_VBUS:\r
+                                       case USB_INT_VBUSTI:\r
                                                return AVR32_USBB.USBSTA.vbusti;\r
                                        case USB_INT_IDTI:\r
                                                return AVR32_USBB.USBSTA.idti;\r
                                                return AVR32_USBB.UDINT.susp;\r
                                        case USB_INT_EORSTI:\r
                                                return AVR32_USBB.UDINT.eorst;\r
+                                       case USB_INT_SOFI:\r
+                                               return AVR32_USBB.UDINT.sof;\r
+                                       case USB_INT_HSOFI:\r
+                                               return AVR32_USBB.UHINT.hsofi;\r
                                        case USB_INT_DCONNI:\r
                                                return AVR32_USBB.UHINT.dconni;\r
                                        case USB_INT_DDISCI:\r
                                                return AVR32_USBB.UHINT.ddisci;\r
+                                       case USB_INT_RSTI:\r
+                                               return AVR32_USBB.UHINT.rsti;\r
                                        case USB_INT_BCERRI:\r
                                                return AVR32_USBB.USBSTA.bcerri;\r
                                        case USB_INT_VBERRI:\r
                                                return AVR32_USBB.USBSTA.vberri;\r
-                                       case USB_INT_SOFI:\r
-                                               return AVR32_USBB.UDINT.sof;\r
-                                       case USB_INT_HSOFI:\r
-                                               return AVR32_USBB.UHINT.hsofi;\r
-                                       case USB_INT_RSTI:\r
-                                               return AVR32_USBB.UHINT.rsti;\r
                                        case USB_INT_SRPI:\r
                                        case USB_INT_RXSTPI:\r
                                                // TODO\r