Unlike other debug_ll headers, such as i.MX's or AT91, the STM32MP1 header only defined PUTC_LL, but no function suitable for use with pbl_set_putc. Remedy that, so PBL entry points can benefit from CONFIG_PBL_CONSOLE and while at it, add the missing header that defines BIT(). Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- include/mach/stm32mp/debug_ll.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/include/mach/stm32mp/debug_ll.h b/include/mach/stm32mp/debug_ll.h index 03bb60a239c1..0d88910c1375 100644 --- a/include/mach/stm32mp/debug_ll.h +++ b/include/mach/stm32mp/debug_ll.h @@ -5,6 +5,7 @@ #include <io.h> #include <mach/stm32mp/stm32.h> +#include <linux/bitops.h> #define DEBUG_LL_UART_ADDR STM32_UART4_BASE @@ -18,13 +19,18 @@ #define USART_ISR_TXE BIT(7) -static inline void PUTC_LL(int c) +static inline void stm32_serial_putc(void *ctx, int c) { - void __iomem *base = IOMEM(DEBUG_LL_UART_ADDR); + void __iomem *base = IOMEM(ctx); writel(c, base + TDR_OFFSET); while ((readl(base + ISR_OFFSET) & USART_ISR_TXE) == 0); } +static inline void PUTC_LL(int c) +{ + stm32_serial_putc(IOMEM(DEBUG_LL_UART_ADDR), c); +} + #endif /* __MACH_STM32MP1_DEBUG_LL_H */ -- 2.39.2