282e916d86a5d353b7cbdfef3afad3c7b011eb14

Author
Joel Challis <git@zvecr.com>
Committer
GitHub <noreply@github.com>
Date

Message

Remove use of __flash due to LTO issues (#15268)

Diff

This diff is truncated to protect this page.

  1diff --git a/docs/feature_led_matrix.md b/docs/feature_led_matrix.md
  2index d96199a3c70b60616cfbd4a049cef7ec2b99680a..dfd63503f2d5a49919648f11dce16903da283db6 100644
  3--- a/docs/feature_led_matrix.md
  4+++ b/docs/feature_led_matrix.md
  5@@ -54,7 +54,7 @@ For split keyboards using `LED_MATRIX_SPLIT` with an LED driver, you can either
  6 Define these arrays listing all the LEDs in your `<keyboard>.c`:
  7 
  8 ```c
  9-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
 10+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 11 /* Refer to IS31 manual for these locations
 12  *    driver
 13  *    |  LED address
 14diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md
 15index d3d740c1b913c7167b3cbc733d7189367ad6f1fa..d07c02e18481548c0b87fdca60f7902707bd3f1b 100644
 16--- a/docs/feature_rgb_matrix.md
 17+++ b/docs/feature_rgb_matrix.md
 18@@ -55,7 +55,7 @@ For split keyboards using `RGB_MATRIX_SPLIT` with an LED driver, you can either
 19 Define these arrays listing all the LEDs in your `<keyboard>.c`:
 20 
 21 ```c
 22-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
 23+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 24 /* Refer to IS31 manual for these locations
 25  *   driver
 26  *   |  R location
 27@@ -140,7 +140,7 @@ Currently only 4 drivers are supported, but it would be trivial to support all 8
 28 Define these arrays listing all the LEDs in your `<keyboard>.c`:
 29 
 30 ```c
 31-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
 32+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 33 /* Refer to IS31 manual for these locations
 34  *   driver
 35  *   |  R location
 36@@ -218,7 +218,7 @@ Currently only 2 drivers are supported, but it would be trivial to support all 4
 37 Define these arrays listing all the LEDs in your `<keyboard>.c`:
 38 
 39 ```c
 40-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
 41+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 42 /* Refer to IS31 manual for these locations
 43  *   driver
 44  *   |  R location
 45@@ -319,7 +319,7 @@ Here is an example using 2 drivers.
 46 Define these arrays listing all the LEDs in your `<keyboard>.c`:
 47 
 48 ```c
 49-const aw_led __flash g_aw_leds[DRIVER_LED_TOTAL] = {
 50+const aw_led PROGMEM g_aw_leds[DRIVER_LED_TOTAL] = {
 51 /* Each AW20216 channel is controlled by a register at some offset between 0x00
 52  * and 0xD7 inclusive.
 53  * See drivers/awinic/aw20216.h for the mapping between register offsets and
 54diff --git a/docs/ja/feature_led_matrix.md b/docs/ja/feature_led_matrix.md
 55index 6511b282493c9afe4611d6add403e61cfcebbb41..2b1979ec68baeedaca21ba35499219d822c68572 100644
 56--- a/docs/ja/feature_led_matrix.md
 57+++ b/docs/ja/feature_led_matrix.md
 58@@ -52,7 +52,7 @@ I2C IS31FL3731 RGB コントローラを使ったアドレス指定可能な LED
 59 
 60 `<keyboard>.c` に全ての LED を列挙する配列を定義します:
 61 
 62-    const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
 63+    const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 64     /* これらの位置については IS31 マニュアルを参照してください
 65     *   driver
 66     *   |  LED address
 67diff --git a/drivers/led/aw20216.c b/drivers/led/aw20216.c
 68index c608c0ab446bda9425f5f23117be25196d29a462..2c7ff8f0889878bd0e11b2855f656f98758c1075 100644
 69--- a/drivers/led/aw20216.c
 70+++ b/drivers/led/aw20216.c
 71@@ -119,7 +119,8 @@ void AW20216_init(pin_t cs_pin, pin_t en_pin) {
 72 }
 73 
 74 void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 75-    aw_led led = g_aw_leds[index];
 76+    aw_led led;
 77+    memcpy_P(&led, (&g_aw_leds[index]), sizeof(led));
 78 
 79     g_pwm_buffer[led.driver][led.r]          = red;
 80     g_pwm_buffer[led.driver][led.g]          = green;
 81diff --git a/drivers/led/aw20216.h b/drivers/led/aw20216.h
 82index 97ac6dc5bf0189e149588a56b221494d4d1515d1..0a17050fed818bbefd9f48e1cdf67c2da747f99c 100644
 83--- a/drivers/led/aw20216.h
 84+++ b/drivers/led/aw20216.h
 85@@ -28,7 +28,7 @@ typedef struct aw_led {
 86     uint8_t b;
 87 } aw_led;
 88 
 89-extern const aw_led __flash g_aw_leds[DRIVER_LED_TOTAL];
 90+extern const aw_led PROGMEM g_aw_leds[DRIVER_LED_TOTAL];
 91 
 92 void AW20216_init(pin_t cs_pin, pin_t en_pin);
 93 void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
 94diff --git a/drivers/led/ckled2001.c b/drivers/led/ckled2001.c
 95index 6307303437d56f40980ef43ae00567735d9d4f47..990e50cb606624802054313f422ed7c7321d7eae 100644
 96--- a/drivers/led/ckled2001.c
 97+++ b/drivers/led/ckled2001.c
 98@@ -141,8 +141,9 @@ void CKLED2001_init(uint8_t addr) {
 99 }
100 
101 void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
102+    ckled2001_led led;
103     if (index >= 0 && index < DRIVER_LED_TOTAL) {
104-        ckled2001_led led = g_ckled2001_leds[index];
105+        memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led));
106 
107         g_pwm_buffer[led.driver][led.r]          = red;
108         g_pwm_buffer[led.driver][led.g]          = green;
109@@ -158,7 +159,8 @@ void CKLED2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
110 }
111 
112 void CKLED2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
113-    ckled2001_led led = g_ckled2001_leds[index];
114+    ckled2001_led led;
115+    memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led));
116 
117     uint8_t control_register_r = led.r / 8;
118     uint8_t control_register_g = led.g / 8;
119diff --git a/drivers/led/ckled2001.h b/drivers/led/ckled2001.h
120index efe399690a8453f111d58837e8a05fc1fbecac7d..1967961d205fd85296f1bc1b93e4c34ac86a8a99 100644
121--- a/drivers/led/ckled2001.h
122+++ b/drivers/led/ckled2001.h
123@@ -27,7 +27,7 @@ typedef struct ckled2001_led {
124     uint8_t b;
125 } __attribute__((packed)) ckled2001_led;
126 
127-extern const ckled2001_led __flash g_ckled2001_leds[DRIVER_LED_TOTAL];
128+extern const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL];
129 
130 void CKLED2001_init(uint8_t addr);
131 bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data);
132diff --git a/drivers/led/issi/is31fl3731-simple.c b/drivers/led/issi/is31fl3731-simple.c
133index 9d28ea91d077bb9e8bd693cdb5f6dce025a594e7..f51e2e38aff8f221055e3f575cc644b7d97dcdb1 100644
134--- a/drivers/led/issi/is31fl3731-simple.c
135+++ b/drivers/led/issi/is31fl3731-simple.c
136@@ -193,8 +193,9 @@ void IS31FL3731_init(uint8_t addr) {
137 }
138 
139 void IS31FL3731_set_value(int index, uint8_t value) {
140+    is31_led led;
141     if (index >= 0 && index < DRIVER_LED_TOTAL) {
142-        is31_led led = g_is31_leds[index];
143+        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
144 
145         // Subtract 0x24 to get the second index of g_pwm_buffer
146         g_pwm_buffer[led.driver][led.v - 0x24]   = value;
147@@ -209,7 +210,8 @@ void IS31FL3731_set_value_all(uint8_t value) {
148 }
149 
150 void IS31FL3731_set_led_control_register(uint8_t index, bool value) {
151-    is31_led led = g_is31_leds[index];
152+    is31_led led;
153+    memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
154 
155     uint8_t control_register = (led.v - 0x24) / 8;
156     uint8_t bit_value        = (led.v - 0x24) % 8;
157diff --git a/drivers/led/issi/is31fl3731-simple.h b/drivers/led/issi/is31fl3731-simple.h
158index ecde31eed5ed1ed02554b85d6ccfeedb1dc88b72..ded94b0470dd18b88f736e99f0d044fcc5e8c425 100644
159--- a/drivers/led/issi/is31fl3731-simple.h
160+++ b/drivers/led/issi/is31fl3731-simple.h
161@@ -27,7 +27,7 @@ typedef struct is31_led {
162     uint8_t v;
163 } __attribute__((packed)) is31_led;
164 
165-extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];
166+extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
167 
168 void IS31FL3731_init(uint8_t addr);
169 void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data);
170diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c
171index fbf24c30fbd4605dbd879b207029889465bb2dc1..e6190a6b908265aee29e79a517a334424f775f11 100644
172--- a/drivers/led/issi/is31fl3731.c
173+++ b/drivers/led/issi/is31fl3731.c
174@@ -181,8 +181,9 @@ void IS31FL3731_init(uint8_t addr) {
175 }
176 
177 void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
178+    is31_led led;
179     if (index >= 0 && index < DRIVER_LED_TOTAL) {
180-        is31_led led = g_is31_leds[index];
181+        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
182 
183         // Subtract 0x24 to get the second index of g_pwm_buffer
184         g_pwm_buffer[led.driver][led.r - 0x24]   = red;
185@@ -199,7 +200,8 @@ void IS31FL3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
186 }
187 
188 void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
189-    is31_led led = g_is31_leds[index];
190+    is31_led led;
191+    memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
192 
193     uint8_t control_register_r = (led.r - 0x24) / 8;
194     uint8_t control_register_g = (led.g - 0x24) / 8;
195diff --git a/drivers/led/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h
196index 803ea3ea12fd60a8e9c7c42407c77b48cfd36dbc..6647119ebaeae15452b48cb5b8632c328b9c8c82 100644
197--- a/drivers/led/issi/is31fl3731.h
198+++ b/drivers/led/issi/is31fl3731.h
199@@ -28,7 +28,7 @@ typedef struct is31_led {
200     uint8_t b;
201 } __attribute__((packed)) is31_led;
202 
203-extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];
204+extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
205 
206 void IS31FL3731_init(uint8_t addr);
207 void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data);
208diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c
209index 371010fd819b160bc8aa8b104f5c0f4402cd4847..696491d0706ad2692909e46142b0e7a7dd06f2be 100644
210--- a/drivers/led/issi/is31fl3733.c
211+++ b/drivers/led/issi/is31fl3733.c
212@@ -181,8 +181,9 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) {
213 }
214 
215 void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
216+    is31_led led;
217     if (index >= 0 && index < DRIVER_LED_TOTAL) {
218-        is31_led led = g_is31_leds[index];
219+        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
220 
221         g_pwm_buffer[led.driver][led.r]          = red;
222         g_pwm_buffer[led.driver][led.g]          = green;
223@@ -198,7 +199,8 @@ void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
224 }
225 
226 void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
227-    is31_led led = g_is31_leds[index];
228+    is31_led led;
229+    memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
230 
231     uint8_t control_register_r = led.r / 8;
232     uint8_t control_register_g = led.g / 8;
233diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h
234index daa226b41a11173247a7af866b422cae0b1cd3a2..c5d62fed851725aa4b1876b84e7357295d8571be 100644
235--- a/drivers/led/issi/is31fl3733.h
236+++ b/drivers/led/issi/is31fl3733.h
237@@ -30,7 +30,7 @@ typedef struct is31_led {
238     uint8_t b;
239 } __attribute__((packed)) is31_led;
240 
241-extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];
242+extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
243 
244 void IS31FL3733_init(uint8_t addr, uint8_t sync);
245 bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);
246diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c
247index dcaabba2ef68899bb30f17c8a9925525889ed880..c9a871118d2b17cb2d93ead2022b097816b11042 100644
248--- a/drivers/led/issi/is31fl3736.c
249+++ b/drivers/led/issi/is31fl3736.c
250@@ -163,8 +163,9 @@ void IS31FL3736_init(uint8_t addr) {
251 }
252 
253 void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
254+    is31_led led;
255     if (index >= 0 && index < DRIVER_LED_TOTAL) {
256-        is31_led led = g_is31_leds[index];
257+        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
258 
259         g_pwm_buffer[led.driver][led.r] = red;
260         g_pwm_buffer[led.driver][led.g] = green;
261@@ -180,7 +181,8 @@ void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
262 }
263 
264 void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
265-    is31_led led = g_is31_leds[index];
266+    is31_led led;
267+    memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
268 
269     // IS31FL3733
270     // The PWM register for a matrix position (0x00 to 0xBF) can be
271diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h
272index a30be90556aab53441a5f96134bceb43bc3acc58..9fbe1cc577cb927f0920f22946b707d5e0995a32 100644
273--- a/drivers/led/issi/is31fl3736.h
274+++ b/drivers/led/issi/is31fl3736.h
275@@ -39,7 +39,7 @@ typedef struct is31_led {
276     uint8_t b;
277 } __attribute__((packed)) is31_led;
278 
279-extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];
280+extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
281 
282 void IS31FL3736_init(uint8_t addr);
283 void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data);
284diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c
285index 62862e0d41f594a721e6193f117f6d11f5e3087e..0722e18869f6ab6cb039d1a8a64994c7e5ccbd4c 100644
286--- a/drivers/led/issi/is31fl3737.c
287+++ b/drivers/led/issi/is31fl3737.c
288@@ -166,8 +166,9 @@ void IS31FL3737_init(uint8_t addr) {
289 }
290 
291 void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
292+    is31_led led;
293     if (index >= 0 && index < DRIVER_LED_TOTAL) {
294-        is31_led led = g_is31_leds[index];
295+        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
296 
297         g_pwm_buffer[led.driver][led.r]          = red;
298         g_pwm_buffer[led.driver][led.g]          = green;
299@@ -183,7 +184,8 @@ void IS31FL3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
300 }
301 
302 void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
303-    is31_led led = g_is31_leds[index];
304+    is31_led led;
305+    memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
306 
307     uint8_t control_register_r = led.r / 8;
308     uint8_t control_register_g = led.g / 8;
309diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h
310index 97917f1d4ffce98e8f23028c3d2e7659db8c9ebd..31b1a222677266689040e0b3f11b46a97ca49696 100644
311--- a/drivers/led/issi/is31fl3737.h
312+++ b/drivers/led/issi/is31fl3737.h
313@@ -30,7 +30,7 @@ typedef struct is31_led {
314     uint8_t b;
315 } __attribute__((packed)) is31_led;
316 
317-extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];
318+extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
319 
320 void IS31FL3737_init(uint8_t addr);
321 void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data);
322diff --git a/drivers/led/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c
323index 5084f3b9fce6542972e243ffcb1214314e6f5c40..8d347a5e607aed72280df105df9e8452b6ec23bb 100644
324--- a/drivers/led/issi/is31fl3741.c
325+++ b/drivers/led/issi/is31fl3741.c
326@@ -174,8 +174,9 @@ void IS31FL3741_init(uint8_t addr) {
327 }
328 
329 void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
330+    is31_led led;
331     if (index >= 0 && index < DRIVER_LED_TOTAL) {
332-        is31_led led = g_is31_leds[index];
333+        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
334 
335         g_pwm_buffer[led.driver][led.r]          = red;
336         g_pwm_buffer[led.driver][led.g]          = green;
337@@ -191,7 +192,8 @@ void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
338 }
339 
340 void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
341-    is31_led led = g_is31_leds[index];
342+    is31_led led;
343+    memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
344 
345     if (red) {
346         g_scaling_registers[led.driver][led.r] = 0xFF;
347diff --git a/drivers/led/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h
348index 563022b9b0c493dbdcd18a29d7a5d0e6d38d0774..8154f8be702fa07b16d62242bbd99f10b1a5eab5 100644
349--- a/drivers/led/issi/is31fl3741.h
350+++ b/drivers/led/issi/is31fl3741.h
351@@ -30,7 +30,7 @@ typedef struct is31_led {
352     uint32_t b : 10;
353 } __attribute__((packed)) is31_led;
354 
355-extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];
356+extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
357 
358 void IS31FL3741_init(uint8_t addr);
359 void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data);
360diff --git a/keyboards/canary/canary60rgb/canary60rgb.c b/keyboards/canary/canary60rgb/canary60rgb.c
361index b01af5f294c2f8a4d1684a3900da3b4cbc99a5e3..b37a88b32f0608c50937195c24e20715aa32182c 100644
362--- a/keyboards/canary/canary60rgb/canary60rgb.c
363+++ b/keyboards/canary/canary60rgb/canary60rgb.c
364@@ -16,7 +16,7 @@
365  #include "canary60rgb.h"
366 
367 #ifdef RGB_MATRIX_ENABLE
368-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
369+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
370     { 0, J_14, K_14,  L_14 },
371     { 0, J_13, K_13,  L_13 },
372     { 0, J_12, K_12,  L_12 },
373diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.c b/keyboards/clueboard/66_hotswap/gen1/gen1.c
374index 8e3db70d07187f81add71bffd0a18f95a0698a01..66c40731ec8127cb64522b26c0c2864928cd3849 100644
375--- a/keyboards/clueboard/66_hotswap/gen1/gen1.c
376+++ b/keyboards/clueboard/66_hotswap/gen1/gen1.c
377@@ -16,7 +16,7 @@
378 #include "gen1.h"
379 
380 #ifdef LED_MATRIX_ENABLE
381-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
382+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
383 /* Refer to IS31 manual for these locations
384  *    driver
385  *    |  LED address
386diff --git a/keyboards/dp60/dp60.c b/keyboards/dp60/dp60.c
387index 87543b2a1c41871adda33312e67fc0db60fe8d80..16aac75fa5ed21f32f7e448d731c61ed4f98839a 100644
388--- a/keyboards/dp60/dp60.c
389+++ b/keyboards/dp60/dp60.c
390@@ -17,7 +17,7 @@
391 #include "dp60.h"
392 
393 #ifdef RGB_MATRIX_ENABLE
394-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
395+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
396 /* Refer to IS31 manual for these locations
397  *   driver
398  *   |  R location
399diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.c b/keyboards/durgod/dgk6x/galaxy/galaxy.c
400index 5f793ed85bff3c77cf2031262837f88d9ca9788a..86aef1bced99daf77cf43cfd2688db031d2539d8 100644
401--- a/keyboards/durgod/dgk6x/galaxy/galaxy.c
402+++ b/keyboards/durgod/dgk6x/galaxy/galaxy.c
403@@ -18,7 +18,7 @@
404 
405 #ifdef RGB_MATRIX_ENABLE
406 
407-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
408+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
409 /* Refer to IS31 manual for these locations
410  *   driver
411  *   |  R location
412diff --git a/keyboards/durgod/dgk6x/hades/hades.c b/keyboards/durgod/dgk6x/hades/hades.c
413index 3e235683f1c80524cc3317316571380b84f04b39..2f2f9e650f5872b15fdaddf438d15221b3a408a3 100644
414--- a/keyboards/durgod/dgk6x/hades/hades.c
415+++ b/keyboards/durgod/dgk6x/hades/hades.c
416@@ -19,7 +19,7 @@
417 #ifdef RGB_MATRIX_ENABLE
418 
419 
420-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
421+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
422 /* Refer to IS31 manual for these locations
423  *   driver
424  *   |  R location
425diff --git a/keyboards/durgod/dgk6x/venus/venus.c b/keyboards/durgod/dgk6x/venus/venus.c
426index 3398acb19dfb52506ec56c856231d4db415b5df7..0b7fbd12f3d5d468a674ab5e667e6c516b011955 100644
427--- a/keyboards/durgod/dgk6x/venus/venus.c
428+++ b/keyboards/durgod/dgk6x/venus/venus.c
429@@ -18,7 +18,7 @@
430 
431 #ifdef RGB_MATRIX_ENABLE
432 
433-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
434+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
435 /* Refer to IS31 manual for these locations
436  *   driver
437  *   |  R location
438diff --git a/keyboards/dztech/dz60rgb/dz60rgb.c b/keyboards/dztech/dz60rgb/dz60rgb.c
439index a7fc3dbc5cecbf4e386f2600d4a188c1a83b3340..81f4846c2c80216cd73d849abcc7fb391bad6caf 100644
440--- a/keyboards/dztech/dz60rgb/dz60rgb.c
441+++ b/keyboards/dztech/dz60rgb/dz60rgb.c
442@@ -1,7 +1,7 @@
443 #include "dz60rgb.h"
444 
445 #ifdef RGB_MATRIX_ENABLE
446-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
447+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
448     { 0, K_14, J_14, L_14 },
449     { 0, K_13, J_13, L_13 },
450     { 0, K_12, J_12, L_12 },
451diff --git a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c
452index ab2441091284cdb4e70e7e7e66e6e7013bf83fea..0929ddbf477296536bad145a26c62b91454757ab 100644
453--- a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c
454+++ b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c
455@@ -1,7 +1,7 @@
456 #include "dz60rgb_ansi.h"
457 
458 #ifdef RGB_MATRIX_ENABLE
459-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
460+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
461     { 0, K_14, J_14, L_14 },
462     { 0, K_13, J_13, L_13 },
463     { 0, K_12, J_12, L_12 },
464diff --git a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c
465index 455624471dfb7a9a774c850eceb29c813c11c4d7..83feb584562cac33d660032649a9d4bb087d7e16 100644
466--- a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c
467+++ b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c
468@@ -1,7 +1,7 @@
469 #include "dz60rgb_wkl.h"
470 
471 #ifdef RGB_MATRIX_ENABLE
472-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
473+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
474     { 0, H_15, G_15, I_15 },
475     { 0, K_14, J_14, L_14 },
476     { 0, K_13, J_13, L_13 },
477diff --git a/keyboards/dztech/dz65rgb/v1/v1.c b/keyboards/dztech/dz65rgb/v1/v1.c
478index aabe41c31324a25f0ffd93c381b684400b963272..8caced800b4deef7fab998de3bf7e69942c90c6b 100644
479--- a/keyboards/dztech/dz65rgb/v1/v1.c
480+++ b/keyboards/dztech/dz65rgb/v1/v1.c
481@@ -16,7 +16,7 @@
482 #include "v1.h"
483 
484 #ifdef RGB_MATRIX_ENABLE
485-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
486+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
487     { 0, C8_8,  C7_8,  C6_8 },
488     { 0, C9_8,  C7_7,  C6_7 },
489     { 0, C9_7,  C8_7,  C6_6 },
490diff --git a/keyboards/dztech/dz65rgb/v2/v2.c b/keyboards/dztech/dz65rgb/v2/v2.c
491index dce167c73f550bd1a235ed8b362e447f4fcb091b..db8e968cc4d2e186321f76420eeba80c641269da 100644
492--- a/keyboards/dztech/dz65rgb/v2/v2.c
493+++ b/keyboards/dztech/dz65rgb/v2/v2.c
494@@ -16,7 +16,7 @@
495 #include "v2.h"
496 
497 #ifdef RGB_MATRIX_ENABLE
498-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
499+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
500     { 0, C8_8,  C7_8,  C6_8 },
501     { 0, C9_8,  C7_7,  C6_7 },
502     { 0, C9_7,  C8_7,  C6_6 },
503diff --git a/keyboards/dztech/dz65rgb/v3/v3.c b/keyboards/dztech/dz65rgb/v3/v3.c
504index c3719bfa518fa5288c18b4809a024f1917ef5985..18f87dc00b6f85920d5a38f44c9c89a512ceb750 100755
505--- a/keyboards/dztech/dz65rgb/v3/v3.c
506+++ b/keyboards/dztech/dz65rgb/v3/v3.c
507@@ -18,7 +18,7 @@
508 
509 #ifdef RGB_MATRIX_ENABLE
510 
511-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
512+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
513     {0, CS21_SW1, CS20_SW1, CS19_SW1},
514     {0, CS21_SW2, CS20_SW2, CS19_SW2},
515     {0, CS21_SW3, CS20_SW3, CS19_SW3}, 
516diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c
517index 7af76cb62446f3e3886866e0e2000f20ccf096fe..49f690fa70a3a7607fdfceec1b8d76f6df32f500 100644
518--- a/keyboards/ergodox_ez/ergodox_ez.c
519+++ b/keyboards/ergodox_ez/ergodox_ez.c
520@@ -243,7 +243,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
521 
522 #ifdef RGB_MATRIX_ENABLE
523 // clang-format off
524-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
525+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
526 /*   driver
527  *   |  R location
528  *   |  |      G location
529diff --git a/keyboards/ergodox_infinity/ergodox_infinity.c b/keyboards/ergodox_infinity/ergodox_infinity.c
530index 88028d3638967728227a796dcadb32ba0f6f2695..e6ac2c4559c6c95f7dca25c3e7813faca91944f3 100644
531--- a/keyboards/ergodox_infinity/ergodox_infinity.c
532+++ b/keyboards/ergodox_infinity/ergodox_infinity.c
533@@ -174,7 +174,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
534 #endif
535 
536 #ifdef LED_MATRIX_ENABLE
537-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
538+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
539 // The numbers in the comments are the led numbers DXX on the PCB
540 /* Refer to IS31 manual for these locations
541  *  driver
542diff --git a/keyboards/evyd13/atom47/rev5/rev5.c b/keyboards/evyd13/atom47/rev5/rev5.c
543index ea0208706a321927b49ea387d668a76fa4f072c9..f972b78867c82d0c4c21e037698a8005db2fe1d4 100644
544--- a/keyboards/evyd13/atom47/rev5/rev5.c
545+++ b/keyboards/evyd13/atom47/rev5/rev5.c
546@@ -17,7 +17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
547 
548 #include "rev5.h"
549 
550-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
551+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
552 /* Refer to IS31 manual for these locations
553  *   driver
554  *   |  R location
555diff --git a/keyboards/exclusive/e6_rgb/e6_rgb.c b/keyboards/exclusive/e6_rgb/e6_rgb.c
556index e0d313f835c44f47bb013c25bbc63602f88642c3..11d313e9a3bd85c4f6bd8d7c91441d756aac3ab5 100644
557--- a/keyboards/exclusive/e6_rgb/e6_rgb.c
558+++ b/keyboards/exclusive/e6_rgb/e6_rgb.c
559@@ -11,7 +11,7 @@ void matrix_init_kb(void) {
560   matrix_init_user();
561 }
562 
563-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
564+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
565 /* Refer to IS31 manual for these locations
566  *   driver
567  *   |  R location
568diff --git a/keyboards/fallacy/indicators.c b/keyboards/fallacy/indicators.c
569index dcf1b4de070e33945f9b44f3cf0e1944ca31c9d4..c577bc9a8a5c4cc34691d383889e9a4367c5850c 100755
570--- a/keyboards/fallacy/indicators.c
571+++ b/keyboards/fallacy/indicators.c
572@@ -54,7 +54,7 @@ void set_fallacy_led(int index, bool state) {
573 
574 /* define LED matrix
575  */
576-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
577+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
578     {0, C1_1},
579     {0, C2_1},
580     {0, C3_1},
581diff --git a/keyboards/geekboards/tester/tester.c b/keyboards/geekboards/tester/tester.c
582index 532df7a531025d988bb81fbe6cc94297121bb1be..70865c461f4e81a9b6bac4c8b5a655a6a8e14bef 100644
583--- a/keyboards/geekboards/tester/tester.c
584+++ b/keyboards/geekboards/tester/tester.c
585@@ -1,5 +1,5 @@
586 #include "tester.h"
587-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
588+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
589 /* Refer to IS31 manual for these locations
590  *   driver
591  *   |  R location
592diff --git a/keyboards/gmmk/pro/ansi/keymaps/mattgauf/ansi.c b/keyboards/gmmk/pro/ansi/keymaps/mattgauf/ansi.c
593index b09af297b869ea0c8b875a74fde40e425d1ba502..52c9dfdf9913603ae7086d05cde89928541fbf3f 100644
594--- a/keyboards/gmmk/pro/ansi/keymaps/mattgauf/ansi.c
595+++ b/keyboards/gmmk/pro/ansi/keymaps/mattgauf/ansi.c
596@@ -18,7 +18,7 @@
597 #include "ansi.h"
598 
599 #ifdef RGB_MATRIX_ENABLE
600-led_config_t __flash g_led_config = {{
601+led_config_t PROGMEM g_led_config = {{
602     { 4,      NO_LED, NO_LED, 95,     65,     79, 5,      28 },
603     { 8,      2,      9,      0,      10,     75, 1,      7  },
604     { 14,     3,      15,     NO_LED, 16,     86, 6,      13 },
605diff --git a/keyboards/hs60/v1/v1.c b/keyboards/hs60/v1/v1.c
606index d2bb8011f1876f91d24cbf3243809baf37a02a72..f96eb7c320e6bdfd00e2751586e62a2f14607969 100644
607--- a/keyboards/hs60/v1/v1.c
608+++ b/keyboards/hs60/v1/v1.c
609@@ -91,7 +91,7 @@ void raw_hid_receive( uint8_t *data, uint8_t length )
610 
611 #ifdef HS60_ANSI
612 
613-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
614+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
615 /* Refer to IS31 manual for these locations
616  *   driver
617  *   |  R location
618@@ -199,7 +199,7 @@ led_config_t g_led_config = { {
619 
620 #else
621 
622-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
623+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
624 /* Refer to IS31 manual for these locations
625  *   driver
626  *   |  R location
627diff --git a/keyboards/inett_studio/sqx/hotswap/hotswap.c b/keyboards/inett_studio/sqx/hotswap/hotswap.c
628index 5b3c8df8225c909bfb5d50e38da2f21ce40c9186..c8e7d87846e76a8a33a307eb917726ee6cb2584f 100644
629--- a/keyboards/inett_studio/sqx/hotswap/hotswap.c
630+++ b/keyboards/inett_studio/sqx/hotswap/hotswap.c
631@@ -20,7 +20,7 @@
632 #include "hotswap.h"
633 
634 #ifdef RGB_MATRIX_ENABLE
635-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
636+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
637 /* Refer to IS31 manual for these locations
638  *   driver
639  *   |  R location
640diff --git a/keyboards/inett_studio/sqx/universal/universal.c b/keyboards/inett_studio/sqx/universal/universal.c
641index dd431a7f45f24fd142f58414533ccf17b0a769f4..06cfbd36542548576e3609ff05f52462a589fd64 100644
642--- a/keyboards/inett_studio/sqx/universal/universal.c
643+++ b/keyboards/inett_studio/sqx/universal/universal.c
644@@ -20,7 +20,7 @@
645 #include "universal.h"
646 
647 #ifdef RGB_MATRIX_ENABLE
648-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
649+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
650 /* Refer to IS31 manual for these locations
651  *   driver
652  *   |  R location
653diff --git a/keyboards/k_type/is31fl3733-dual.h b/keyboards/k_type/is31fl3733-dual.h
654index aab170a3fdd15cd94a26690be6b9c07a0c1304d7..ea45a7086758a86103bcb2888beefc6ea3f7b876 100644
655--- a/keyboards/k_type/is31fl3733-dual.h
656+++ b/keyboards/k_type/is31fl3733-dual.h
657@@ -28,7 +28,7 @@ typedef struct is31_led {
658     uint8_t b;
659 } __attribute__((packed)) is31_led;
660 
661-extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];
662+extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
663 
664 void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync);
665 bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data);
666diff --git a/keyboards/k_type/k_type.c b/keyboards/k_type/k_type.c
667index 924862277f0fa2fd1b21b5eaf03dcbfccb877d36..29e7fa57b21919eb6722ca92d57c83406a9d33f0 100644
668--- a/keyboards/k_type/k_type.c
669+++ b/keyboards/k_type/k_type.c
670@@ -23,7 +23,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
671 #include "is31fl3733-dual.h"
672 
673 
674-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
675+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
676     { 0, B_1,  A_1,  C_1  },
677     { 0, B_2,  A_2,  C_2  },
678     { 0, B_3,  A_3,  C_3  },
679diff --git a/keyboards/kbdfans/bella/rgb/rgb.c b/keyboards/kbdfans/bella/rgb/rgb.c
680index 17cf992146fcaa463d7df74e3bdf8669b0f27e0c..4353cae1bed4385e0b60f11410e54cb9624a6df7 100644
681--- a/keyboards/kbdfans/bella/rgb/rgb.c
682+++ b/keyboards/kbdfans/bella/rgb/rgb.c
683@@ -15,7 +15,7 @@
684  */
685 #include "rgb.h"
686 #ifdef RGB_MATRIX_ENABLE
687-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
688+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
689     {0, CS18_SW1, CS17_SW1, CS16_SW1},    /* RGB6 */
690     {0, CS18_SW3, CS17_SW3, CS16_SW3},    /* RGB32 */
691     {0, CS18_SW4, CS17_SW4, CS16_SW4},    /* RGB45 */
692diff --git a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c
693index 0c431b1543446df7a9a8782a67922c22898a02cf..072501045ac1b3a9c052fc42a37530dd9f3c325b 100644
694--- a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c
695+++ b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c
696@@ -15,7 +15,7 @@
697  */
698 #include "rgb_iso.h"
699 #ifdef RGB_MATRIX_ENABLE
700-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
701+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
702     {0, CS18_SW1, CS17_SW1, CS16_SW1},    /* RGB6 */
703     {0, CS18_SW3, CS17_SW3, CS16_SW3},    /* RGB32 */
704     {0, CS18_SW4, CS17_SW4, CS16_SW4},    /* RGB45 */
705diff --git a/keyboards/kbdfans/boop65/rgb/rgb.c b/keyboards/kbdfans/boop65/rgb/rgb.c
706index 5682ee28949ac427c747a57a4d94a98cdb92c250..3e9c66f45723c0e9ebab777a01fb60118ac8a512 100644
707--- a/keyboards/kbdfans/boop65/rgb/rgb.c
708+++ b/keyboards/kbdfans/boop65/rgb/rgb.c
709@@ -18,7 +18,7 @@
710 
711 #ifdef RGB_MATRIX_ENABLE
712 
713-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
714+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
715     {0, CS21_SW1, CS20_SW1, CS19_SW1},
716     {0, CS21_SW2, CS20_SW2, CS19_SW2},
717     {0, CS21_SW3, CS20_SW3, CS19_SW3}, 
718diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c b/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c
719index 53b57dc73d2607a3fed28c02396949610da9a9ac..f0036738711d1b44218c4fe3e1b97680bef4304a 100644
720--- a/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c
721+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c
722@@ -16,7 +16,7 @@
723 
724 #include "v1.h"
725 #ifdef RGB_MATRIX_ENABLE
726-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
727+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
728 
729     {0, C8_8, C7_8, C6_8},     // LA17
730     {0, C9_8, C7_7, C6_7},     // LA16
731diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c b/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c
732index 562b9c4543eeee9767112936ef06318021de0f1a..37972c2500be31ac71861eaa872f074f8e466646 100644
733--- a/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c
734+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c
735@@ -16,7 +16,7 @@
736 
737 #include "v2.h"
738 #ifdef RGB_MATRIX_ENABLE
739-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
740+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
741 
742     {0, C8_8,  C7_8, C6_8},   // LA17
743     {0, C9_8,  C7_7, C6_7},   // LA16
744diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c b/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c
745index 6e368a5c775a6b05f17ddc1278b7b34effc9738c..85806aff51aba16f39562664bfbe585dcb44af8b 100755
746--- a/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c
747+++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c
748@@ -18,7 +18,7 @@
749 
750 #ifdef RGB_MATRIX_ENABLE
751 
752-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
753+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
754     {0, CS21_SW1, CS20_SW1, CS19_SW1},
755     {0, CS21_SW2, CS20_SW2, CS19_SW2},
756     {0, CS21_SW3, CS20_SW3, CS19_SW3},
757diff --git a/keyboards/kbdfans/kbdmini/kbdmini.c b/keyboards/kbdfans/kbdmini/kbdmini.c
758index 799803c6faa37baee4048096f142738d729139d1..03c0096c708538a7af3fc92cf712ea7bdfbbfd03 100644
759--- a/keyboards/kbdfans/kbdmini/kbdmini.c
760+++ b/keyboards/kbdfans/kbdmini/kbdmini.c
761@@ -1,6 +1,6 @@
762 #include "kbdmini.h"
763 
764-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
765+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
766     { 0, B_9,  A_9,  C_9  }, //LA33
767     { 0, B_10, A_10, C_10 }, //LA37
768     { 0, B_11, A_11, C_11 }, //LA41