summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2022-03-10 23:18:07 +1100
committerGitHub <noreply@github.com>2022-03-10 12:18:07 +0000
commitbd70f5261cbb7fd4700bf9876da94c9661dadf63 (patch)
treee88eb58a89650625674cdd779794aec957f4522e
parentdc8db6551d2d11534920d1d723d06a99c1b93071 (diff)
Remove `matrix_key_count()` (#16603)
* Remove `matrix_key_count()` * Remove `matrix_bitpop()`
-rw-r--r--keyboards/40percentclub/ut47/matrix.c9
-rw-r--r--keyboards/amj96/matrix.c9
-rwxr-xr-xkeyboards/bpiphany/hid_liber/matrix.c12
-rw-r--r--keyboards/bpiphany/kitten_paw/matrix.c8
-rw-r--r--keyboards/bpiphany/pegasushoof/2013/matrix.c9
-rw-r--r--keyboards/bpiphany/pegasushoof/2015/matrix.c9
-rw-r--r--keyboards/bpiphany/tiger_lily/matrix.c7
-rw-r--r--keyboards/bpiphany/unloved_bastard/matrix.c7
-rw-r--r--keyboards/converter/ibm_terminal/matrix.c1
-rw-r--r--keyboards/converter/palm_usb/matrix.c9
-rw-r--r--keyboards/converter/sun_usb/matrix.c9
-rw-r--r--keyboards/converter/usb_usb/custom_matrix.cpp12
-rw-r--r--keyboards/dc01/arrow/matrix.c16
-rw-r--r--keyboards/dc01/left/matrix.c14
-rw-r--r--keyboards/dc01/numpad/matrix.c16
-rw-r--r--keyboards/dc01/right/matrix.c16
-rwxr-xr-xkeyboards/dichotomy/matrix.c12
-rw-r--r--keyboards/duck/jetfire/matrix.c11
-rw-r--r--keyboards/gboards/ergotaco/matrix.c9
-rw-r--r--keyboards/gboards/georgi/matrix.c9
-rw-r--r--keyboards/gboards/gergo/matrix.c8
-rw-r--r--keyboards/gboards/gergoplex/matrix.c7
-rw-r--r--keyboards/handwired/dactyl/matrix.c9
-rw-r--r--keyboards/handwired/frenchdev/matrix.c9
-rw-r--r--keyboards/handwired/owlet60/matrix.c12
-rw-r--r--keyboards/handwired/promethium/matrix.c13
-rw-r--r--keyboards/handwired/pterodactyl/matrix.c9
-rw-r--r--keyboards/helix/rev2/custom/matrix.c9
-rw-r--r--keyboards/hhkb/ansi/matrix.c8
-rw-r--r--keyboards/hhkb/jp/matrix.c8
-rwxr-xr-xkeyboards/honeycomb/matrix.c12
-rw-r--r--keyboards/hotdox/matrix.c9
-rw-r--r--keyboards/kakunpc/angel64/alpha/matrix.c12
-rw-r--r--keyboards/kakunpc/angel64/rev1/matrix.c12
-rw-r--r--keyboards/kakunpc/thedogkeyboard/matrix.c12
-rw-r--r--keyboards/kinesis/alvicstep/matrix.c9
-rw-r--r--keyboards/kmac/matrix.c11
-rwxr-xr-xkeyboards/kmini/matrix.c9
-rw-r--r--keyboards/ktec/ergodone/matrix.c9
-rw-r--r--keyboards/moon/matrix.c11
-rw-r--r--keyboards/nek_type_a/matrix.c14
-rwxr-xr-xkeyboards/redscarf_iiplus/verb/matrix.c13
-rwxr-xr-xkeyboards/redscarf_iiplus/verc/matrix.c13
-rw-r--r--keyboards/redscarf_iiplus/verd/matrix.c13
-rw-r--r--keyboards/sirius/unigo66/custom_matrix.cpp12
-rw-r--r--keyboards/sixkeyboard/matrix.c10
-rw-r--r--keyboards/sx60/matrix.c12
-rw-r--r--keyboards/woodkeys/meira/matrix.c13
-rw-r--r--keyboards/ymdk/sp64/matrix.c9
-rw-r--r--keyboards/yosino58/rev1/matrix.c9
-rw-r--r--quantum/matrix_common.c11
51 files changed, 4 insertions, 527 deletions
diff --git a/keyboards/40percentclub/ut47/matrix.c b/keyboards/40percentclub/ut47/matrix.c
index 89537592c5..97922e2dbe 100644
--- a/keyboards/40percentclub/ut47/matrix.c
+++ b/keyboards/40percentclub/ut47/matrix.c
@@ -118,15 +118,6 @@ void matrix_print(void)
118 } 118 }
119} 119}
120 120
121uint8_t matrix_key_count(void)
122{
123 uint8_t count = 0;
124 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
125 count += bitpop16(matrix[i]);
126 }
127 return count;
128}
129
130/* Column pin configuration 121/* Column pin configuration
131 * col: 0 1 2 3 4 5 6 7 8 9 10 11 122 * col: 0 1 2 3 4 5 6 7 8 9 10 11
132 * pin: D7 E6 B4 B5 B6 B2 B3 B1 F7 F6 F5 F4 123 * pin: D7 E6 B4 B5 B6 B2 B3 B1 F7 F6 F5 F4
diff --git a/keyboards/amj96/matrix.c b/keyboards/amj96/matrix.c
index ffd66d120f..2999c6241b 100644
--- a/keyboards/amj96/matrix.c
+++ b/keyboards/amj96/matrix.c
@@ -130,15 +130,6 @@ void matrix_print(void)
130 } 130 }
131} 131}
132 132
133uint8_t matrix_key_count(void)
134{
135 uint8_t count = 0;
136 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
137 count += bitpop16(matrix[i]);
138 }
139 return count;
140}
141
142/* Column pin configuration 133/* Column pin configuration
143 * col: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 134 * col: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
144 * pin: F7 F6 F5 F4 F1 F0 E6 D7 D6 D5 D1 D0 B7 B6 B0 C7 135 * pin: F7 F6 F5 F4 F1 F0 E6 D7 D6 D5 D1 D0 B7 B6 B0 C7
diff --git a/keyboards/bpiphany/hid_liber/matrix.c b/keyboards/bpiphany/hid_liber/matrix.c
index da73c616d7..90e8a327b5 100755
--- a/keyboards/bpiphany/hid_liber/matrix.c
+++ b/keyboards/bpiphany/hid_liber/matrix.c
@@ -245,15 +245,3 @@ void matrix_print(void)
245 print("\n"); 245 print("\n");
246 } 246 }
247} 247}
248
249uint8_t matrix_key_count(void)
250{
251 uint8_t count = 0;
252 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
253 for (uint8_t j = 0; j < MATRIX_COLS; j++) {
254 if (matrix_is_on(i, j))
255 count++;
256 }
257 }
258 return count;
259}
diff --git a/keyboards/bpiphany/kitten_paw/matrix.c b/keyboards/bpiphany/kitten_paw/matrix.c
index 56114858f1..6548040c7c 100644
--- a/keyboards/bpiphany/kitten_paw/matrix.c
+++ b/keyboards/bpiphany/kitten_paw/matrix.c
@@ -132,14 +132,6 @@ void matrix_print(void) {
132 } 132 }
133} 133}
134 134
135uint8_t matrix_key_count(void) {
136 uint8_t count = 0;
137 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
138 count += bitpop32(matrix[i]);
139 }
140 return count;
141}
142
143static uint8_t read_rows(void) { 135static uint8_t read_rows(void) {
144 return 136 return
145 (PINC&(1<<7) ? 0 : (1<<0)) | 137 (PINC&(1<<7) ? 0 : (1<<0)) |
diff --git a/keyboards/bpiphany/pegasushoof/2013/matrix.c b/keyboards/bpiphany/pegasushoof/2013/matrix.c
index 09244982d9..a55cba7afd 100644
--- a/keyboards/bpiphany/pegasushoof/2013/matrix.c
+++ b/keyboards/bpiphany/pegasushoof/2013/matrix.c
@@ -132,15 +132,6 @@ void matrix_print(void)
132 } 132 }
133} 133}
134 134
135uint8_t matrix_key_count(void)
136{
137 uint8_t count = 0;
138 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
139 count += bitpop16(matrix[i]);
140 }
141 return count;
142}
143
144static matrix_row_t read_cols(void) 135static matrix_row_t read_cols(void)
145{ 136{
146 return 137 return
diff --git a/keyboards/bpiphany/pegasushoof/2015/matrix.c b/keyboards/bpiphany/pegasushoof/2015/matrix.c
index b05869feda..2b142f9fc8 100644
--- a/keyboards/bpiphany/pegasushoof/2015/matrix.c
+++ b/keyboards/bpiphany/pegasushoof/2015/matrix.c
@@ -111,15 +111,6 @@ void matrix_print(void)
111 } 111 }
112} 112}
113 113
114uint8_t matrix_key_count(void)
115{
116 uint8_t count = 0;
117 for (uint8_t i = 0; i < matrix_rows(); i++) {
118 count += bitpop16(matrix_get_row(i));
119 }
120 return count;
121}
122
123static matrix_row_t read_cols(void) 114static matrix_row_t read_cols(void)
124{ 115{
125 return 116 return
diff --git a/keyboards/bpiphany/tiger_lily/matrix.c b/keyboards/bpiphany/tiger_lily/matrix.c
index 47a92268c8..abf6f3f42b 100644
--- a/keyboards/bpiphany/tiger_lily/matrix.c
+++ b/keyboards/bpiphany/tiger_lily/matrix.c
@@ -146,10 +146,3 @@ void matrix_print(void) {
146 } 146 }
147 #endif 147 #endif
148} 148}
149
150uint8_t matrix_key_count(void) {
151 uint8_t count = 0;
152 for (uint8_t row = 0; row < MATRIX_ROWS; row++)
153 count += bitpop32(matrix[row]);
154 return count;
155}
diff --git a/keyboards/bpiphany/unloved_bastard/matrix.c b/keyboards/bpiphany/unloved_bastard/matrix.c
index 328d9015c2..98cdf22f48 100644
--- a/keyboards/bpiphany/unloved_bastard/matrix.c
+++ b/keyboards/bpiphany/unloved_bastard/matrix.c
@@ -147,10 +147,3 @@ void matrix_print(void) {
147 } 147 }
148#endif 148#endif
149} 149}
150
151uint8_t matrix_key_count(void) {
152 uint8_t count = 0;
153 for (uint8_t row = 0; row < MATRIX_ROWS; row++)
154 count += bitpop32(matrix[row]);
155 return count;
156}
diff --git a/keyboards/converter/ibm_terminal/matrix.c b/keyboards/converter/ibm_terminal/matrix.c
index caa0a38051..3d6736a0cc 100644
--- a/keyboards/converter/ibm_terminal/matrix.c
+++ b/keyboards/converter/ibm_terminal/matrix.c
@@ -27,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27 27
28#define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 28#define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
29#define print_matrix_header() print("\nr/c 01234567\n") 29#define print_matrix_header() print("\nr/c 01234567\n")
30#define matrix_bitpop(i) bitpop(matrix[i])
31#define ROW_SHIFTER ((uint8_t)1) 30#define ROW_SHIFTER ((uint8_t)1)
32 31
33 32
diff --git a/keyboards/converter/palm_usb/matrix.c b/keyboards/converter/palm_usb/matrix.c
index 010fd56c79..28d4b87d83 100644
--- a/keyboards/converter/palm_usb/matrix.c
+++ b/keyboards/converter/palm_usb/matrix.c
@@ -379,12 +379,3 @@ void matrix_print(void)
379 print("\n"); 379 print("\n");
380 } 380 }
381} 381}
382
383uint8_t matrix_key_count(void)
384{
385 uint8_t count = 0;
386 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
387 count += bitpop(matrix[i]);
388 }
389 return count;
390}
diff --git a/keyboards/converter/sun_usb/matrix.c b/keyboards/converter/sun_usb/matrix.c
index e28d165d52..35ec391024 100644
--- a/keyboards/converter/sun_usb/matrix.c
+++ b/keyboards/converter/sun_usb/matrix.c
@@ -179,12 +179,3 @@ void matrix_print(void)
179 print("\n"); 179 print("\n");
180 } 180 }
181} 181}
182
183uint8_t matrix_key_count(void)
184{
185 uint8_t count = 0;
186 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
187 count += bitpop(matrix[i]);
188 }
189 return count;
190}
diff --git a/keyboards/converter/usb_usb/custom_matrix.cpp b/keyboards/converter/usb_usb/custom_matrix.cpp
index 265fb2c68d..00b5bc5053 100644
--- a/keyboards/converter/usb_usb/custom_matrix.cpp
+++ b/keyboards/converter/usb_usb/custom_matrix.cpp
@@ -225,18 +225,6 @@ extern "C"
225 return row_bits; 225 return row_bits;
226 } 226 }
227 227
228 uint8_t matrix_key_count(void) {
229 uint8_t count = 0;
230
231 count += bitpop(local_keyboard_report.mods);
232 for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
233 if (IS_ANY(local_keyboard_report.keys[i])) {
234 count++;
235 }
236 }
237 return count;
238 }
239
240 void matrix_print(void) { 228 void matrix_print(void) {
241 print("\nr/c 0123456789ABCDEF\n"); 229 print("\nr/c 0123456789ABCDEF\n");
242 for (uint8_t row = 0; row < matrix_rows(); row++) { 230 for (uint8_t row = 0; row < matrix_rows(); row++) {
diff --git a/keyboards/dc01/arrow/matrix.c b/keyboards/dc01/arrow/matrix.c
index b69e147914..e7c3bec2b5 100644
--- a/keyboards/dc01/arrow/matrix.c
+++ b/keyboards/dc01/arrow/matrix.c
@@ -48,17 +48,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
48#if (MATRIX_COLS <= 8) 48#if (MATRIX_COLS <= 8)
49# define print_matrix_header() print("\nr/c 01234567\n") 49# define print_matrix_header() print("\nr/c 01234567\n")
50# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 50# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
51# define matrix_bitpop(i) bitpop(matrix[i])
52# define ROW_SHIFTER ((uint8_t)1) 51# define ROW_SHIFTER ((uint8_t)1)
53#elif (MATRIX_COLS <= 16) 52#elif (MATRIX_COLS <= 16)
54# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 53# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
55# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 54# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
56# define matrix_bitpop(i) bitpop16(matrix[i])
57# define ROW_SHIFTER ((uint16_t)1) 55# define ROW_SHIFTER ((uint16_t)1)
58#elif (MATRIX_COLS <= 32) 56#elif (MATRIX_COLS <= 32)
59# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 57# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
60# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 58# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
61# define matrix_bitpop(i) bitpop32(matrix[i])
62# define ROW_SHIFTER ((uint32_t)1) 59# define ROW_SHIFTER ((uint32_t)1)
63#endif 60#endif
64 61
@@ -234,17 +231,6 @@ void matrix_print(void)
234 } 231 }
235} 232}
236 233
237uint8_t matrix_key_count(void)
238{
239 uint8_t count = 0;
240 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
241 count += matrix_bitpop(i);
242 }
243 return count;
244}
245
246
247
248#if (DIODE_DIRECTION == COL2ROW) 234#if (DIODE_DIRECTION == COL2ROW)
249 235
250static void init_cols(void) 236static void init_cols(void)
@@ -388,4 +374,4 @@ static void unselect_cols(void)
388void matrix_setup(void){ 374void matrix_setup(void){
389 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c 375 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
390 sei(); //enable interupts 376 sei(); //enable interupts
391} \ No newline at end of file 377}
diff --git a/keyboards/dc01/left/matrix.c b/keyboards/dc01/left/matrix.c
index 3eeb2586bc..8b8f89a081 100644
--- a/keyboards/dc01/left/matrix.c
+++ b/keyboards/dc01/left/matrix.c
@@ -52,17 +52,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
52#if (MATRIX_COLS <= 8) 52#if (MATRIX_COLS <= 8)
53# define print_matrix_header() print("\nr/c 01234567\n") 53# define print_matrix_header() print("\nr/c 01234567\n")
54# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 54# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
55# define matrix_bitpop(i) bitpop(matrix[i])
56# define ROW_SHIFTER ((uint8_t)1) 55# define ROW_SHIFTER ((uint8_t)1)
57#elif (MATRIX_COLS <= 16) 56#elif (MATRIX_COLS <= 16)
58# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 57# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
59# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 58# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
60# define matrix_bitpop(i) bitpop16(matrix[i])
61# define ROW_SHIFTER ((uint16_t)1) 59# define ROW_SHIFTER ((uint16_t)1)
62#elif (MATRIX_COLS <= 32) 60#elif (MATRIX_COLS <= 32)
63# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 61# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
64# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 62# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
65# define matrix_bitpop(i) bitpop32(matrix[i])
66# define ROW_SHIFTER ((uint32_t)1) 63# define ROW_SHIFTER ((uint32_t)1)
67#endif 64#endif
68 65
@@ -259,17 +256,6 @@ void matrix_print(void)
259 } 256 }
260} 257}
261 258
262uint8_t matrix_key_count(void)
263{
264 uint8_t count = 0;
265 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
266 count += matrix_bitpop(i);
267 }
268 return count;
269}
270
271
272
273#if (DIODE_DIRECTION == COL2ROW) 259#if (DIODE_DIRECTION == COL2ROW)
274 260
275static void init_cols(void) 261static void init_cols(void)
diff --git a/keyboards/dc01/numpad/matrix.c b/keyboards/dc01/numpad/matrix.c
index e8e2a1b14a..1dc90a6b84 100644
--- a/keyboards/dc01/numpad/matrix.c
+++ b/keyboards/dc01/numpad/matrix.c
@@ -48,17 +48,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
48#if (MATRIX_COLS <= 8) 48#if (MATRIX_COLS <= 8)
49# define print_matrix_header() print("\nr/c 01234567\n") 49# define print_matrix_header() print("\nr/c 01234567\n")
50# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 50# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
51# define matrix_bitpop(i) bitpop(matrix[i])
52# define ROW_SHIFTER ((uint8_t)1) 51# define ROW_SHIFTER ((uint8_t)1)
53#elif (MATRIX_COLS <= 16) 52#elif (MATRIX_COLS <= 16)
54# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 53# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
55# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 54# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
56# define matrix_bitpop(i) bitpop16(matrix[i])
57# define ROW_SHIFTER ((uint16_t)1) 55# define ROW_SHIFTER ((uint16_t)1)
58#elif (MATRIX_COLS <= 32) 56#elif (MATRIX_COLS <= 32)
59# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 57# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
60# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 58# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
61# define matrix_bitpop(i) bitpop32(matrix[i])
62# define ROW_SHIFTER ((uint32_t)1) 59# define ROW_SHIFTER ((uint32_t)1)
63#endif 60#endif
64 61
@@ -234,17 +231,6 @@ void matrix_print(void)
234 } 231 }
235} 232}
236 233
237uint8_t matrix_key_count(void)
238{
239 uint8_t count = 0;
240 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
241 count += matrix_bitpop(i);
242 }
243 return count;
244}
245
246
247
248#if (DIODE_DIRECTION == COL2ROW) 234#if (DIODE_DIRECTION == COL2ROW)
249 235
250static void init_cols(void) 236static void init_cols(void)
@@ -388,4 +374,4 @@ static void unselect_cols(void)
388void matrix_setup(void){ 374void matrix_setup(void){
389 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c 375 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
390 sei(); //enable interupts 376 sei(); //enable interupts
391} \ No newline at end of file 377}
diff --git a/keyboards/dc01/right/matrix.c b/keyboards/dc01/right/matrix.c
index 2509bd7d4c..f21dec1d2b 100644
--- a/keyboards/dc01/right/matrix.c
+++ b/keyboards/dc01/right/matrix.c
@@ -49,17 +49,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
49#if (MATRIX_COLS <= 8) 49#if (MATRIX_COLS <= 8)
50# define print_matrix_header() print("\nr/c 01234567\n") 50# define print_matrix_header() print("\nr/c 01234567\n")
51# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 51# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
52# define matrix_bitpop(i) bitpop(matrix[i])
53# define ROW_SHIFTER ((uint8_t)1) 52# define ROW_SHIFTER ((uint8_t)1)
54#elif (MATRIX_COLS <= 16) 53#elif (MATRIX_COLS <= 16)
55# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 54# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
56# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 55# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
57# define matrix_bitpop(i) bitpop16(matrix[i])
58# define ROW_SHIFTER ((uint16_t)1) 56# define ROW_SHIFTER ((uint16_t)1)
59#elif (MATRIX_COLS <= 32) 57#elif (MATRIX_COLS <= 32)
60# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 58# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
61# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 59# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
62# define matrix_bitpop(i) bitpop32(matrix[i])
63# define ROW_SHIFTER ((uint32_t)1) 60# define ROW_SHIFTER ((uint32_t)1)
64#endif 61#endif
65 62
@@ -235,17 +232,6 @@ void matrix_print(void)
235 } 232 }
236} 233}
237 234
238uint8_t matrix_key_count(void)
239{
240 uint8_t count = 0;
241 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
242 count += matrix_bitpop(i);
243 }
244 return count;
245}
246
247
248
249#if (DIODE_DIRECTION == COL2ROW) 235#if (DIODE_DIRECTION == COL2ROW)
250 236
251static void init_cols(void) 237static void init_cols(void)
@@ -389,4 +375,4 @@ static void unselect_cols(void)
389void matrix_setup(void){ 375void matrix_setup(void){
390 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c 376 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
391 sei(); //enable interupts 377 sei(); //enable interupts
392} \ No newline at end of file 378}
diff --git a/keyboards/dichotomy/matrix.c b/keyboards/dichotomy/matrix.c
index 806b66d498..dc90e7501e 100755
--- a/keyboards/dichotomy/matrix.c
+++ b/keyboards/dichotomy/matrix.c
@@ -34,17 +34,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
34#if (MATRIX_COLS <= 8) 34#if (MATRIX_COLS <= 8)
35# define print_matrix_header() print("\nr/c 01234567\n") 35# define print_matrix_header() print("\nr/c 01234567\n")
36# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 36# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
37# define matrix_bitpop(i) bitpop(matrix[i])
38# define ROW_SHIFTER ((uint8_t)1) 37# define ROW_SHIFTER ((uint8_t)1)
39#elif (MATRIX_COLS <= 16) 38#elif (MATRIX_COLS <= 16)
40# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 39# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
41# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 40# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
42# define matrix_bitpop(i) bitpop16(matrix[i])
43# define ROW_SHIFTER ((uint16_t)1) 41# define ROW_SHIFTER ((uint16_t)1)
44#elif (MATRIX_COLS <= 32) 42#elif (MATRIX_COLS <= 32)
45# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 43# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
46# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 44# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
47# define matrix_bitpop(i) bitpop32(matrix[i])
48# define ROW_SHIFTER ((uint32_t)1) 45# define ROW_SHIFTER ((uint32_t)1)
49#endif 46#endif
50 47
@@ -215,12 +212,3 @@ void matrix_print(void)
215 print("\n"); 212 print("\n");
216 } 213 }
217} 214}
218
219uint8_t matrix_key_count(void)
220{
221 uint8_t count = 0;
222 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
223 count += matrix_bitpop(i);
224 }
225 return count;
226}
diff --git a/keyboards/duck/jetfire/matrix.c b/keyboards/duck/jetfire/matrix.c
index 729fa6dd14..2b64885842 100644
--- a/keyboards/duck/jetfire/matrix.c
+++ b/keyboards/duck/jetfire/matrix.c
@@ -136,15 +136,6 @@ void matrix_print(void)
136 } 136 }
137} 137}
138 138
139uint8_t matrix_key_count(void)
140{
141 uint8_t count = 0;
142 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
143 count += bitpop32(matrix[i]);
144 }
145 return count;
146}
147
148static void init_ports(void) 139static void init_ports(void)
149{ 140{
150 // Rows are inputs (inputs are 0) 141 // Rows are inputs (inputs are 0)
@@ -268,4 +259,4 @@ static void select_col(uint8_t col)
268 PORTB |= 0b00000001; 259 PORTB |= 0b00000001;
269 break; 260 break;
270 } 261 }
271} \ No newline at end of file 262}
diff --git a/keyboards/gboards/ergotaco/matrix.c b/keyboards/gboards/ergotaco/matrix.c
index 16300a7e4f..7e5d675218 100644
--- a/keyboards/gboards/ergotaco/matrix.c
+++ b/keyboards/gboards/ergotaco/matrix.c
@@ -221,15 +221,6 @@ void matrix_print(void)
221 } 221 }
222} 222}
223 223
224uint8_t matrix_key_count(void)
225{
226 uint8_t count = 0;
227 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
228 count += bitpop16(matrix[i]);
229 }
230 return count;
231}
232
233// Remember this means ROWS 224// Remember this means ROWS
234static void init_cols(void) 225static void init_cols(void)
235{ 226{
diff --git a/keyboards/gboards/georgi/matrix.c b/keyboards/gboards/georgi/matrix.c
index 7d635ad8d7..24bb2d7acf 100644
--- a/keyboards/gboards/georgi/matrix.c
+++ b/keyboards/gboards/georgi/matrix.c
@@ -242,15 +242,6 @@ void matrix_print(void)
242 } 242 }
243} 243}
244 244
245uint8_t matrix_key_count(void)
246{
247 uint8_t count = 0;
248 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
249 count += bitpop16(matrix[i]);
250 }
251 return count;
252}
253
254// Remember this means ROWS 245// Remember this means ROWS
255static void init_cols(void) 246static void init_cols(void)
256{ 247{
diff --git a/keyboards/gboards/gergo/matrix.c b/keyboards/gboards/gergo/matrix.c
index 443e97132b..3898246e30 100644
--- a/keyboards/gboards/gergo/matrix.c
+++ b/keyboards/gboards/gergo/matrix.c
@@ -286,14 +286,6 @@ void matrix_print(void) {
286 } 286 }
287} 287}
288 288
289uint8_t matrix_key_count(void) {
290 uint8_t count = 0;
291 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
292 count += bitpop16(matrix[i]);
293 }
294 return count;
295}
296
297// Remember this means ROWS 289// Remember this means ROWS
298static void init_cols(void) { 290static void init_cols(void) {
299 // init on mcp23018 291 // init on mcp23018
diff --git a/keyboards/gboards/gergoplex/matrix.c b/keyboards/gboards/gergoplex/matrix.c
index a075b85725..d5b046fe40 100644
--- a/keyboards/gboards/gergoplex/matrix.c
+++ b/keyboards/gboards/gergoplex/matrix.c
@@ -164,13 +164,6 @@ void matrix_print(void) {
164 print("\n"); 164 print("\n");
165 } 165 }
166} 166}
167uint8_t matrix_key_count(void) {
168 uint8_t count = 0;
169 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
170 count += bitpop16(matrix[i]);
171 }
172 return count;
173}
174 167
175// Remember this means ROWS 168// Remember this means ROWS
176static void init_cols(void) { 169static void init_cols(void) {
diff --git a/keyboards/handwired/dactyl/matrix.c b/keyboards/handwired/dactyl/matrix.c
index a70e8c5aca..5869b43c1b 100644
--- a/keyboards/handwired/dactyl/matrix.c
+++ b/keyboards/handwired/dactyl/matrix.c
@@ -307,15 +307,6 @@ void matrix_print(void)
307 } 307 }
308} 308}
309 309
310uint8_t matrix_key_count(void)
311{
312 uint8_t count = 0;
313 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
314 count += bitpop16(matrix[i]);
315 }
316 return count;
317}
318
319#if (DIODE_DIRECTION == COL2ROW) 310#if (DIODE_DIRECTION == COL2ROW)
320 311
321static void init_cols(void) { 312static void init_cols(void) {
diff --git a/keyboards/handwired/frenchdev/matrix.c b/keyboards/handwired/frenchdev/matrix.c
index a043f78538..6dec9c6a74 100644
--- a/keyboards/handwired/frenchdev/matrix.c
+++ b/keyboards/handwired/frenchdev/matrix.c
@@ -196,15 +196,6 @@ void matrix_print(void)
196 } 196 }
197} 197}
198 198
199uint8_t matrix_key_count(void)
200{
201 uint8_t count = 0;
202 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
203 count += bitpop16(matrix[i]);
204 }
205 return count;
206}
207
208/* Column pin configuration 199/* Column pin configuration
209 * 200 *
210 * Teensy 201 * Teensy
diff --git a/keyboards/handwired/owlet60/matrix.c b/keyboards/handwired/owlet60/matrix.c
index 211273d1fa..3b68c08b45 100644
--- a/keyboards/handwired/owlet60/matrix.c
+++ b/keyboards/handwired/owlet60/matrix.c
@@ -33,17 +33,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
33#if (MATRIX_COLS <= 8) 33#if (MATRIX_COLS <= 8)
34# define print_matrix_header() print("\nr/c 01234567\n") 34# define print_matrix_header() print("\nr/c 01234567\n")
35# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 35# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
36# define matrix_bitpop(i) bitpop(matrix[i])
37# define ROW_SHIFTER ((uint8_t)1) 36# define ROW_SHIFTER ((uint8_t)1)
38#elif (MATRIX_COLS <= 16) 37#elif (MATRIX_COLS <= 16)
39# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 38# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
40# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 39# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
41# define matrix_bitpop(i) bitpop16(matrix[i])
42# define ROW_SHIFTER ((uint16_t)1) 40# define ROW_SHIFTER ((uint16_t)1)
43#elif (MATRIX_COLS <= 32) 41#elif (MATRIX_COLS <= 32)
44# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 42# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
45# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 43# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
46# define matrix_bitpop(i) bitpop32(matrix[i])
47# define ROW_SHIFTER ((uint32_t)1) 44# define ROW_SHIFTER ((uint32_t)1)
48#endif 45#endif
49 46
@@ -130,15 +127,6 @@ void matrix_print(void)
130 } 127 }
131} 128}
132 129
133uint8_t matrix_key_count(void)
134{
135 uint8_t count = 0;
136 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
137 count += matrix_bitpop(i);
138 }
139 return count;
140}
141
142// uses standard row code 130// uses standard row code
143static void select_row(uint8_t row) 131static void select_row(uint8_t row)
144{ 132{
diff --git a/keyboards/handwired/promethium/matrix.c b/keyboards/handwired/promethium/matrix.c
index 90dbce14a9..3b03ab8893 100644
--- a/keyboards/handwired/promethium/matrix.c
+++ b/keyboards/handwired/promethium/matrix.c
@@ -43,17 +43,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
43#if (MATRIX_COLS <= 8) 43#if (MATRIX_COLS <= 8)
44# define print_matrix_header() print("\nr/c 01234567\n") 44# define print_matrix_header() print("\nr/c 01234567\n")
45# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 45# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
46# define matrix_bitpop(i) bitpop(matrix[i])
47# define ROW_SHIFTER ((uint8_t)1) 46# define ROW_SHIFTER ((uint8_t)1)
48#elif (MATRIX_COLS <= 16) 47#elif (MATRIX_COLS <= 16)
49# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 48# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
50# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 49# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
51# define matrix_bitpop(i) bitpop16(matrix[i])
52# define ROW_SHIFTER ((uint16_t)1) 50# define ROW_SHIFTER ((uint16_t)1)
53#elif (MATRIX_COLS <= 32) 51#elif (MATRIX_COLS <= 32)
54# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 52# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
55# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 53# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
56# define matrix_bitpop(i) bitpop32(matrix[i])
57# define ROW_SHIFTER ((uint32_t)1) 54# define ROW_SHIFTER ((uint32_t)1)
58#endif 55#endif
59 56
@@ -178,16 +175,6 @@ void matrix_print(void)
178 } 175 }
179} 176}
180 177
181uint8_t matrix_key_count(void)
182{
183 uint8_t count = 0;
184 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
185 count += matrix_bitpop(i);
186 }
187 return count;
188}
189
190
191#define ROW_MASK 0b11100000 178#define ROW_MASK 0b11100000
192 179
193static const uint8_t row_bit[MATRIX_ROWS] = { 180static const uint8_t row_bit[MATRIX_ROWS] = {
diff --git a/keyboards/handwired/pterodactyl/matrix.c b/keyboards/handwired/pterodactyl/matrix.c
index d0f74802a0..9d81a64bb4 100644
--- a/keyboards/handwired/pterodactyl/matrix.c
+++ b/keyboards/handwired/pterodactyl/matrix.c
@@ -308,15 +308,6 @@ void matrix_print(void)
308 } 308 }
309} 309}
310 310
311uint8_t matrix_key_count(void)
312{
313 uint8_t count = 0;
314 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
315 count += bitpop16(matrix[i]);
316 }
317 return count;
318}
319
320#if (DIODE_DIRECTION == COL2ROW) 311#if (DIODE_DIRECTION == COL2ROW)
321 312
322static void init_cols(void) { 313static void init_cols(void) {
diff --git a/keyboards/helix/rev2/custom/matrix.c b/keyboards/helix/rev2/custom/matrix.c
index 699c15358b..5221d7fd4e 100644
--- a/keyboards/helix/rev2/custom/matrix.c
+++ b/keyboards/helix/rev2/custom/matrix.c
@@ -309,15 +309,6 @@ void matrix_print(void)
309 } 309 }
310} 310}
311 311
312uint8_t matrix_key_count(void)
313{
314 uint8_t count = 0;
315 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
316 count += bitpop16(matrix[i]);
317 }
318 return count;
319}
320
321static void init_cols(void) 312static void init_cols(void)
322{ 313{
323 for(int x = 0; x < MATRIX_COLS; x++) { 314 for(int x = 0; x < MATRIX_COLS; x++) {
diff --git a/keyboards/hhkb/ansi/matrix.c b/keyboards/hhkb/ansi/matrix.c
index 5dde74cce9..8b0e4606bc 100644
--- a/keyboards/hhkb/ansi/matrix.c
+++ b/keyboards/hhkb/ansi/matrix.c
@@ -189,14 +189,6 @@ void matrix_print(void)
189 } 189 }
190} 190}
191 191
192uint8_t matrix_key_count(void) {
193 uint8_t count = 0;
194 for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {
195 count += bitpop16(matrix_get_row(r));
196 }
197 return count;
198}
199
200void matrix_power_up(void) { 192void matrix_power_up(void) {
201 KEY_POWER_ON(); 193 KEY_POWER_ON();
202} 194}
diff --git a/keyboards/hhkb/jp/matrix.c b/keyboards/hhkb/jp/matrix.c
index 81db77fca7..9d04d62849 100644
--- a/keyboards/hhkb/jp/matrix.c
+++ b/keyboards/hhkb/jp/matrix.c
@@ -190,14 +190,6 @@ void matrix_print(void)
190 } 190 }
191} 191}
192 192
193uint8_t matrix_key_count(void) {
194 uint8_t count = 0;
195 for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {
196 count += bitpop16(matrix_get_row(r));
197 }
198 return count;
199}
200
201void matrix_power_up(void) { 193void matrix_power_up(void) {
202 KEY_POWER_ON(); 194 KEY_POWER_ON();
203} 195}
diff --git a/keyboards/honeycomb/matrix.c b/keyboards/honeycomb/matrix.c
index fe1e4ce8ff..9a87ca9a2e 100755
--- a/keyboards/honeycomb/matrix.c
+++ b/keyboards/honeycomb/matrix.c
@@ -35,17 +35,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
35#if (MATRIX_COLS <= 8) 35#if (MATRIX_COLS <= 8)
36# define print_matrix_header() print("\nr/c 01234567\n") 36# define print_matrix_header() print("\nr/c 01234567\n")
37# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 37# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
38# define matrix_bitpop(i) bitpop(matrix[i])
39# define ROW_SHIFTER ((uint8_t)1) 38# define ROW_SHIFTER ((uint8_t)1)
40#elif (MATRIX_COLS <= 16) 39#elif (MATRIX_COLS <= 16)
41# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 40# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
42# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 41# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
43# define matrix_bitpop(i) bitpop16(matrix[i])
44# define ROW_SHIFTER ((uint16_t)1) 42# define ROW_SHIFTER ((uint16_t)1)
45#elif (MATRIX_COLS <= 32) 43#elif (MATRIX_COLS <= 32)
46# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 44# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
47# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 45# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
48# define matrix_bitpop(i) bitpop32(matrix[i])
49# define ROW_SHIFTER ((uint32_t)1) 46# define ROW_SHIFTER ((uint32_t)1)
50#endif 47#endif
51 48
@@ -191,12 +188,3 @@ void matrix_print(void)
191 print("\n"); 188 print("\n");
192 } 189 }
193} 190}
194
195uint8_t matrix_key_count(void)
196{
197 uint8_t count = 0;
198 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
199 count += matrix_bitpop(i);
200 }
201 return count;
202}
diff --git a/keyboards/hotdox/matrix.c b/keyboards/hotdox/matrix.c
index 5d0b0f6dd5..0da5a3e3a2 100644
--- a/keyboards/hotdox/matrix.c
+++ b/keyboards/hotdox/matrix.c
@@ -160,15 +160,6 @@ void matrix_print(void)
160 } 160 }
161} 161}
162 162
163uint8_t matrix_key_count(void)
164{
165 uint8_t count = 0;
166 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
167 count += bitpop16(matrix[i]);
168 }
169 return count;
170}
171
172static void init_cols(void) 163static void init_cols(void)
173{ 164{
174 // Pro Micro 165 // Pro Micro
diff --git a/keyboards/kakunpc/angel64/alpha/matrix.c b/keyboards/kakunpc/angel64/alpha/matrix.c
index 2851859cf2..8ca9841e48 100644
--- a/keyboards/kakunpc/angel64/alpha/matrix.c
+++ b/keyboards/kakunpc/angel64/alpha/matrix.c
@@ -27,17 +27,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27#if (MATRIX_COLS <= 8) 27#if (MATRIX_COLS <= 8)
28# define print_matrix_header() print("\nr/c 01234567\n") 28# define print_matrix_header() print("\nr/c 01234567\n")
29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
30# define matrix_bitpop(i) bitpop(matrix[i])
31# define ROW_SHIFTER ((uint8_t)1) 30# define ROW_SHIFTER ((uint8_t)1)
32#elif (MATRIX_COLS <= 16) 31#elif (MATRIX_COLS <= 16)
33# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 32# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
34# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 33# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
35# define matrix_bitpop(i) bitpop16(matrix[i])
36# define ROW_SHIFTER ((uint16_t)1) 34# define ROW_SHIFTER ((uint16_t)1)
37#elif (MATRIX_COLS <= 32) 35#elif (MATRIX_COLS <= 32)
38# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 36# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
39# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 37# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
40# define matrix_bitpop(i) bitpop32(matrix[i])
41# define ROW_SHIFTER ((uint32_t)1) 38# define ROW_SHIFTER ((uint32_t)1)
42#endif 39#endif
43 40
@@ -119,15 +116,6 @@ void matrix_print(void)
119 } 116 }
120} 117}
121 118
122uint8_t matrix_key_count(void)
123{
124 uint8_t count = 0;
125 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
126 count += matrix_bitpop(i);
127 }
128 return count;
129}
130
131static void select_row(uint8_t row) 119static void select_row(uint8_t row)
132{ 120{
133 setPinOutput(row_pins[row]); 121 setPinOutput(row_pins[row]);
diff --git a/keyboards/kakunpc/angel64/rev1/matrix.c b/keyboards/kakunpc/angel64/rev1/matrix.c
index 2851859cf2..8ca9841e48 100644
--- a/keyboards/kakunpc/angel64/rev1/matrix.c
+++ b/keyboards/kakunpc/angel64/rev1/matrix.c
@@ -27,17 +27,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27#if (MATRIX_COLS <= 8) 27#if (MATRIX_COLS <= 8)
28# define print_matrix_header() print("\nr/c 01234567\n") 28# define print_matrix_header() print("\nr/c 01234567\n")
29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
30# define matrix_bitpop(i) bitpop(matrix[i])
31# define ROW_SHIFTER ((uint8_t)1) 30# define ROW_SHIFTER ((uint8_t)1)
32#elif (MATRIX_COLS <= 16) 31#elif (MATRIX_COLS <= 16)
33# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 32# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
34# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 33# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
35# define matrix_bitpop(i) bitpop16(matrix[i])
36# define ROW_SHIFTER ((uint16_t)1) 34# define ROW_SHIFTER ((uint16_t)1)
37#elif (MATRIX_COLS <= 32) 35#elif (MATRIX_COLS <= 32)
38# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 36# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
39# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 37# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
40# define matrix_bitpop(i) bitpop32(matrix[i])
41# define ROW_SHIFTER ((uint32_t)1) 38# define ROW_SHIFTER ((uint32_t)1)
42#endif 39#endif
43 40
@@ -119,15 +116,6 @@ void matrix_print(void)
119 } 116 }
120} 117}
121 118
122uint8_t matrix_key_count(void)
123{
124 uint8_t count = 0;
125 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
126 count += matrix_bitpop(i);
127 }
128 return count;
129}
130
131static void select_row(uint8_t row) 119static void select_row(uint8_t row)
132{ 120{
133 setPinOutput(row_pins[row]); 121 setPinOutput(row_pins[row]);
diff --git a/keyboards/kakunpc/thedogkeyboard/matrix.c b/keyboards/kakunpc/thedogkeyboard/matrix.c
index 2851859cf2..8ca9841e48 100644
--- a/keyboards/kakunpc/thedogkeyboard/matrix.c
+++ b/keyboards/kakunpc/thedogkeyboard/matrix.c
@@ -27,17 +27,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27#if (MATRIX_COLS <= 8) 27#if (MATRIX_COLS <= 8)
28# define print_matrix_header() print("\nr/c 01234567\n") 28# define print_matrix_header() print("\nr/c 01234567\n")
29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
30# define matrix_bitpop(i) bitpop(matrix[i])
31# define ROW_SHIFTER ((uint8_t)1) 30# define ROW_SHIFTER ((uint8_t)1)
32#elif (MATRIX_COLS <= 16) 31#elif (MATRIX_COLS <= 16)
33# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 32# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
34# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 33# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
35# define matrix_bitpop(i) bitpop16(matrix[i])
36# define ROW_SHIFTER ((uint16_t)1) 34# define ROW_SHIFTER ((uint16_t)1)
37#elif (MATRIX_COLS <= 32) 35#elif (MATRIX_COLS <= 32)
38# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 36# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
39# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 37# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
40# define matrix_bitpop(i) bitpop32(matrix[i])
41# define ROW_SHIFTER ((uint32_t)1) 38# define ROW_SHIFTER ((uint32_t)1)
42#endif 39#endif
43 40
@@ -119,15 +116,6 @@ void matrix_print(void)
119 } 116 }
120} 117}
121 118
122uint8_t matrix_key_count(void)
123{
124 uint8_t count = 0;
125 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
126 count += matrix_bitpop(i);
127 }
128 return count;
129}
130
131static void select_row(uint8_t row) 119static void select_row(uint8_t row)
132{ 120{
133 setPinOutput(row_pins[row]); 121 setPinOutput(row_pins[row]);
diff --git a/keyboards/kinesis/alvicstep/matrix.c b/keyboards/kinesis/alvicstep/matrix.c
index 9c05374510..5636418849 100644
--- a/keyboards/kinesis/alvicstep/matrix.c
+++ b/keyboards/kinesis/alvicstep/matrix.c
@@ -158,15 +158,6 @@ void matrix_print(void)
158 } 158 }
159} 159}
160 160
161uint8_t matrix_key_count(void)
162{
163 uint8_t count = 0;
164 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
165 count += bitpop16(matrix[i]);
166 }
167 return count;
168}
169
170static matrix_row_t read_row(uint8_t row) 161static matrix_row_t read_row(uint8_t row)
171{ 162{
172 _delay_us(30); // without this wait read unstable value. 163 _delay_us(30); // without this wait read unstable value.
diff --git a/keyboards/kmac/matrix.c b/keyboards/kmac/matrix.c
index 3d5a3081d1..2052a9be71 100644
--- a/keyboards/kmac/matrix.c
+++ b/keyboards/kmac/matrix.c
@@ -27,17 +27,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27#if (MATRIX_COLS <= 8) 27#if (MATRIX_COLS <= 8)
28# define print_matrix_header() print("\nr/c 01234567\n") 28# define print_matrix_header() print("\nr/c 01234567\n")
29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
30# define matrix_bitpop(i) bitpop(matrix[i])
31# define ROW_SHIFTER ((uint8_t)1) 30# define ROW_SHIFTER ((uint8_t)1)
32#elif (MATRIX_COLS <= 16) 31#elif (MATRIX_COLS <= 16)
33# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 32# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
34# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 33# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
35# define matrix_bitpop(i) bitpop16(matrix[i])
36# define ROW_SHIFTER ((uint16_t)1) 34# define ROW_SHIFTER ((uint16_t)1)
37#elif (MATRIX_COLS <= 32) 35#elif (MATRIX_COLS <= 32)
38# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 36# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
39# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 37# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
40# define matrix_bitpop(i) bitpop32(matrix[i])
41# define ROW_SHIFTER ((uint32_t)1) 38# define ROW_SHIFTER ((uint32_t)1)
42#endif 39#endif
43 40
@@ -79,14 +76,6 @@ void matrix_print(void) {
79 } 76 }
80} 77}
81 78
82uint8_t matrix_key_count(void) {
83 uint8_t count = 0;
84 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
85 count += matrix_bitpop(i);
86 }
87 return count;
88}
89
90/* Columns 0 - 15 79/* Columns 0 - 15
91 * These columns uses two 74HC237D 3 to 8 bit demultiplexers. 80 * These columns uses two 74HC237D 3 to 8 bit demultiplexers.
92 * col / pin: PB6 PC6 PC7 PF1 PF0 81 * col / pin: PB6 PC6 PC7 PF1 PF0
diff --git a/keyboards/kmini/matrix.c b/keyboards/kmini/matrix.c
index eee19054ea..f3e60eb869 100755
--- a/keyboards/kmini/matrix.c
+++ b/keyboards/kmini/matrix.c
@@ -132,15 +132,6 @@ void matrix_print(void)
132 } 132 }
133} 133}
134 134
135uint8_t matrix_key_count(void)
136{
137 uint8_t count = 0;
138 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
139 count += bitpop32(matrix[i]);
140 }
141 return count;
142}
143
144static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) 135static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
145{ 136{
146 bool matrix_changed = false; 137 bool matrix_changed = false;
diff --git a/keyboards/ktec/ergodone/matrix.c b/keyboards/ktec/ergodone/matrix.c
index 3973ff3484..529974532a 100644
--- a/keyboards/ktec/ergodone/matrix.c
+++ b/keyboards/ktec/ergodone/matrix.c
@@ -158,15 +158,6 @@ void matrix_print(void)
158 } 158 }
159} 159}
160 160
161uint8_t matrix_key_count(void)
162{
163 uint8_t count = 0;
164 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
165 count += bitpop16(matrix[i]);
166 }
167 return count;
168}
169
170/* Column pin configuration 161/* Column pin configuration
171 * 162 *
172 * Pro Micro: 6 5 4 3 2 1 0 163 * Pro Micro: 6 5 4 3 2 1 0
diff --git a/keyboards/moon/matrix.c b/keyboards/moon/matrix.c
index 0615b60ad3..977338b2f6 100644
--- a/keyboards/moon/matrix.c
+++ b/keyboards/moon/matrix.c
@@ -76,17 +76,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
76#if (MATRIX_COLS <= 8) 76#if (MATRIX_COLS <= 8)
77# define print_matrix_header() print("\nr/c 01234567\n") 77# define print_matrix_header() print("\nr/c 01234567\n")
78# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 78# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
79# define matrix_bitpop(i) bitpop(matrix[i])
80# define ROW_SHIFTER ((uint8_t)1) 79# define ROW_SHIFTER ((uint8_t)1)
81#elif (MATRIX_COLS <= 16) 80#elif (MATRIX_COLS <= 16)
82# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 81# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
83# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 82# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
84# define matrix_bitpop(i) bitpop16(matrix[i])
85# define ROW_SHIFTER ((uint16_t)1) 83# define ROW_SHIFTER ((uint16_t)1)
86#elif (MATRIX_COLS <= 32) 84#elif (MATRIX_COLS <= 32)
87# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 85# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
88# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 86# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
89# define matrix_bitpop(i) bitpop32(matrix[i])
90# define ROW_SHIFTER ((uint32_t)1) 87# define ROW_SHIFTER ((uint32_t)1)
91#endif 88#endif
92 89
@@ -125,14 +122,6 @@ void matrix_print(void) {
125 } 122 }
126} 123}
127 124
128uint8_t matrix_key_count(void) {
129 uint8_t count = 0;
130 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
131 count += matrix_bitpop(i);
132 }
133 return count;
134}
135
136static void init_i2c(void) { 125static void init_i2c(void) {
137 pca9555_init(IC1); 126 pca9555_init(IC1);
138 pca9555_init(IC2); 127 pca9555_init(IC2);
diff --git a/keyboards/nek_type_a/matrix.c b/keyboards/nek_type_a/matrix.c
index b396be9911..2989af5108 100644
--- a/keyboards/nek_type_a/matrix.c
+++ b/keyboards/nek_type_a/matrix.c
@@ -50,17 +50,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
50#if (MATRIX_COLS <= 8) 50#if (MATRIX_COLS <= 8)
51# define print_matrix_header() print("\nr/c 01234567\n") 51# define print_matrix_header() print("\nr/c 01234567\n")
52# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 52# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
53# define matrix_bitpop(i) bitpop(matrix[i])
54# define ROW_SHIFTER ((uint8_t)1) 53# define ROW_SHIFTER ((uint8_t)1)
55#elif (MATRIX_COLS <= 16) 54#elif (MATRIX_COLS <= 16)
56# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 55# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
57# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 56# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
58# define matrix_bitpop(i) bitpop16(matrix[i])
59# define ROW_SHIFTER ((uint16_t)1) 57# define ROW_SHIFTER ((uint16_t)1)
60#elif (MATRIX_COLS <= 32) 58#elif (MATRIX_COLS <= 32)
61# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 59# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
62# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 60# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
63# define matrix_bitpop(i) bitpop32(matrix[i])
64# define ROW_SHIFTER ((uint32_t)1) 61# define ROW_SHIFTER ((uint32_t)1)
65#endif 62#endif
66 63
@@ -234,17 +231,6 @@ void matrix_print(void)
234 } 231 }
235} 232}
236 233
237uint8_t matrix_key_count(void)
238{
239 uint8_t count = 0;
240 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
241 count += matrix_bitpop(i);
242 }
243 return count;
244}
245
246
247
248#if (DIODE_DIRECTION == COL2ROW) 234#if (DIODE_DIRECTION == COL2ROW)
249 235
250static void init_cols(void) 236static void init_cols(void)
diff --git a/keyboards/redscarf_iiplus/verb/matrix.c b/keyboards/redscarf_iiplus/verb/matrix.c
index 88ecb586b3..930d246434 100755
--- a/keyboards/redscarf_iiplus/verb/matrix.c
+++ b/keyboards/redscarf_iiplus/verb/matrix.c
@@ -27,17 +27,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27#if (MATRIX_COLS <= 8) 27#if (MATRIX_COLS <= 8)
28# define print_matrix_header() print("\nr/c 01234567\n") 28# define print_matrix_header() print("\nr/c 01234567\n")
29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
30# define matrix_bitpop(i) bitpop(matrix[i])
31# define ROW_SHIFTER ((uint8_t)1) 30# define ROW_SHIFTER ((uint8_t)1)
32#elif (MATRIX_COLS <= 16) 31#elif (MATRIX_COLS <= 16)
33# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 32# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
34# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 33# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
35# define matrix_bitpop(i) bitpop16(matrix[i])
36# define ROW_SHIFTER ((uint16_t)1) 34# define ROW_SHIFTER ((uint16_t)1)
37#elif (MATRIX_COLS <= 32) 35#elif (MATRIX_COLS <= 32)
38# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 36# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
39# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 37# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
40# define matrix_bitpop(i) bitpop32(matrix[i])
41# define ROW_SHIFTER ((uint32_t)1) 38# define ROW_SHIFTER ((uint32_t)1)
42#endif 39#endif
43 40
@@ -123,16 +120,6 @@ void matrix_print(void)
123 } 120 }
124} 121}
125 122
126uint8_t matrix_key_count(void)
127{
128 uint8_t count = 0;
129 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
130 count += matrix_bitpop(i);
131 }
132 return count;
133}
134
135
136#ifdef DIRECT_PINS 123#ifdef DIRECT_PINS
137 124
138static void init_pins(void) { 125static void init_pins(void) {
diff --git a/keyboards/redscarf_iiplus/verc/matrix.c b/keyboards/redscarf_iiplus/verc/matrix.c
index 88ecb586b3..930d246434 100755
--- a/keyboards/redscarf_iiplus/verc/matrix.c
+++ b/keyboards/redscarf_iiplus/verc/matrix.c
@@ -27,17 +27,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27#if (MATRIX_COLS <= 8) 27#if (MATRIX_COLS <= 8)
28# define print_matrix_header() print("\nr/c 01234567\n") 28# define print_matrix_header() print("\nr/c 01234567\n")
29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
30# define matrix_bitpop(i) bitpop(matrix[i])
31# define ROW_SHIFTER ((uint8_t)1) 30# define ROW_SHIFTER ((uint8_t)1)
32#elif (MATRIX_COLS <= 16) 31#elif (MATRIX_COLS <= 16)
33# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 32# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
34# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 33# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
35# define matrix_bitpop(i) bitpop16(matrix[i])
36# define ROW_SHIFTER ((uint16_t)1) 34# define ROW_SHIFTER ((uint16_t)1)
37#elif (MATRIX_COLS <= 32) 35#elif (MATRIX_COLS <= 32)
38# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 36# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
39# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 37# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
40# define matrix_bitpop(i) bitpop32(matrix[i])
41# define ROW_SHIFTER ((uint32_t)1) 38# define ROW_SHIFTER ((uint32_t)1)
42#endif 39#endif
43 40
@@ -123,16 +120,6 @@ void matrix_print(void)
123 } 120 }
124} 121}
125 122
126uint8_t matrix_key_count(void)
127{
128 uint8_t count = 0;
129 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
130 count += matrix_bitpop(i);
131 }
132 return count;
133}
134
135
136#ifdef DIRECT_PINS 123#ifdef DIRECT_PINS
137 124
138static void init_pins(void) { 125static void init_pins(void) {
diff --git a/keyboards/redscarf_iiplus/verd/matrix.c b/keyboards/redscarf_iiplus/verd/matrix.c
index d9dbb3c0a3..b703932229 100644
--- a/keyboards/redscarf_iiplus/verd/matrix.c
+++ b/keyboards/redscarf_iiplus/verd/matrix.c
@@ -27,17 +27,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27#if (MATRIX_COLS <= 8) 27#if (MATRIX_COLS <= 8)
28# define print_matrix_header() print("\nr/c 01234567\n") 28# define print_matrix_header() print("\nr/c 01234567\n")
29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 29# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
30# define matrix_bitpop(i) bitpop(matrix[i])
31# define ROW_SHIFTER ((uint8_t)1) 30# define ROW_SHIFTER ((uint8_t)1)
32#elif (MATRIX_COLS <= 16) 31#elif (MATRIX_COLS <= 16)
33# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 32# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
34# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 33# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
35# define matrix_bitpop(i) bitpop16(matrix[i])
36# define ROW_SHIFTER ((uint16_t)1) 34# define ROW_SHIFTER ((uint16_t)1)
37#elif (MATRIX_COLS <= 32) 35#elif (MATRIX_COLS <= 32)
38# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 36# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
39# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 37# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
40# define matrix_bitpop(i) bitpop32(matrix[i])
41# define ROW_SHIFTER ((uint32_t)1) 38# define ROW_SHIFTER ((uint32_t)1)
42#endif 39#endif
43 40
@@ -123,16 +120,6 @@ void matrix_print(void)
123 } 120 }
124} 121}
125 122
126uint8_t matrix_key_count(void)
127{
128 uint8_t count = 0;
129 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
130 count += matrix_bitpop(i);
131 }
132 return count;
133}
134
135
136#ifdef DIRECT_PINS 123#ifdef DIRECT_PINS
137 124
138static void init_pins(void) { 125static void init_pins(void) {
diff --git a/keyboards/sirius/unigo66/custom_matrix.cpp b/keyboards/sirius/unigo66/custom_matrix.cpp
index 955ce189a8..72e120400f 100644
--- a/keyboards/sirius/unigo66/custom_matrix.cpp
+++ b/keyboards/sirius/unigo66/custom_matrix.cpp
@@ -205,18 +205,6 @@ extern "C"
205 return row_bits; 205 return row_bits;
206 } 206 }
207 207
208 uint8_t matrix_key_count(void) {
209 uint8_t count = 0;
210
211 count += bitpop(local_keyboard_report.mods);
212 for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
213 if (IS_ANY(local_keyboard_report.keys[i])) {
214 count++;
215 }
216 }
217 return count;
218 }
219
220 void matrix_print(void) { 208 void matrix_print(void) {
221 print("\nr/c 0123456789ABCDEF\n"); 209 print("\nr/c 0123456789ABCDEF\n");
222 for (uint8_t row = 0; row < matrix_rows(); row++) { 210 for (uint8_t row = 0; row < matrix_rows(); row++) {
diff --git a/keyboards/sixkeyboard/matrix.c b/keyboards/sixkeyboard/matrix.c
index a6b28f3a12..36ae05fb42 100644
--- a/keyboards/sixkeyboard/matrix.c
+++ b/keyboards/sixkeyboard/matrix.c
@@ -129,13 +129,3 @@ matrix_row_t matrix_get_row(uint8_t row)
129void matrix_print(void) 129void matrix_print(void)
130{ 130{
131} 131}
132
133uint8_t matrix_key_count(void)
134{
135 uint8_t count = 0;
136 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
137 count += bitpop16(matrix[i]);
138 }
139 return count;
140}
141
diff --git a/keyboards/sx60/matrix.c b/keyboards/sx60/matrix.c
index 231e1c8836..94d581f574 100644
--- a/keyboards/sx60/matrix.c
+++ b/keyboards/sx60/matrix.c
@@ -42,17 +42,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
42#if (MATRIX_COLS <= 8) 42#if (MATRIX_COLS <= 8)
43# define print_matrix_header() print("\nr/c 01234567\n") 43# define print_matrix_header() print("\nr/c 01234567\n")
44# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 44# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
45# define matrix_bitpop(i) bitpop(matrix[i])
46# define ROW_SHIFTER ((uint8_t)1) 45# define ROW_SHIFTER ((uint8_t)1)
47#elif (MATRIX_COLS <= 16) 46#elif (MATRIX_COLS <= 16)
48# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 47# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
49# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 48# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
50# define matrix_bitpop(i) bitpop16(matrix[i])
51# define ROW_SHIFTER ((uint16_t)1) 49# define ROW_SHIFTER ((uint16_t)1)
52#elif (MATRIX_COLS <= 32) 50#elif (MATRIX_COLS <= 32)
53# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 51# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
54# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 52# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
55# define matrix_bitpop(i) bitpop32(matrix[i])
56# define ROW_SHIFTER ((uint32_t)1) 53# define ROW_SHIFTER ((uint32_t)1)
57#endif 54#endif
58 55
@@ -201,15 +198,6 @@ void matrix_print(void)
201 } 198 }
202} 199}
203 200
204uint8_t matrix_key_count(void)
205{
206 uint8_t count = 0;
207 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
208 count += matrix_bitpop(i);
209 }
210 return count;
211}
212
213static void init_cols(void) 201static void init_cols(void)
214{ 202{
215 for(uint8_t x = 0; x < ATMEGA_COLS; x++) { 203 for(uint8_t x = 0; x < ATMEGA_COLS; x++) {
diff --git a/keyboards/woodkeys/meira/matrix.c b/keyboards/woodkeys/meira/matrix.c
index 8e8e9485b4..4fdc354237 100644
--- a/keyboards/woodkeys/meira/matrix.c
+++ b/keyboards/woodkeys/meira/matrix.c
@@ -45,17 +45,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
45#if (MATRIX_COLS <= 8) 45#if (MATRIX_COLS <= 8)
46# define print_matrix_header() print("\nr/c 01234567\n") 46# define print_matrix_header() print("\nr/c 01234567\n")
47# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 47# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
48# define matrix_bitpop(i) bitpop(matrix[i])
49# define ROW_SHIFTER ((uint8_t)1) 48# define ROW_SHIFTER ((uint8_t)1)
50#elif (MATRIX_COLS <= 16) 49#elif (MATRIX_COLS <= 16)
51# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 50# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
52# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 51# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
53# define matrix_bitpop(i) bitpop16(matrix[i])
54# define ROW_SHIFTER ((uint16_t)1) 52# define ROW_SHIFTER ((uint16_t)1)
55#elif (MATRIX_COLS <= 32) 53#elif (MATRIX_COLS <= 32)
56# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 54# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
57# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 55# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
58# define matrix_bitpop(i) bitpop32(matrix[i])
59# define ROW_SHIFTER ((uint32_t)1) 56# define ROW_SHIFTER ((uint32_t)1)
60#endif 57#endif
61 58
@@ -183,16 +180,6 @@ void matrix_print(void)
183 } 180 }
184} 181}
185 182
186uint8_t matrix_key_count(void)
187{
188 uint8_t count = 0;
189 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
190 count += bitpop16(matrix[i]);
191 }
192 return count;
193}
194
195
196static void init_rows(void) 183static void init_rows(void)
197{ 184{
198 for(uint8_t x = 0; x < MATRIX_ROWS; x++) { 185 for(uint8_t x = 0; x < MATRIX_ROWS; x++) {
diff --git a/keyboards/ymdk/sp64/matrix.c b/keyboards/ymdk/sp64/matrix.c
index 9a6e37bcdc..69276c7b3c 100644
--- a/keyboards/ymdk/sp64/matrix.c
+++ b/keyboards/ymdk/sp64/matrix.c
@@ -154,15 +154,6 @@ void matrix_print(void)
154 } 154 }
155} 155}
156 156
157uint8_t matrix_key_count(void)
158{
159 uint8_t count = 0;
160 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
161 count += bitpop16(matrix[i]);
162 }
163 return count;
164}
165
166static void matrix_select_row(uint8_t row) 157static void matrix_select_row(uint8_t row)
167{ 158{
168#ifdef RIGHT_HALF 159#ifdef RIGHT_HALF
diff --git a/keyboards/yosino58/rev1/matrix.c b/keyboards/yosino58/rev1/matrix.c
index e2be7113bf..802ce00cc6 100644
--- a/keyboards/yosino58/rev1/matrix.c
+++ b/keyboards/yosino58/rev1/matrix.c
@@ -311,15 +311,6 @@ void matrix_print(void)
311 } 311 }
312} 312}
313 313
314uint8_t matrix_key_count(void)
315{
316 uint8_t count = 0;
317 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
318 count += bitpop16(matrix[i]);
319 }
320 return count;
321}
322
323static void init_cols(void) 314static void init_cols(void)
324{ 315{
325 for(int x = 0; x < MATRIX_COLS; x++) { 316 for(int x = 0; x < MATRIX_COLS; x++) {
diff --git a/quantum/matrix_common.c b/quantum/matrix_common.c
index 1497ceae71..2cf8484347 100644
--- a/quantum/matrix_common.c
+++ b/quantum/matrix_common.c
@@ -72,15 +72,12 @@ inline matrix_row_t matrix_get_row(uint8_t row) {
72#if (MATRIX_COLS <= 8) 72#if (MATRIX_COLS <= 8)
73# define print_matrix_header() print("\nr/c 01234567\n") 73# define print_matrix_header() print("\nr/c 01234567\n")
74# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 74# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
75# define matrix_bitpop(row) bitpop(matrix_get_row(row))
76#elif (MATRIX_COLS <= 16) 75#elif (MATRIX_COLS <= 16)
77# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 76# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
78# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 77# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
79# define matrix_bitpop(row) bitpop16(matrix_get_row(row))
80#elif (MATRIX_COLS <= 32) 78#elif (MATRIX_COLS <= 32)
81# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 79# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
82# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 80# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
83# define matrix_bitpop(row) bitpop32(matrix_get_row(row))
84#endif 81#endif
85 82
86void matrix_print(void) { 83void matrix_print(void) {
@@ -94,14 +91,6 @@ void matrix_print(void) {
94 } 91 }
95} 92}
96 93
97uint8_t matrix_key_count(void) {
98 uint8_t count = 0;
99 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
100 count += matrix_bitpop(i);
101 }
102 return count;
103}
104
105#ifdef SPLIT_KEYBOARD 94#ifdef SPLIT_KEYBOARD
106bool matrix_post_scan(void) { 95bool matrix_post_scan(void) {
107 bool changed = false; 96 bool changed = false;