Selaa lähdekoodia

V-USB: Remove some stuff from usbconfig.h that should not be configurable (#8656)

* V-USB: Remove some stuff from usbconfig.h that should not be configurable

* Clean up some ifdefs

* And some more

* Even more
Ryan 5 vuotta sitten
vanhempi
commit
ca91dc594b
3 muutettua tiedostoa jossa 11 lisäystä ja 53 poistoa
  1. 0 22
      tmk_core/protocol/vusb/usbconfig.h
  2. 10 24
      tmk_core/protocol/vusb/vusb.c
  3. 1 7
      tmk_core/protocol/vusb/vusb.h

+ 0 - 22
tmk_core/protocol/vusb/usbconfig.h

@@ -41,15 +41,6 @@ section at the end of this file).
  * interrupt, the USB interrupt will also be triggered at Start-Of-Frame
  * markers every millisecond.]
  */
-#define USB_CFG_CLOCK_KHZ       (F_CPU/1000)
-/* Clock rate of the AVR in kHz. Legal values are 12000, 12800, 15000, 16000,
- * 16500, 18000 and 20000. The 12.8 MHz and 16.5 MHz versions of the code
- * require no crystal, they tolerate +/- 1% deviation from the nominal
- * frequency. All other rates require a precision of 2000 ppm and thus a
- * crystal!
- * Since F_CPU should be defined to your actual clock rate anyway, you should
- * not need to modify this setting.
- */
 #define USB_CFG_CHECK_CRC       0
 /* Define this to 1 if you want that the driver checks integrity of incoming
  * data packets (CRC checks). CRC checks cost quite a bit of code size and are
@@ -227,19 +218,6 @@ section at the end of this file).
  * with libusb: 0x16c0/0x5dc.  Use this VID/PID pair ONLY if you understand
  * the implications!
  */
-#define USB_CFG_DEVICE_CLASS        0
-#define USB_CFG_DEVICE_SUBCLASS     0
-/* See USB specification if you want to conform to an existing device class.
- * Class 0xff is "vendor specific".
- */
-#define USB_CFG_INTERFACE_CLASS     3   /* HID */
-#define USB_CFG_INTERFACE_SUBCLASS  1   /* Boot */
-#define USB_CFG_INTERFACE_PROTOCOL  1   /* Keyboard */
-/* See USB specification if you want to conform to an existing device class or
- * protocol. The following classes must be set at interface level:
- * HID class is 3, no subclass and protocol required (but may be useful!)
- * CDC class is 2, use subclass 2 and protocol 1 for ACM
- */
 #define USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH    0
 /* Define this to the length of the HID report descriptor, if you implement
  * an HID device. Otherwise don't define it or define it to 0.

+ 10 - 24
tmk_core/protocol/vusb/vusb.c

@@ -28,7 +28,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "vusb.h"
 #include <util/delay.h>
 
-#if defined(RAW_ENABLE)
+#ifdef RAW_ENABLE
 #    include "raw_hid.h"
 #endif
 
@@ -158,7 +158,7 @@ typedef struct {
 } __attribute__((packed)) vusb_mouse_report_t;
 
 static void send_mouse(report_mouse_t *report) {
-#if defined(MOUSE_ENABLE)
+#ifdef MOUSE_ENABLE
     vusb_mouse_report_t r = {.report_id = REPORT_ID_MOUSE, .report = *report};
     if (usbInterruptIsReady3()) {
         usbSetInterrupt3((void *)&r, sizeof(vusb_mouse_report_t));
@@ -410,7 +410,7 @@ const PROGMEM uchar mouse_extra_hid_report[] = {
 };
 #endif
 
-#if defined(RAW_ENABLE)
+#ifdef RAW_ENABLE
 const PROGMEM uchar raw_hid_report[] = {
     0x06, 0x60, 0xFF,  // Usage Page (Vendor Defined)
     0x09, 0x61,        // Usage (Vendor Defined)
@@ -479,7 +479,6 @@ const PROGMEM usbStringDescriptor_t usbStringDescriptorSerial = {
     .bString             = LSTR(SERIAL_NUMBER)
 };
 
-#if USB_CFG_DESCR_PROPS_DEVICE
 /*
  * Device descriptor
  */
@@ -489,8 +488,8 @@ const PROGMEM usbDeviceDescriptor_t usbDeviceDescriptor = {
         .bDescriptorType = USBDESCR_DEVICE
     },
     .bcdUSB              = 0x0110,
-    .bDeviceClass        = USB_CFG_DEVICE_CLASS,
-    .bDeviceSubClass     = USB_CFG_DEVICE_SUBCLASS,
+    .bDeviceClass        = 0x00,
+    .bDeviceSubClass     = 0x00,
     .bDeviceProtocol     = 0x00,
     .bMaxPacketSize0     = 8,
     .idVendor            = VENDOR_ID,
@@ -501,9 +500,7 @@ const PROGMEM usbDeviceDescriptor_t usbDeviceDescriptor = {
     .iSerialNumber       = 0x03,
     .bNumConfigurations  = 1
 };
-#endif
 
-#if USB_CFG_DESCR_PROPS_CONFIGURATION
 /*
  * Configuration descriptors
  */
@@ -535,10 +532,10 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         },
         .bInterfaceNumber    = 0,
         .bAlternateSetting   = 0x00,
