~ruther/qmk_firmware

634e42b2b47d32ae8aa933599e63e3761939e3f5 — Joel Challis 3 years ago 0ecd492
Revert to old init order for host driver (#15029)

* Partially revert 14888
M quantum/main.c => quantum/main.c +12 -3
@@ 19,11 19,21 @@
void platform_setup(void);

void protocol_setup(void);
void protocol_init(void);
void protocol_pre_init(void);
void protocol_post_init(void);
void protocol_pre_task(void);
void protocol_post_task(void);

// Bodge as refactoring vusb sucks....
// Bodge as refactoring this area sucks....
void protocol_init(void) __attribute__((weak));
void protocol_init(void) {
    protocol_pre_init();

    keyboard_init();

    protocol_post_init();
}

void protocol_task(void) __attribute__((weak));
void protocol_task(void) {
    protocol_pre_task();


@@ 44,7 54,6 @@ int main(void) {
    keyboard_setup();

    protocol_init();
    keyboard_init();

    /* Main loop */
    while (true) {

M tmk_core/protocol/chibios/chibios.c => tmk_core/protocol/chibios/chibios.c +3 -3
@@ 140,7 140,7 @@ void protocol_setup(void) {
    // chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
}

void protocol_init(void) {
void protocol_pre_init(void) {
    /* Init USB */
    usb_event_queue_init();
    init_usb_driver(&USB_DRIVER);


@@ 173,10 173,10 @@ void protocol_init(void) {
    wait_ms(50);

    print("USB configured.\n");

    host_set_driver(driver);
}

void protocol_post_init(void) { host_set_driver(driver); }

void protocol_pre_task(void) {
    usb_event_queue_task();


M tmk_core/protocol/lufa/lufa.c => tmk_core/protocol/lufa/lufa.c +3 -3
@@ 1072,7 1072,7 @@ void protocol_setup(void) {
    usb_device_state_init();
}

void protocol_init(void) {
void protocol_pre_init(void) {
    setup_usb();
    sei();



@@ 1094,10 1094,10 @@ void protocol_init(void) {
#else
    USB_USBTask();
#endif

    host_set_driver(&lufa_driver);
}

void protocol_post_init(void) { host_set_driver(&lufa_driver); }

void protocol_pre_task(void) {
#if !defined(NO_USB_STARTUP_CHECK)
    if (USB_DeviceState == DEVICE_STATE_Suspended) {

M tmk_core/protocol/vusb/protocol.c => tmk_core/protocol/vusb/protocol.c +3 -2
@@ 113,12 113,13 @@ void protocol_setup(void) {
#endif
}

void protocol_init(void) {
void protocol_pre_init(void) {
    setup_usb();
    sei();
}

void protocol_post_init(void) {
    host_set_driver(vusb_driver());

    wait_ms(50);
}