Module Name: src
Committed By: martin
Date: Wed Jan 26 18:57:56 UTC 2022
Modified Files:
src/sys/arch/mips/cavium/dev: octeon_uart.c
Log Message:
Fix initialization of the register map by using the com_init_regs()
helper function. Pointed out by jmcneill.
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/mips/cavium/dev/octeon_uart.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/mips/cavium/dev/octeon_uart.c
diff -u src/sys/arch/mips/cavium/dev/octeon_uart.c:1.9 src/sys/arch/mips/cavium/dev/octeon_uart.c:1.10
--- src/sys/arch/mips/cavium/dev/octeon_uart.c:1.9 Tue Jun 23 05:18:43 2020
+++ src/sys/arch/mips/cavium/dev/octeon_uart.c Wed Jan 26 18:57:55 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: octeon_uart.c,v 1.9 2020/06/23 05:18:43 simonb Exp $ */
+/* $NetBSD: octeon_uart.c,v 1.10 2022/01/26 18:57:55 martin Exp $ */
/*
* Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_uart.c,v 1.9 2020/06/23 05:18:43 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_uart.c,v 1.10 2022/01/26 18:57:55 martin Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -68,7 +68,6 @@ const bus_addr_t octuart_com_bases[] = {
MIO_UART1_BASE
};
const struct com_regs octuart_com_regs = {
- .cr_nports = COM_NPORTS,
.cr_map = {
[COM_REG_RXDATA] = MIO_UART_RBR_OFFSET,
[COM_REG_TXDATA] = MIO_UART_THR_OFFSET,
@@ -117,9 +116,9 @@ octuart_iobus_attach(device_t parent, de
int status;
sc_com->sc_dev = self;
- sc_com->sc_regs = octuart_com_regs;
- sc_com->sc_regs.cr_iot = aa->aa_bust;
- sc_com->sc_regs.cr_iobase = aa->aa_unit->addr;
+ com_init_regs(&sc_com->sc_regs, aa->aa_bust, 0, aa->aa_unit->addr);
+ memcpy(sc_com->sc_regs.cr_map, octuart_com_regs.cr_map,
+ sizeof(octuart_com_regs.cr_map));
sc->sc_irq = aa->aa_unit->irq;
@@ -183,9 +182,9 @@ octuart_com_cnattach(bus_space_tag_t bus
{
struct com_regs regs;
- (void)memcpy(®s, &octuart_com_regs, sizeof(regs));
- regs.cr_iot = bust;
- regs.cr_iobase = octuart_com_bases[portno];
+ com_init_regs(®s, bust, 0, octuart_com_bases[portno]);
+ memcpy(regs.cr_map, octuart_com_regs.cr_map,
+ sizeof(octuart_com_regs.cr_map));
return comcnattach1(
®s,