-        .bNumEndpoints       = USB_CFG_HAVE_INTRIN_ENDPOINT,
-        .bInterfaceClass     = USB_CFG_INTERFACE_CLASS,
-        .bInterfaceSubClass  = USB_CFG_INTERFACE_SUBCLASS,
-        .bInterfaceProtocol  = USB_CFG_INTERFACE_PROTOCOL,
+        .bNumEndpoints       = 1,
+        .bInterfaceClass     = 0x03,
+        .bInterfaceSubClass  = 0x01,
+        .bInterfaceProtocol  = 0x01,
         .iInterface          = 0x00
     },
     .keyboardHID = {
@@ -552,7 +549,6 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         .bDescriptorType     = USBDESCR_HID_REPORT,
         .wDescriptorLength   = sizeof(keyboard_hid_report)
     },
-#    ifdef USB_CFG_HAVE_INTRIN_ENDPOINT
     .keyboardINEndpoint = {
         .header = {
             .bLength         = sizeof(usbEndpointDescriptor_t),
@@ -563,7 +559,6 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         .wMaxPacketSize      = 8,
         .bInterval           = USB_POLLING_INTERVAL_MS
     },
-#    endif
 
 #    if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE)
     /*
@@ -576,7 +571,7 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         },
         .bInterfaceNumber    = 1,
         .bAlternateSetting   = 0x00,
-        .bNumEndpoints       = USB_CFG_HAVE_INTRIN_ENDPOINT3,
+        .bNumEndpoints       = 1,
         .bInterfaceClass     = 0x03,
         .bInterfaceSubClass  = 0x00,
         .bInterfaceProtocol  = 0x00,
@@ -593,7 +588,6 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         .bDescriptorType     = USBDESCR_HID_REPORT,
         .wDescriptorLength   = sizeof(mouse_extra_hid_report)
     },
-#        if USB_CFG_HAVE_INTRIN_ENDPOINT3
     .mouseExtraINEndpoint = {
         .header = {
             .bLength         = sizeof(usbEndpointDescriptor_t),
@@ -604,7 +598,6 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         .wMaxPacketSize      = 8,
         .bInterval           = USB_POLLING_INTERVAL_MS
     }
-#        endif
 #    elif defined(RAW_ENABLE)
     .rawInterface = {
         .header = {
@@ -630,7 +623,6 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         .bDescriptorType     = USBDESCR_HID_REPORT,
         .wDescriptorLength   = sizeof(raw_hid_report)
     },
-#        if USB_CFG_HAVE_INTRIN_ENDPOINT3
     .rawINEndpoint = {
         .header = {
             .bLength         = sizeof(usbEndpointDescriptor_t),
@@ -651,10 +643,8 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
         .wMaxPacketSize      = RAW_EPSIZE,
         .bInterval           = USB_POLLING_INTERVAL_MS
     }
-#        endif
 #    endif
 };
-#endif
 
 // clang-format on
 
@@ -670,18 +660,14 @@ USB_PUBLIC usbMsgLen_t usbFunctionDescriptor(struct usbRequest *rq) {
         debug_hex16(rq->wLength.word); debug("\n");
     */
     switch (rq->wValue.bytes[1]) {
-#if USB_CFG_DESCR_PROPS_DEVICE
         case USBDESCR_DEVICE:
             usbMsgPtr = (unsigned char *)&usbDeviceDescriptor;
             len       = sizeof(usbDeviceDescriptor_t);
             break;
-#endif
-#if USB_CFG_DESCR_PROPS_CONFIGURATION
         case USBDESCR_CONFIG:
             usbMsgPtr = (unsigned char *)&usbConfigurationDescriptor;
             len       = sizeof(usbConfigurationDescriptor_t);
             break;
-#endif
         case USBDESCR_STRING:
             switch (rq->wValue.bytes[0]) {
                 case 0:

+ 1 - 7
tmk_core/protocol/vusb/vusb.h

@@ -87,23 +87,17 @@ typedef struct usbConfigurationDescriptor {
     usbConfigurationDescriptorHeader_t header;
     usbInterfaceDescriptor_t           keyboardInterface;
     usbHIDDescriptor_t                 keyboardHID;
-#ifdef USB_CFG_HAVE_INTRIN_ENDPOINT
     usbEndpointDescriptor_t keyboardINEndpoint;
-#endif
 
 #if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE)
     usbInterfaceDescriptor_t mouseExtraInterface;
     usbHIDDescriptor_t       mouseExtraHID;
-#    ifdef USB_CFG_HAVE_INTRIN_ENDPOINT3
     usbEndpointDescriptor_t mouseExtraINEndpoint;
-#    endif
 #elif defined(RAW_ENABLE)
     usbInterfaceDescriptor_t rawInterface;
     usbHIDDescriptor_t       rawHID;
-#    ifdef USB_CFG_HAVE_INTRIN_ENDPOINT3
     usbEndpointDescriptor_t rawINEndpoint;
     usbEndpointDescriptor_t rawOUTEndpoint;
-#    endif
 #endif
 } __attribute__((packed)) usbConfigurationDescriptor_t;
 
@@ -112,6 +106,6 @@ typedef struct usbConfigurationDescriptor {
 host_driver_t *vusb_driver(void);
 void           vusb_transfer_keyboard(void);
 
-#if defined(RAW_ENABLE)
+#ifdef RAW_ENABLE
 void raw_hid_task(void);
 #endif