diff options
author | Joel Challis <git@zvecr.com> | 2021-11-24 07:38:49 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-24 18:38:49 +1100 |
commit | 282e916d86a5d353b7cbdfef3afad3c7b011eb14 (patch) | |
tree | d711831ca1accadede43c38bc1bcd91d73ad3dc9 /drivers | |
parent | 80f91f7b9aa8987d4594a466d2348830b1c32dc2 (diff) | |
download | qmk_firmware-282e916d86a5d353b7cbdfef3afad3c7b011eb14.tar.gz qmk_firmware-282e916d86a5d353b7cbdfef3afad3c7b011eb14.zip |
Remove use of __flash due to LTO issues (#15268)
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/led/aw20216.c | 3 | ||||
-rw-r--r-- | drivers/led/aw20216.h | 2 | ||||
-rw-r--r-- | drivers/led/ckled2001.c | 6 | ||||
-rw-r--r-- | drivers/led/ckled2001.h | 2 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3731-simple.c | 6 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3731-simple.h | 2 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3731.c | 6 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3731.h | 2 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3733.c | 6 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3733.h | 2 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3736.c | 6 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3736.h | 2 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3737.c | 6 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3737.h | 2 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3741.c | 6 | ||||
-rw-r--r-- | drivers/led/issi/is31fl3741.h | 2 |
16 files changed, 38 insertions, 23 deletions
diff --git a/drivers/led/aw20216.c b/drivers/led/aw20216.c index c608c0ab4..2c7ff8f08 100644 --- a/drivers/led/aw20216.c +++ b/drivers/led/aw20216.c | |||
@@ -119,7 +119,8 @@ void AW20216_init(pin_t cs_pin, pin_t en_pin) { | |||
119 | } | 119 | } |
120 | 120 | ||
121 | void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | 121 | void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { |
122 | aw_led led = g_aw_leds[index]; | 122 | aw_led led; |
123 | memcpy_P(&led, (&g_aw_leds[index]), sizeof(led)); | ||
123 | 124 | ||
124 | g_pwm_buffer[led.driver][led.r] = red; | 125 | g_pwm_buffer[led.driver][led.r] = red; |
125 | g_pwm_buffer[led.driver][led.g] = green; | 126 | g_pwm_buffer[led.driver][led.g] = green; |
diff --git a/drivers/led/aw20216.h b/drivers/led/aw20216.h index 97ac6dc5b..0a17050fe 100644 --- a/drivers/led/aw20216.h +++ b/drivers/led/aw20216.h | |||
@@ -28,7 +28,7 @@ typedef struct aw_led { | |||
28 | uint8_t b; | 28 | uint8_t b; |
29 | } aw_led; | 29 | } aw_led; |
30 | 30 | ||
31 | extern const aw_led __flash g_aw_leds[DRIVER_LED_TOTAL]; | 31 | extern const aw_led PROGMEM g_aw_leds[DRIVER_LED_TOTAL]; |
32 | 32 | ||
33 | void AW20216_init(pin_t cs_pin, pin_t en_pin); | 33 | void AW20216_init(pin_t cs_pin, pin_t en_pin); |
34 | void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); | 34 | void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); |
diff --git a/drivers/led/ckled2001.c b/drivers/led/ckled2001.c index 630730343..990e50cb6 100644 --- a/drivers/led/ckled2001.c +++ b/drivers/led/ckled2001.c | |||
@@ -141,8 +141,9 @@ void CKLED2001_init(uint8_t addr) { | |||
141 | } | 141 | } |
142 | 142 | ||
143 | void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | 143 | void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { |
144 | ckled2001_led led; | ||
144 | if (index >= 0 && index < DRIVER_LED_TOTAL) { | 145 | if (index >= 0 && index < DRIVER_LED_TOTAL) { |
145 | ckled2001_led led = g_ckled2001_leds[index]; | 146 | memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); |
146 | 147 | ||
147 | g_pwm_buffer[led.driver][led.r] = red; | 148 | g_pwm_buffer[led.driver][led.r] = red; |
148 | g_pwm_buffer[led.driver][led.g] = green; | 149 | g_pwm_buffer[led.driver][led.g] = green; |
@@ -158,7 +159,8 @@ void CKLED2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { | |||
158 | } | 159 | } |
159 | 160 | ||
160 | void CKLED2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { | 161 | void CKLED2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { |
161 | ckled2001_led led = g_ckled2001_leds[index]; | 162 | ckled2001_led led; |
163 | memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); | ||
162 | 164 | ||
163 | uint8_t control_register_r = led.r / 8; | 165 | uint8_t control_register_r = led.r / 8; |
164 | uint8_t control_register_g = led.g / 8; | 166 | uint8_t control_register_g = led.g / 8; |
diff --git a/drivers/led/ckled2001.h b/drivers/led/ckled2001.h index efe399690..1967961d2 100644 --- a/drivers/led/ckled2001.h +++ b/drivers/led/ckled2001.h | |||
@@ -27,7 +27,7 @@ typedef struct ckled2001_led { | |||
27 | uint8_t b; | 27 | uint8_t b; |
28 | } __attribute__((packed)) ckled2001_led; | 28 | } __attribute__((packed)) ckled2001_led; |
29 | 29 | ||
30 | extern const ckled2001_led __flash g_ckled2001_leds[DRIVER_LED_TOTAL]; | 30 | extern const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL]; |
31 | 31 | ||
32 | void CKLED2001_init(uint8_t addr); | 32 | void CKLED2001_init(uint8_t addr); |
33 | bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data); | 33 | bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data); |
diff --git a/drivers/led/issi/is31fl3731-simple.c b/drivers/led/issi/is31fl3731-simple.c index 9d28ea91d..f51e2e38a 100644 --- a/drivers/led/issi/is31fl3731-simple.c +++ b/drivers/led/issi/is31fl3731-simple.c | |||
@@ -193,8 +193,9 @@ void IS31FL3731_init(uint8_t addr) { | |||
193 | } | 193 | } |
194 | 194 | ||
195 | void IS31FL3731_set_value(int index, uint8_t value) { | 195 | void IS31FL3731_set_value(int index, uint8_t value) { |
196 | is31_led led; | ||
196 | if (index >= 0 && index < DRIVER_LED_TOTAL) { | 197 | if (index >= 0 && index < DRIVER_LED_TOTAL) { |
197 | is31_led led = g_is31_leds[index]; | 198 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); |
198 | 199 | ||
199 | // Subtract 0x24 to get the second index of g_pwm_buffer | 200 | // Subtract 0x24 to get the second index of g_pwm_buffer |
200 | g_pwm_buffer[led.driver][led.v - 0x24] = value; | 201 | g_pwm_buffer[led.driver][led.v - 0x24] = value; |
@@ -209,7 +210,8 @@ void IS31FL3731_set_value_all(uint8_t value) { | |||
209 | } | 210 | } |
210 | 211 | ||
211 | void IS31FL3731_set_led_control_register(uint8_t index, bool value) { | 212 | void IS31FL3731_set_led_control_register(uint8_t index, bool value) { |
212 | is31_led led = g_is31_leds[index]; | 213 | is31_led led; |
214 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); | ||
213 | 215 | ||
214 | uint8_t control_register = (led.v - 0x24) / 8; | 216 | uint8_t control_register = (led.v - 0x24) / 8; |
215 | uint8_t bit_value = (led.v - 0x24) % 8; | 217 | uint8_t bit_value = (led.v - 0x24) % 8; |
diff --git a/drivers/led/issi/is31fl3731-simple.h b/drivers/led/issi/is31fl3731-simple.h index ecde31eed..ded94b047 100644 --- a/drivers/led/issi/is31fl3731-simple.h +++ b/drivers/led/issi/is31fl3731-simple.h | |||
@@ -27,7 +27,7 @@ typedef struct is31_led { | |||
27 | uint8_t v; | 27 | uint8_t v; |
28 | } __attribute__((packed)) is31_led; | 28 | } __attribute__((packed)) is31_led; |
29 | 29 | ||
30 | extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; | 30 | extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; |
31 | 31 | ||
32 | void IS31FL3731_init(uint8_t addr); | 32 | void IS31FL3731_init(uint8_t addr); |
33 | void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); | 33 | void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); |
diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c index fbf24c30f..e6190a6b9 100644 --- a/drivers/led/issi/is31fl3731.c +++ b/drivers/led/issi/is31fl3731.c | |||
@@ -181,8 +181,9 @@ void IS31FL3731_init(uint8_t addr) { | |||
181 | } | 181 | } |
182 | 182 | ||
183 | void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | 183 | void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { |
184 | is31_led led; | ||
184 | if (index >= 0 && index < DRIVER_LED_TOTAL) { | 185 | if (index >= 0 && index < DRIVER_LED_TOTAL) { |
185 | is31_led led = g_is31_leds[index]; | 186 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); |
186 | 187 | ||
187 | // Subtract 0x24 to get the second index of g_pwm_buffer | 188 | // Subtract 0x24 to get the second index of g_pwm_buffer |
188 | g_pwm_buffer[led.driver][led.r - 0x24] = red; | 189 | g_pwm_buffer[led.driver][led.r - 0x24] = red; |
@@ -199,7 +200,8 @@ void IS31FL3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { | |||
199 | } | 200 | } |
200 | 201 | ||
201 | void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { | 202 | void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { |
202 | is31_led led = g_is31_leds[index]; | 203 | is31_led led; |
204 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); | ||
203 | 205 | ||
204 | uint8_t control_register_r = (led.r - 0x24) / 8; | 206 | uint8_t control_register_r = (led.r - 0x24) / 8; |
205 | uint8_t control_register_g = (led.g - 0x24) / 8; | 207 | uint8_t control_register_g = (led.g - 0x24) / 8; |
diff --git a/drivers/led/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h index 803ea3ea1..6647119eb 100644 --- a/drivers/led/issi/is31fl3731.h +++ b/drivers/led/issi/is31fl3731.h | |||
@@ -28,7 +28,7 @@ typedef struct is31_led { | |||
28 | uint8_t b; | 28 | uint8_t b; |
29 | } __attribute__((packed)) is31_led; | 29 | } __attribute__((packed)) is31_led; |
30 | 30 | ||
31 | extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; | 31 | extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; |
32 | 32 | ||
33 | void IS31FL3731_init(uint8_t addr); | 33 | void IS31FL3731_init(uint8_t addr); |
34 | void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); | 34 | void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); |
diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c index 371010fd8..696491d07 100644 --- a/drivers/led/issi/is31fl3733.c +++ b/drivers/led/issi/is31fl3733.c | |||
@@ -181,8 +181,9 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) { | |||
181 | } | 181 | } |
182 | 182 | ||
183 | void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | 183 | void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { |
184 | is31_led led; | ||
184 | if (index >= 0 && index < DRIVER_LED_TOTAL) { | 185 | if (index >= 0 && index < DRIVER_LED_TOTAL) { |
185 | is31_led led = g_is31_leds[index]; | 186 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); |
186 | 187 | ||
187 | g_pwm_buffer[led.driver][led.r] = red; | 188 | g_pwm_buffer[led.driver][led.r] = red; |
188 | g_pwm_buffer[led.driver][led.g] = green; | 189 | g_pwm_buffer[led.driver][led.g] = green; |
@@ -198,7 +199,8 @@ void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { | |||
198 | } | 199 | } |
199 | 200 | ||
200 | void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { | 201 | void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { |
201 | is31_led led = g_is31_leds[index]; | 202 | is31_led led; |
203 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); | ||
202 | 204 | ||
203 | uint8_t control_register_r = led.r / 8; | 205 | uint8_t control_register_r = led.r / 8; |
204 | uint8_t control_register_g = led.g / 8; | 206 | uint8_t control_register_g = led.g / 8; |
diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h index daa226b41..c5d62fed8 100644 --- a/drivers/led/issi/is31fl3733.h +++ b/drivers/led/issi/is31fl3733.h | |||
@@ -30,7 +30,7 @@ typedef struct is31_led { | |||
30 | uint8_t b; | 30 | uint8_t b; |
31 | } __attribute__((packed)) is31_led; | 31 | } __attribute__((packed)) is31_led; |
32 | 32 | ||
33 | extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; | 33 | extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; |
34 | 34 | ||
35 | void IS31FL3733_init(uint8_t addr, uint8_t sync); | 35 | void IS31FL3733_init(uint8_t addr, uint8_t sync); |
36 | bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); | 36 | bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); |
diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c index dcaabba2e..c9a871118 100644 --- a/drivers/led/issi/is31fl3736.c +++ b/drivers/led/issi/is31fl3736.c | |||
@@ -163,8 +163,9 @@ void IS31FL3736_init(uint8_t addr) { | |||
163 | } | 163 | } |
164 | 164 | ||
165 | void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | 165 | void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { |
166 | is31_led led; | ||
166 | if (index >= 0 && index < DRIVER_LED_TOTAL) { | 167 | if (index >= 0 && index < DRIVER_LED_TOTAL) { |
167 | is31_led led = g_is31_leds[index]; | 168 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); |
168 | 169 | ||
169 | g_pwm_buffer[led.driver][led.r] = red; | 170 | g_pwm_buffer[led.driver][led.r] = red; |
170 | g_pwm_buffer[led.driver][led.g] = green; | 171 | g_pwm_buffer[led.driver][led.g] = green; |
@@ -180,7 +181,8 @@ void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { | |||
180 | } | 181 | } |
181 | 182 | ||
182 | void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { | 183 | void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { |
183 | is31_led led = g_is31_leds[index]; | 184 | is31_led led; |
185 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); | ||
184 | 186 | ||
185 | // IS31FL3733 | 187 | // IS31FL3733 |
186 | // The PWM register for a matrix position (0x00 to 0xBF) can be | 188 | // The PWM register for a matrix position (0x00 to 0xBF) can be |
diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h index a30be9055..9fbe1cc57 100644 --- a/drivers/led/issi/is31fl3736.h +++ b/drivers/led/issi/is31fl3736.h | |||
@@ -39,7 +39,7 @@ typedef struct is31_led { | |||
39 | uint8_t b; | 39 | uint8_t b; |
40 | } __attribute__((packed)) is31_led; | 40 | } __attribute__((packed)) is31_led; |
41 | 41 | ||
42 | extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; | 42 | extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; |
43 | 43 | ||
44 | void IS31FL3736_init(uint8_t addr); | 44 | void IS31FL3736_init(uint8_t addr); |
45 | void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); | 45 | void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); |
diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c index 62862e0d4..0722e1886 100644 --- a/drivers/led/issi/is31fl3737.c +++ b/drivers/led/issi/is31fl3737.c | |||
@@ -166,8 +166,9 @@ void IS31FL3737_init(uint8_t addr) { | |||
166 | } | 166 | } |
167 | 167 | ||
168 | void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | 168 | void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { |
169 | is31_led led; | ||
169 | if (index >= 0 && index < DRIVER_LED_TOTAL) { | 170 | if (index >= 0 && index < DRIVER_LED_TOTAL) { |
170 | is31_led led = g_is31_leds[index]; | 171 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); |
171 | 172 | ||
172 | g_pwm_buffer[led.driver][led.r] = red; | 173 | g_pwm_buffer[led.driver][led.r] = red; |
173 | g_pwm_buffer[led.driver][led.g] = green; | 174 | g_pwm_buffer[led.driver][led.g] = green; |
@@ -183,7 +184,8 @@ void IS31FL3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { | |||
183 | } | 184 | } |
184 | 185 | ||
185 | void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { | 186 | void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { |
186 | is31_led led = g_is31_leds[index]; | 187 | is31_led led; |
188 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); | ||
187 | 189 | ||
188 | uint8_t control_register_r = led.r / 8; | 190 | uint8_t control_register_r = led.r / 8; |
189 | uint8_t control_register_g = led.g / 8; | 191 | uint8_t control_register_g = led.g / 8; |
diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h index 97917f1d4..31b1a2226 100644 --- a/drivers/led/issi/is31fl3737.h +++ b/drivers/led/issi/is31fl3737.h | |||
@@ -30,7 +30,7 @@ typedef struct is31_led { | |||
30 | uint8_t b; | 30 | uint8_t b; |
31 | } __attribute__((packed)) is31_led; | 31 | } __attribute__((packed)) is31_led; |
32 | 32 | ||
33 | extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; | 33 | extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; |
34 | 34 | ||
35 | void IS31FL3737_init(uint8_t addr); | 35 | void IS31FL3737_init(uint8_t addr); |
36 | void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); | 36 | void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); |
diff --git a/drivers/led/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c index 5084f3b9f..8d347a5e6 100644 --- a/drivers/led/issi/is31fl3741.c +++ b/drivers/led/issi/is31fl3741.c | |||
@@ -174,8 +174,9 @@ void IS31FL3741_init(uint8_t addr) { | |||
174 | } | 174 | } |
175 | 175 | ||
176 | void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | 176 | void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { |
177 | is31_led led; | ||
177 | if (index >= 0 && index < DRIVER_LED_TOTAL) { | 178 | if (index >= 0 && index < DRIVER_LED_TOTAL) { |
178 | is31_led led = g_is31_leds[index]; | 179 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); |
179 | 180 | ||
180 | g_pwm_buffer[led.driver][led.r] = red; | 181 | g_pwm_buffer[led.driver][led.r] = red; |
181 | g_pwm_buffer[led.driver][led.g] = green; | 182 | g_pwm_buffer[led.driver][led.g] = green; |
@@ -191,7 +192,8 @@ void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { | |||
191 | } | 192 | } |
192 | 193 | ||
193 | void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { | 194 | void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { |
194 | is31_led led = g_is31_leds[index]; | 195 | is31_led led; |
196 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); | ||
195 | 197 | ||
196 | if (red) { | 198 | if (red) { |
197 | g_scaling_registers[led.driver][led.r] = 0xFF; | 199 | g_scaling_registers[led.driver][led.r] = 0xFF; |
diff --git a/drivers/led/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h index 563022b9b..8154f8be7 100644 --- a/drivers/led/issi/is31fl3741.h +++ b/drivers/led/issi/is31fl3741.h | |||
@@ -30,7 +30,7 @@ typedef struct is31_led { | |||
30 | uint32_t b : 10; | 30 | uint32_t b : 10; |
31 | } __attribute__((packed)) is31_led; | 31 | } __attribute__((packed)) is31_led; |
32 | 32 | ||
33 | extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; | 33 | extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; |
34 | 34 | ||
35 | void IS31FL3741_init(uint8_t addr); | 35 | void IS31FL3741_init(uint8_t addr); |
36 | void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); | 36 | void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); |