From f29daff9b6ed178d1d9c3bdb5d504ca8782f8d5a Mon Sep 17 00:00:00 2001
From: Joel Challis <git@zvecr.com>
Date: Wed, 3 Apr 2024 23:14:03 +0100
Subject: [PATCH] Miscellaneous keyboard.json migrations (#23378)

---
 .../{info.json => v1/keyboard.json}           |  0
 keyboards/canary/canary60rgb/v1/rules.mk      |  1 -
 .../canary60rgb/{canary60rgb.c => v1/v1.c}    |  0
 .../qc60/{info.json => proto/keyboard.json}   |  0
 keyboards/handwired/qc60/proto/rules.mk       |  1 -
 .../{info.json => rev1/keyboard.json}         |  0
 .../split_5x7/{split_5x7.c => rev1/rev1.c}    |  0
 .../junco/{info.json => rev1/keyboard.json}   |  4 ++
 keyboards/junco/rev1/rules.mk                 |  1 +
 keyboards/junco/rules.mk                      |  8 ----
 .../{info.json => rev1/keyboard.json}         |  0
 keyboards/keaboard/rev1/rules.mk              |  1 -
 keyboards/melgeek/mj65/{ => rev3}/config.h    |  0
 .../mj65/{info.json => rev3/keyboard.json}    |  7 ++++
 keyboards/melgeek/mj65/rev3/rules.mk          | 13 -------
 keyboards/melgeek/mojo68/rev1/config.h        |  3 ++
 .../mojo68/{info.json => rev1/keyboard.json}  |  0
 keyboards/melgeek/mojo68/rev1/rules.mk        |  1 -
 keyboards/melgeek/mojo75/{ => rev1}/config.h  |  0
 .../mojo75/{info.json => rev1/keyboard.json}  |  0
 keyboards/melgeek/mojo75/rev1/rules.mk        |  1 -
 keyboards/melgeek/tegic/config.h              | 20 ----------
 .../melgeek/{mojo68 => tegic/rev1}/config.h   |  0
 .../tegic/{info.json => rev1/keyboard.json}   |  0
 keyboards/melgeek/tegic/rev1/rules.mk         |  1 -
 .../melgeek/z70ultra/{ => rev1}/config.h      |  0
 .../{info.json => rev1/keyboard.json}         |  0
 .../z70ultra/{z70ultra.c => rev1/rev1.c}      |  0
 keyboards/melgeek/z70ultra/rev1/rules.mk      |  1 -
 keyboards/miiiw/blackio83/config.h            | 20 ----------
 keyboards/miiiw/blackio83/rev_0100/config.h   |  3 ++
 .../miiiw/blackio83/{ => rev_0100}/halconf.h  |  0
 .../{info.json => rev_0100/keyboard.json}     |  0
 .../miiiw/blackio83/{ => rev_0100}/matrix.c   |  0
 .../miiiw/blackio83/{ => rev_0100}/mcuconf.h  |  0
 .../{blackio83.c => rev_0100/rev_0100.c}      |  2 +-
 .../{blackio83.h => rev_0100/rev_0100.h}      |  0
 keyboards/miiiw/blackio83/rev_0100/rules.mk   |  2 -
 .../{info.json => rev1/keyboard.json}         |  0
 keyboards/murcielago/rev1/rules.mk            |  1 -
 keyboards/polilla/{ => rev1}/chconf.h         |  0
 keyboards/polilla/rev1/config.h               | 22 -----------
 keyboards/polilla/{ => rev1}/halconf.h        |  0
 .../polilla/{info.json => rev1/keyboard.json} |  6 +++
 keyboards/polilla/{ => rev1}/mcuconf.h        |  0
 keyboards/polilla/rev1/rules.mk               |  1 -
 keyboards/qwertyydox/{ => rev1}/config.h      |  5 ---
 .../{info.json => rev1/keyboard.json}         | 10 +++++
 keyboards/qwertyydox/rev1/rules.mk            |  0
 keyboards/qwertyydox/rules.mk                 | 15 -------
 keyboards/spacetime/config.h                  | 39 -------------------
 keyboards/spacetime/info.json                 |  6 +++
 keyboards/spacetime/rev1/keyboard.json        |  1 +
 keyboards/spacetime/rev1/rules.mk             |  1 -
 keyboards/splitty/{ => rev1}/config.h         |  0
 .../splitty/{info.json => rev1/keyboard.json} |  7 ++++
 keyboards/splitty/rev1/rules.mk               |  0
 keyboards/splitty/rules.mk                    | 15 -------
 .../featherble/{info.json => keyboard.json}   |  2 +
 keyboards/woodkeys/meira/info.json            |  5 ++-
 .../woodkeys/meira/promicro/keyboard.json     |  3 ++
 keyboards/woodkeys/meira/rules.mk             | 13 -------
 62 files changed, 57 insertions(+), 185 deletions(-)
 rename keyboards/canary/canary60rgb/{info.json => v1/keyboard.json} (100%)
 delete mode 100644 keyboards/canary/canary60rgb/v1/rules.mk
 rename keyboards/canary/canary60rgb/{canary60rgb.c => v1/v1.c} (100%)
 rename keyboards/handwired/qc60/{info.json => proto/keyboard.json} (100%)
 delete mode 100644 keyboards/handwired/qc60/proto/rules.mk
 rename keyboards/handwired/stef9998/split_5x7/{info.json => rev1/keyboard.json} (100%)
 rename keyboards/handwired/stef9998/split_5x7/{split_5x7.c => rev1/rev1.c} (100%)
 rename keyboards/junco/{info.json => rev1/keyboard.json} (98%)
 rename keyboards/keaboard/{info.json => rev1/keyboard.json} (100%)
 delete mode 100644 keyboards/keaboard/rev1/rules.mk
 rename keyboards/melgeek/mj65/{ => rev3}/config.h (100%)
 rename keyboards/melgeek/mj65/{info.json => rev3/keyboard.json} (97%)
 rename keyboards/melgeek/mojo68/{info.json => rev1/keyboard.json} (100%)
 delete mode 100755 keyboards/melgeek/mojo68/rev1/rules.mk
 rename keyboards/melgeek/mojo75/{ => rev1}/config.h (100%)
 rename keyboards/melgeek/mojo75/{info.json => rev1/keyboard.json} (100%)
 delete mode 100644 keyboards/melgeek/mojo75/rev1/rules.mk
 delete mode 100755 keyboards/melgeek/tegic/config.h
 rename keyboards/melgeek/{mojo68 => tegic/rev1}/config.h (100%)
 rename keyboards/melgeek/tegic/{info.json => rev1/keyboard.json} (100%)
 delete mode 100755 keyboards/melgeek/tegic/rev1/rules.mk
 rename keyboards/melgeek/z70ultra/{ => rev1}/config.h (100%)
 rename keyboards/melgeek/z70ultra/{info.json => rev1/keyboard.json} (100%)
 rename keyboards/melgeek/z70ultra/{z70ultra.c => rev1/rev1.c} (100%)
 delete mode 100644 keyboards/melgeek/z70ultra/rev1/rules.mk
 delete mode 100644 keyboards/miiiw/blackio83/config.h
 rename keyboards/miiiw/blackio83/{ => rev_0100}/halconf.h (100%)
 rename keyboards/miiiw/blackio83/{info.json => rev_0100/keyboard.json} (100%)
 rename keyboards/miiiw/blackio83/{ => rev_0100}/matrix.c (100%)
 rename keyboards/miiiw/blackio83/{ => rev_0100}/mcuconf.h (100%)
 rename keyboards/miiiw/blackio83/{blackio83.c => rev_0100/rev_0100.c} (99%)
 rename keyboards/miiiw/blackio83/{blackio83.h => rev_0100/rev_0100.h} (100%)
 rename keyboards/murcielago/{info.json => rev1/keyboard.json} (100%)
 delete mode 100644 keyboards/murcielago/rev1/rules.mk
 rename keyboards/polilla/{ => rev1}/chconf.h (100%)
 rename keyboards/polilla/{ => rev1}/halconf.h (100%)
 rename keyboards/polilla/{info.json => rev1/keyboard.json} (97%)
 rename keyboards/polilla/{ => rev1}/mcuconf.h (100%)
 delete mode 100644 keyboards/polilla/rev1/rules.mk
 rename keyboards/qwertyydox/{ => rev1}/config.h (87%)
 rename keyboards/qwertyydox/{info.json => rev1/keyboard.json} (95%)
 delete mode 100644 keyboards/qwertyydox/rev1/rules.mk
 delete mode 100644 keyboards/spacetime/config.h
 create mode 100644 keyboards/spacetime/rev1/keyboard.json
 delete mode 100644 keyboards/spacetime/rev1/rules.mk
 rename keyboards/splitty/{ => rev1}/config.h (100%)
 rename keyboards/splitty/{info.json => rev1/keyboard.json} (97%)
 delete mode 100644 keyboards/splitty/rev1/rules.mk
 rename keyboards/woodkeys/meira/featherble/{info.json => keyboard.json} (50%)
 create mode 100644 keyboards/woodkeys/meira/promicro/keyboard.json

diff --git a/keyboards/canary/canary60rgb/info.json b/keyboards/canary/canary60rgb/v1/keyboard.json
similarity index 100%
rename from keyboards/canary/canary60rgb/info.json
rename to keyboards/canary/canary60rgb/v1/keyboard.json
diff --git a/keyboards/canary/canary60rgb/v1/rules.mk b/keyboards/canary/canary60rgb/v1/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/canary/canary60rgb/v1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/canary/canary60rgb/canary60rgb.c b/keyboards/canary/canary60rgb/v1/v1.c
similarity index 100%
rename from keyboards/canary/canary60rgb/canary60rgb.c
rename to keyboards/canary/canary60rgb/v1/v1.c
diff --git a/keyboards/handwired/qc60/info.json b/keyboards/handwired/qc60/proto/keyboard.json
similarity index 100%
rename from keyboards/handwired/qc60/info.json
rename to keyboards/handwired/qc60/proto/keyboard.json
diff --git a/keyboards/handwired/qc60/proto/rules.mk b/keyboards/handwired/qc60/proto/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/handwired/qc60/proto/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/handwired/stef9998/split_5x7/info.json b/keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json
similarity index 100%
rename from keyboards/handwired/stef9998/split_5x7/info.json
rename to keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json
diff --git a/keyboards/handwired/stef9998/split_5x7/split_5x7.c b/keyboards/handwired/stef9998/split_5x7/rev1/rev1.c
similarity index 100%
rename from keyboards/handwired/stef9998/split_5x7/split_5x7.c
rename to keyboards/handwired/stef9998/split_5x7/rev1/rev1.c
diff --git a/keyboards/junco/info.json b/keyboards/junco/rev1/keyboard.json
similarity index 98%
rename from keyboards/junco/info.json
rename to keyboards/junco/rev1/keyboard.json
index 6956ab4834..855628d3b1 100644
--- a/keyboards/junco/info.json
+++ b/keyboards/junco/rev1/keyboard.json
@@ -8,6 +8,9 @@
         "pid": "0x4A13",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true
+    },
     "matrix_pins": {
         "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7"],
         "rows": ["GP8", "GP9", "GP10", "GP11", "GP12"]
