[PATCH 6/9] ns16550: Guard accesses to `vuart` field by CONFIG_ARM

Shawn Anastasio posted 9 patches 2 years, 6 months ago
There is a newer version of this series
[PATCH 6/9] ns16550: Guard accesses to `vuart` field by CONFIG_ARM
Posted by Shawn Anastasio 2 years, 6 months ago
When CONFIG_ARM is defined, a `vuart` field is added to struct ns16550,
but accesses to this field in ns16550_uart_dt_init weren't correctly
guarded. Fix build on !ARM platforms that define CONFIG_HAS_DEVICE_TREE
by correctly guarding access to the vuart field in this function.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/drivers/char/ns16550.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 212a9c49ae..c0598efb27 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -1797,11 +1797,13 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
 
     uart->dw_usr_bsy = dt_device_is_compatible(dev, "snps,dw-apb-uart");
 
+#ifdef CONFIG_ARM
     uart->vuart.base_addr = uart->io_base;
     uart->vuart.size = uart->io_size;
     uart->vuart.data_off = UART_THR <<uart->reg_shift;
     uart->vuart.status_off = UART_LSR<<uart->reg_shift;
     uart->vuart.status = UART_LSR_THRE|UART_LSR_TEMT;
+#endif
 
     /* Register with generic serial driver. */
     serial_register_uart(uart - ns16550_com, &ns16550_driver, uart);
-- 
2.30.2
Re: [PATCH 6/9] ns16550: Guard accesses to `vuart` field by CONFIG_ARM
Posted by Jan Beulich 2 years, 6 months ago
On 03.08.2023 01:03, Shawn Anastasio wrote:
> When CONFIG_ARM is defined, a `vuart` field is added to struct ns16550,
> but accesses to this field in ns16550_uart_dt_init weren't correctly
> guarded. Fix build on !ARM platforms that define CONFIG_HAS_DEVICE_TREE
> by correctly guarding access to the vuart field in this function.
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>