From d85b27bbbc6b086db469570cf741b515695dd816 Mon Sep 17 00:00:00 2001
From: Nick Brassel <nick@tzarc.org>
Date: Wed, 20 Jan 2021 00:23:07 +1100
Subject: [PATCH] Leftover early initialisation conversions (#11615)

* jm60

* ergodox_stm32

* F042 bootloader jumps.

* xiaomi/mk02 custom bootloader, no early-init bootloader jump for F072.

* matrix/m20add, matrix/noah
---
 keyboards/chavdai40/rev1/config.h                          | 4 +++-
 keyboards/chavdai40/rev2/config.h                          | 4 +++-
 keyboards/ergodox_stm32/boards/ERGODOX_STM32_BOARD/board.c | 2 --
 keyboards/ergodox_stm32/ergodox_stm32.c                    | 4 ++++
 keyboards/jm60/boards/JM60_BOARD/board.c                   | 2 --
 keyboards/jm60/jm60.c                                      | 4 ++++
 keyboards/matrix/m20add/boards/m20add_bd/board.c           | 2 --
 keyboards/matrix/m20add/config.h                           | 4 ++--
 keyboards/matrix/noah/boards/noah_bd/board.c               | 2 --
 keyboards/matrix/noah/config.h                             | 2 ++
 keyboards/polilla/rev1/config.h                            | 2 ++
 keyboards/xiaomi/mk02/config.h                             | 2 ++
 platforms/chibios/GENERIC_STM32_F042X6/board/board.c       | 4 ----
 13 files changed, 22 insertions(+), 16 deletions(-)

diff --git a/keyboards/chavdai40/rev1/config.h b/keyboards/chavdai40/rev1/config.h
index a3dcf84e9a..5ce1111bae 100644
--- a/keyboards/chavdai40/rev1/config.h
+++ b/keyboards/chavdai40/rev1/config.h
@@ -19,6 +19,8 @@
 
 #include "config_common.h"
 
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE
+
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0x16D0
 #define PRODUCT_ID      0x0F95
@@ -33,7 +35,7 @@
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 13
 
- 
+
 #define MATRIX_ROW_PINS { A0, A15, B5, B6 }
 #define MATRIX_COL_PINS { B8, B4, B3, B2, B1, B0, A7, A6, A5, A4, A3, A2, A1 }
 #define UNUSED_PINS
diff --git a/keyboards/chavdai40/rev2/config.h b/keyboards/chavdai40/rev2/config.h
index a95f025f42..e45d2b2db1 100644
--- a/keyboards/chavdai40/rev2/config.h
+++ b/keyboards/chavdai40/rev2/config.h
@@ -19,6 +19,8 @@
 
 #include "config_common.h"
 
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE
+
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0x16D0
 #define PRODUCT_ID      0x0F95
@@ -33,7 +35,7 @@
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 13
 
- 
+
 #define MATRIX_ROW_PINS { A0, A15, B5, B6 }
 #define MATRIX_COL_PINS { B7, B4, B3, A8, B1, B0, A7, A6, A5, A4, A3, A2, A1 }
 #define UNUSED_PINS
diff --git a/keyboards/ergodox_stm32/boards/ERGODOX_STM32_BOARD/board.c b/keyboards/ergodox_stm32/boards/ERGODOX_STM32_BOARD/board.c
index 48844e34a6..41a603b951 100644
--- a/keyboards/ergodox_stm32/boards/ERGODOX_STM32_BOARD/board.c
+++ b/keyboards/ergodox_stm32/boards/ERGODOX_STM32_BOARD/board.c
@@ -46,6 +46,4 @@ void __early_init(void) {
  * Board-specific initialization code.
  */
 void boardInit(void) {
-	AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE;
-
 }
diff --git a/keyboards/ergodox_stm32/ergodox_stm32.c b/keyboards/ergodox_stm32/ergodox_stm32.c
index 176fb3f43a..846c29d7a4 100644
--- a/keyboards/ergodox_stm32/ergodox_stm32.c
+++ b/keyboards/ergodox_stm32/ergodox_stm32.c
@@ -12,6 +12,10 @@ extern inline void ergodox_led_all_off(void);
 volatile int mcp23017_status = 0x20;
 uint8_t i2c_initializied = 0;
 
+void board_init(void) {
+    AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE;
+}
+
 void matrix_init_kb(void)
 {
     // Init LED Ports
diff --git a/keyboards/jm60/boards/JM60_BOARD/board.c b/keyboards/jm60/boards/JM60_BOARD/board.c
index 48844e34a6..41a603b951 100644
--- a/keyboards/jm60/boards/JM60_BOARD/board.c
+++ b/keyboards/jm60/boards/JM60_BOARD/board.c
@@ -46,6 +46,4 @@ void __early_init(void) {
  * Board-specific initialization code.
  */
 void boardInit(void) {
-	AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE;
-
 }
diff --git a/keyboards/jm60/jm60.c b/keyboards/jm60/jm60.c
index d8fe9cecc1..f7b434f30e 100644
--- a/keyboards/jm60/jm60.c
+++ b/keyboards/jm60/jm60.c
@@ -16,3 +16,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "jm60.h"
+
+void board_init(void) {
+	AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE;
+}
diff --git a/keyboards/matrix/m20add/boards/m20add_bd/board.c b/keyboards/matrix/m20add/boards/m20add_bd/board.c
index 95d9045a0c..fa5723ec2b 100644
--- a/keyboards/matrix/m20add/boards/m20add_bd/board.c
+++ b/keyboards/matrix/m20add/boards/m20add_bd/board.c
@@ -208,8 +208,6 @@ static void stm32_gpio_init(void) {
  *          else.
  */
 void __early_init(void) {
-  extern void enter_bootloader_mode_if_requested(void);
-  enter_bootloader_mode_if_requested();
 
   stm32_gpio_init();
   stm32_clock_init();
diff --git a/keyboards/matrix/m20add/config.h b/keyboards/matrix/m20add/config.h
index 3164346495..f404ef9ccd 100644
--- a/keyboards/matrix/m20add/config.h
+++ b/keyboards/matrix/m20add/config.h
@@ -5,6 +5,8 @@
 
 #pragma once
 
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
 /* USB Device descriptor parameter */
 #define VENDOR_ID  0x4D58   // MX
 #define PRODUCT_ID 0x20AD   // 8XV2.0 Additional
@@ -94,5 +96,3 @@
 #define DRIVER_ADDR_1 0b1110100
 #define DRIVER_COUNT 1
 #define DRIVER_LED_TOTAL RGBLED_NUM
-
-#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE    // disable jump to system bootloader
diff --git a/keyboards/matrix/noah/boards/noah_bd/board.c b/keyboards/matrix/noah/boards/noah_bd/board.c
index 95d9045a0c..fa5723ec2b 100644
--- a/keyboards/matrix/noah/boards/noah_bd/board.c
+++ b/keyboards/matrix/noah/boards/noah_bd/board.c
@@ -208,8 +208,6 @@ static void stm32_gpio_init(void) {
  *          else.
  */
 void __early_init(void) {
-  extern void enter_bootloader_mode_if_requested(void);
-  enter_bootloader_mode_if_requested();
 
   stm32_gpio_init();
   stm32_clock_init();
diff --git a/keyboards/matrix/noah/config.h b/keyboards/matrix/noah/config.h
index 796e45e2fa..eac752911f 100644
--- a/keyboards/matrix/noah/config.h
+++ b/keyboards/matrix/noah/config.h
@@ -5,6 +5,8 @@
 
 #pragma once
 
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
 /* USB Device descriptor parameter */
 #define VENDOR_ID  0x4D58   // MX
 #define PRODUCT_ID 0x0065   // noah 65
diff --git a/keyboards/polilla/rev1/config.h b/keyboards/polilla/rev1/config.h
index 6665884465..5f0f10d355 100644
--- a/keyboards/polilla/rev1/config.h
+++ b/keyboards/polilla/rev1/config.h
@@ -18,6 +18,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
 /* USB Device descriptor parameter */
 #define VENDOR_ID 0x6166  // af
 #define PRODUCT_ID 0x0010
diff --git a/keyboards/xiaomi/mk02/config.h b/keyboards/xiaomi/mk02/config.h
index 785f44097f..a16d03c493 100644
--- a/keyboards/xiaomi/mk02/config.h
+++ b/keyboards/xiaomi/mk02/config.h
@@ -17,6 +17,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE
+
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0xFEED
 #define PRODUCT_ID      0x0B91
diff --git a/platforms/chibios/GENERIC_STM32_F042X6/board/board.c b/platforms/chibios/GENERIC_STM32_F042X6/board/board.c
index 3c6f54ef5e..0d7c88756a 100644
--- a/platforms/chibios/GENERIC_STM32_F042X6/board/board.c
+++ b/platforms/chibios/GENERIC_STM32_F042X6/board/board.c
@@ -202,16 +202,12 @@ static void stm32_gpio_init(void) {
 /* Driver exported functions.                                                */
 /*===========================================================================*/
 
-__attribute__((weak)) void enter_bootloader_mode_if_requested(void) {}
-
 /**
  * @brief   Early initialization code.
  * @details GPIO ports and system clocks are initialized before everything
  *          else.
  */
 void __early_init(void) {
-  enter_bootloader_mode_if_requested();
-
   stm32_gpio_init();
   stm32_clock_init();
 }