aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2025-04-17 12:06:13 -0400
committerKevin O'Connor <kevin@koconnor.net>2025-04-17 12:09:19 -0400
commit56d3f4e64cd258560f090ca7c72b41ba8021cc0a (patch)
tree1b90a64a38f6be8fd0e6de2aff517cd020fd363b
parentcb6828ec34496e2ee59cc4e43a64a6b41c59acdc (diff)
downloadkutter-56d3f4e64cd258560f090ca7c72b41ba8021cc0a.tar.gz
kutter-56d3f4e64cd258560f090ca7c72b41ba8021cc0a.tar.xz
kutter-56d3f4e64cd258560f090ca7c72b41ba8021cc0a.zip
lcd_st7920: Make sure nsecs_to_ticks() is always inlined
It is a compile-time calculation that needs to be inlined to work. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--src/lcd_st7920.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lcd_st7920.c b/src/lcd_st7920.c
index 7845c09f..f8537045 100644
--- a/src/lcd_st7920.c
+++ b/src/lcd_st7920.c
@@ -22,19 +22,19 @@ struct st7920 {
* Transmit functions
****************************************************************/
-static uint32_t
+static __always_inline uint32_t
nsecs_to_ticks(uint32_t ns)
{
return timer_from_us(ns * 1000) / 1000000;
}
-static inline void
-ndelay(uint32_t nsecs)
+static void
+ndelay(uint32_t ticks)
{
if (CONFIG_MACH_AVR)
// Slower MCUs don't require a delay
return;
- uint32_t end = timer_read_time() + nsecs_to_ticks(nsecs);
+ uint32_t end = timer_read_time() + ticks;
while (timer_is_before(timer_read_time(), end))
irq_poll();
}
@@ -53,9 +53,9 @@ st7920_xmit_byte(struct st7920 *s, uint8_t data)
gpio_out_toggle(sid);
data = ~data;
}
- ndelay(200);
+ ndelay(nsecs_to_ticks(200));
gpio_out_toggle(sclk);
- ndelay(200);
+ ndelay(nsecs_to_ticks(200));
data <<= 1;
gpio_out_toggle(sclk);
}