@@ -28,6 +31,7 @@
         ]
     },
     "split": {
+        "enabled": true,
         "encoder": {
             "right": {
                 "rotary": [
diff --git a/keyboards/junco/rev1/rules.mk b/keyboards/junco/rev1/rules.mk
index e69de29bb2..161ec22b16 100644
--- a/keyboards/junco/rev1/rules.mk
+++ b/keyboards/junco/rev1/rules.mk
@@ -0,0 +1 @@
+SERIAL_DRIVER = vendor
diff --git a/keyboards/junco/rules.mk b/keyboards/junco/rules.mk
index a04c7822f9..bb94741e5a 100644
--- a/keyboards/junco/rules.mk
+++ b/keyboards/junco/rules.mk
@@ -1,9 +1 @@
-# Split Keyboard Stuff
-SPLIT_KEYBOARD = yes
-SERIAL_DRIVER = vendor
-
-# Enable Bootmagic Lite
-BOOTMAGIC_ENABLE = yes
-
-# Default Folder
 DEFAULT_FOLDER = junco/rev1
diff --git a/keyboards/keaboard/info.json b/keyboards/keaboard/rev1/keyboard.json
similarity index 100%
rename from keyboards/keaboard/info.json
rename to keyboards/keaboard/rev1/keyboard.json
diff --git a/keyboards/keaboard/rev1/rules.mk b/keyboards/keaboard/rev1/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/keaboard/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/melgeek/mj65/config.h b/keyboards/melgeek/mj65/rev3/config.h
similarity index 100%
rename from keyboards/melgeek/mj65/config.h
rename to keyboards/melgeek/mj65/rev3/config.h
diff --git a/keyboards/melgeek/mj65/info.json b/keyboards/melgeek/mj65/rev3/keyboard.json
similarity index 97%
rename from keyboards/melgeek/mj65/info.json
rename to keyboards/melgeek/mj65/rev3/keyboard.json
index 773c9a3198..adf0ef94bc 100644
--- a/keyboards/melgeek/mj65/info.json
+++ b/keyboards/melgeek/mj65/rev3/keyboard.json
@@ -8,6 +8,13 @@
         "pid": "0x0065",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "mousekey": true,
+        "extrakey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "rgb_matrix": {
         "animations": {
             "alphas_mods": true,
diff --git a/keyboards/melgeek/mj65/rev3/rules.mk b/keyboards/melgeek/mj65/rev3/rules.mk
index 7a3d7020d9..8b7f40c50b 100644
--- a/keyboards/melgeek/mj65/rev3/rules.mk
+++ b/keyboards/melgeek/mj65/rev3/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes          # Mouse keys
-EXTRAKEY_ENABLE = yes          # Audio control and System control
-CONSOLE_ENABLE = no            # Console for debug
-COMMAND_ENABLE = no            # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no          # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no           # Enable keyboard RGB underglow
-RGB_MATRIX_ENABLE = yes        # Use RGB matrix
-
 RGB_MATRIX_SUPPORTED = yes
 RGBLIGHT_SUPPORTED   = no
 BACKLIGHT_SUPPORTED  = no
diff --git a/keyboards/melgeek/mojo68/rev1/config.h b/keyboards/melgeek/mojo68/rev1/config.h
index 960bf58c52..829eb63fe6 100755
--- a/keyboards/melgeek/mojo68/rev1/config.h
+++ b/keyboards/melgeek/mojo68/rev1/config.h
@@ -16,4 +16,7 @@
 
 #pragma once
 
+#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
+#define IS31FL3741_SDB_PIN B7
+
 #define DRIVER_INDICATOR_LED_TOTAL 3
diff --git a/keyboards/melgeek/mojo68/info.json b/keyboards/melgeek/mojo68/rev1/keyboard.json
similarity index 100%
rename from keyboards/melgeek/mojo68/info.json
rename to keyboards/melgeek/mojo68/rev1/keyboard.json
diff --git a/keyboards/melgeek/mojo68/rev1/rules.mk b/keyboards/melgeek/mojo68/rev1/rules.mk
deleted file mode 100755
index 6e7633bfe0..0000000000
--- a/keyboards/melgeek/mojo68/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/melgeek/mojo75/config.h b/keyboards/melgeek/mojo75/rev1/config.h
similarity index 100%
rename from keyboards/melgeek/mojo75/config.h
rename to keyboards/melgeek/mojo75/rev1/config.h
diff --git a/keyboards/melgeek/mojo75/info.json b/keyboards/melgeek/mojo75/rev1/keyboard.json
similarity index 100%
rename from keyboards/melgeek/mojo75/info.json
rename to keyboards/melgeek/mojo75/rev1/keyboard.json
diff --git a/keyboards/melgeek/mojo75/rev1/rules.mk b/keyboards/melgeek/mojo75/rev1/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/melgeek/mojo75/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/melgeek/tegic/config.h b/keyboards/melgeek/tegic/config.h
deleted file mode 100755
index 68088ba745..0000000000
--- a/keyboards/melgeek/tegic/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 MelGeek <melgeek001365@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define IS31FL3741_SDB_PIN B7
diff --git a/keyboards/melgeek/mojo68/config.h b/keyboards/melgeek/tegic/rev1/config.h
similarity index 100%
rename from keyboards/melgeek/mojo68/config.h
rename to keyboards/melgeek/tegic/rev1/config.h
diff --git a/keyboards/melgeek/tegic/info.json b/keyboards/melgeek/tegic/rev1/keyboard.json
similarity index 100%
rename from keyboards/melgeek/tegic/info.json
rename to keyboards/melgeek/tegic/rev1/keyboard.json
diff --git a/keyboards/melgeek/tegic/rev1/rules.mk b/keyboards/melgeek/tegic/rev1/rules.mk
deleted file mode 100755
index 6e7633bfe0..0000000000
--- a/keyboards/melgeek/tegic/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/melgeek/z70ultra/config.h b/keyboards/melgeek/z70ultra/rev1/config.h
similarity index 100%
rename from keyboards/melgeek/z70ultra/config.h
rename to keyboards/melgeek/z70ultra/rev1/config.h
diff --git a/keyboards/melgeek/z70ultra/info.json b/keyboards/melgeek/z70ultra/rev1/keyboard.json
similarity index 100%
rename from keyboards/melgeek/z70ultra/info.json
rename to keyboards/melgeek/z70ultra/rev1/keyboard.json
diff --git a/keyboards/melgeek/z70ultra/z70ultra.c b/keyboards/melgeek/z70ultra/rev1/rev1.c
similarity index 100%
rename from keyboards/melgeek/z70ultra/z70ultra.c
rename to keyboards/melgeek/z70ultra/rev1/rev1.c
diff --git a/keyboards/melgeek/z70ultra/rev1/rules.mk b/keyboards/melgeek/z70ultra/rev1/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/melgeek/z70ultra/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/miiiw/blackio83/config.h b/keyboards/miiiw/blackio83/config.h
deleted file mode 100644
index 055e8e3579..0000000000
--- a/keyboards/miiiw/blackio83/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 ArthurCyy <https://github.com/ArthurCyy>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// EEPROM i2c chip
-#define EEPROM_I2C_24LC256
diff --git a/keyboards/miiiw/blackio83/rev_0100/config.h b/keyboards/miiiw/blackio83/rev_0100/config.h
index b1eec364ed..008d1448f2 100644
--- a/keyboards/miiiw/blackio83/rev_0100/config.h
+++ b/keyboards/miiiw/blackio83/rev_0100/config.h
@@ -16,6 +16,9 @@
 
 #pragma once
 
+// EEPROM i2c chip
+#define EEPROM_I2C_24LC256
+
 #define POWER_SWITCH_PIN B0
 
 /* 16 with dummy columns for shift registers */
diff --git a/keyboards/miiiw/blackio83/halconf.h b/keyboards/miiiw/blackio83/rev_0100/halconf.h
similarity index 100%
rename from keyboards/miiiw/blackio83/halconf.h
rename to keyboards/miiiw/blackio83/rev_0100/halconf.h
diff --git a/keyboards/miiiw/blackio83/info.json b/keyboards/miiiw/blackio83/rev_0100/keyboard.json
similarity index 100%
rename from keyboards/miiiw/blackio83/info.json
rename to keyboards/miiiw/blackio83/rev_0100/keyboard.json
diff --git a/keyboards/miiiw/blackio83/matrix.c b/keyboards/miiiw/blackio83/rev_0100/matrix.c
similarity index 100%
rename from keyboards/miiiw/blackio83/matrix.c
rename to keyboards/miiiw/blackio83/rev_0100/matrix.c
diff --git a/keyboards/miiiw/blackio83/mcuconf.h b/keyboards/miiiw/blackio83/rev_0100/mcuconf.h
similarity index 100%
rename from keyboards/miiiw/blackio83/mcuconf.h
rename to keyboards/miiiw/blackio83/rev_0100/mcuconf.h
diff --git a/keyboards/miiiw/blackio83/blackio83.c b/keyboards/miiiw/blackio83/rev_0100/rev_0100.c
similarity index 99%
rename from keyboards/miiiw/blackio83/blackio83.c
rename to keyboards/miiiw/blackio83/rev_0100/rev_0100.c
index 8c80ebd73c..7af6861f53 100644
--- a/keyboards/miiiw/blackio83/blackio83.c
+++ b/keyboards/miiiw/blackio83/rev_0100/rev_0100.c
@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "blackio83.h"
+#include "rev_0100.h"
 #include "usb_main.h"
 #include "usb_util.h"
 
diff --git a/keyboards/miiiw/blackio83/blackio83.h b/keyboards/miiiw/blackio83/rev_0100/rev_0100.h
similarity index 100%
rename from keyboards/miiiw/blackio83/blackio83.h
rename to keyboards/miiiw/blackio83/rev_0100/rev_0100.h
diff --git a/keyboards/miiiw/blackio83/rev_0100/rules.mk b/keyboards/miiiw/blackio83/rev_0100/rules.mk
index 5558efa95d..7a361addb3 100644
--- a/keyboards/miiiw/blackio83/rev_0100/rules.mk
+++ b/keyboards/miiiw/blackio83/rev_0100/rules.mk
@@ -1,7 +1,5 @@
 CUSTOM_MATRIX = lite
 
-WS2812_DRIVER_REQUIRED := yes
-
 # Project specific files
 SRC += matrix.c \
 	   common/shift_register.c
diff --git a/keyboards/murcielago/info.json b/keyboards/murcielago/rev1/keyboard.json
similarity index 100%
rename from keyboards/murcielago/info.json
rename to keyboards/murcielago/rev1/keyboard.json
diff --git a/keyboards/murcielago/rev1/rules.mk b/keyboards/murcielago/rev1/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/murcielago/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/polilla/chconf.h b/keyboards/polilla/rev1/chconf.h
similarity index 100%
rename from keyboards/polilla/chconf.h
rename to keyboards/polilla/rev1/chconf.h
diff --git a/keyboards/polilla/rev1/config.h b/keyboards/polilla/rev1/config.h
index 3b3b9b0fb7..c2b8d7aff9 100644
--- a/keyboards/polilla/rev1/config.h
+++ b/keyboards/polilla/rev1/config.h
@@ -16,26 +16,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-
 #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/polilla/halconf.h b/keyboards/polilla/rev1/halconf.h
similarity index 100%
rename from keyboards/polilla/halconf.h
rename to keyboards/polilla/rev1/halconf.h
diff --git a/keyboards/polilla/info.json b/keyboards/polilla/rev1/keyboard.json
similarity index 97%
rename from keyboards/polilla/info.json
rename to keyboards/polilla/rev1/keyboard.json
index ea6c5aafa8..746f47963e 100644
--- a/keyboards/polilla/info.json
+++ b/keyboards/polilla/rev1/keyboard.json
@@ -23,6 +23,12 @@
     "diode_direction": "ROW2COL",
     "processor": "STM32F042",
     "bootloader": "stm32-dfu",
+    "qmk": {
+        "locking": {
+            "enabled": true,
+            "resync": true
+        }
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/polilla/mcuconf.h b/keyboards/polilla/rev1/mcuconf.h
similarity index 100%
rename from keyboards/polilla/mcuconf.h
rename to keyboards/polilla/rev1/mcuconf.h
diff --git a/keyboards/polilla/rev1/rules.mk b/keyboards/polilla/rev1/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/polilla/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/qwertyydox/config.h b/keyboards/qwertyydox/rev1/config.h
similarity index 87%
rename from keyboards/qwertyydox/config.h
rename to keyboards/qwertyydox/rev1/config.h
index 8e59e903ac..e5dc39eb77 100644
--- a/keyboards/qwertyydox/config.h
+++ b/keyboards/qwertyydox/rev1/config.h
@@ -17,11 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
 #define MOUSEKEY_DELAY             150
 #define MOUSEKEY_INTERVAL          20
 #define MOUSEKEY_MAX_SPEED         10
diff --git a/keyboards/qwertyydox/info.json b/keyboards/qwertyydox/rev1/keyboard.json
similarity index 95%
rename from keyboards/qwertyydox/info.json
rename to keyboards/qwertyydox/rev1/keyboard.json
index 5f1eb80da8..f2a335aa02 100644
--- a/keyboards/qwertyydox/info.json
+++ b/keyboards/qwertyydox/rev1/keyboard.json
@@ -9,6 +9,9 @@
     "pid": "0x1256",
     "device_version": "1.0.0"
   },
+  "features": {
+    "mousekey": true
+  },
   "matrix_pins": {
     "cols": ["F7", "F6", "F5", "C6", "D7", "D4", "D1"],
     "rows": ["B6", "B2", "B3", "B1"]
@@ -36,8 +39,15 @@
   },
   "diode_direction": "COL2ROW",
   "split": {
+    "enabled": true,
     "soft_serial_pin": "D0"
   },
+  "qmk": {
+    "locking": {
+        "enabled": true,
+        "resync": true
+    }
+  },
   "bootloader": "caterina",
   "processor": "atmega32u4",
   "layouts": {
diff --git a/keyboards/qwertyydox/rev1/rules.mk b/keyboards/qwertyydox/rev1/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/keyboards/qwertyydox/rules.mk b/keyboards/qwertyydox/rules.mk
index 9bcd2f0741..688444b566 100644
--- a/keyboards/qwertyydox/rules.mk
+++ b/keyboards/qwertyydox/rules.mk
@@ -1,16 +1 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = no       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = no        # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality
-AUDIO_ENABLE = no           # Audio output
-RGBLIGHT_ENABLE = no       # Enable WS2812 RGB underlight.
-
-SPLIT_KEYBOARD = yes
-
 DEFAULT_FOLDER = qwertyydox/rev1
diff --git a/keyboards/spacetime/config.h b/keyboards/spacetime/config.h
deleted file mode 100644
index b7ece10f6c..0000000000
--- a/keyboards/spacetime/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2019 Kyle Terry
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/spacetime/info.json b/keyboards/spacetime/info.json
index a55223b653..1e04608349 100644
--- a/keyboards/spacetime/info.json
+++ b/keyboards/spacetime/info.json
@@ -16,6 +16,12 @@
     "mousekey": true,
     "nkro": false
   },
+  "qmk": {
+    "locking": {
+        "enabled": true,
+        "resync": true
+    }
+  },
   "matrix_pins": {
     "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
     "rows": ["D4", "C6", "D7", "E6"]
diff --git a/keyboards/spacetime/rev1/keyboard.json b/keyboards/spacetime/rev1/keyboard.json
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/keyboards/spacetime/rev1/keyboard.json
@@ -0,0 +1 @@
+{}
diff --git a/keyboards/spacetime/rev1/rules.mk b/keyboards/spacetime/rev1/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/spacetime/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/splitty/config.h b/keyboards/splitty/rev1/config.h
similarity index 100%
rename from keyboards/splitty/config.h
rename to keyboards/splitty/rev1/config.h
diff --git a/keyboards/splitty/info.json b/keyboards/splitty/rev1/keyboard.json
similarity index 97%
rename from keyboards/splitty/info.json
rename to keyboards/splitty/rev1/keyboard.json
index 06e9c6a099..d820993dbc 100644
--- a/keyboards/splitty/info.json
+++ b/keyboards/splitty/rev1/keyboard.json
@@ -8,6 +8,13 @@
     "pid": "0x6052",
     "device_version": "0.0.1"
   },
+  "features": {
+    "mousekey": true,
+    "extrakey": true
+  },
+  "split": {
+    "enabled": true
+  },
   "matrix_pins": {
     "cols": ["B0", "B1", "B2", "B3", "B4", "B5", "B6"],
     "rows": ["F0", "F1", "D4", "D5", "D6"]
diff --git a/keyboards/splitty/rev1/rules.mk b/keyboards/splitty/rev1/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/keyboards/splitty/rules.mk b/keyboards/splitty/rules.mk
index 2389937b0b..68b3198bfb 100644
--- a/keyboards/splitty/rules.mk
+++ b/keyboards/splitty/rules.mk
@@ -1,16 +1 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
-SPLIT_KEYBOARD = yes
-
 DEFAULT_FOLDER = splitty/rev1
diff --git a/keyboards/woodkeys/meira/featherble/info.json b/keyboards/woodkeys/meira/featherble/keyboard.json
similarity index 50%
rename from keyboards/woodkeys/meira/featherble/info.json
rename to keyboards/woodkeys/meira/featherble/keyboard.json
index 2ce28918df..8dc946dd57 100644
--- a/keyboards/woodkeys/meira/featherble/info.json
+++ b/keyboards/woodkeys/meira/featherble/keyboard.json
@@ -1,4 +1,6 @@
 {
+    "processor": "atmega32u4",
+    "bootloader": "caterina",
     "bluetooth": {
         "driver": "bluefruit_le"
     }
diff --git a/keyboards/woodkeys/meira/info.json b/keyboards/woodkeys/meira/info.json
index 5fbcc9deaf..3ad2918d8e 100644
--- a/keyboards/woodkeys/meira/info.json
+++ b/keyboards/woodkeys/meira/info.json
@@ -8,8 +8,9 @@
         "pid": "0x6061",
         "device_version": "0.0.1"
     },
-    "processor": "atmega32u4",
-    "bootloader": "caterina",
+    "features": {
+        "extrakey": true
+    },
     "layout_aliases": {
         "LAYOUT": "LAYOUT_ortho_4x12"
     },
diff --git a/keyboards/woodkeys/meira/promicro/keyboard.json b/keyboards/woodkeys/meira/promicro/keyboard.json
new file mode 100644
index 0000000000..4c44b1c5bf
--- /dev/null
+++ b/keyboards/woodkeys/meira/promicro/keyboard.json
@@ -0,0 +1,3 @@
+{
+    "development_board": "promicro"
+}
diff --git a/keyboards/woodkeys/meira/rules.mk b/keyboards/woodkeys/meira/rules.mk
index bad7949ec0..423c14cfb7 100644
--- a/keyboards/woodkeys/meira/rules.mk
+++ b/keyboards/woodkeys/meira/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no        # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
 CUSTOM_MATRIX = yes
 SRC += matrix.c