The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=f5d78bea1f699c05e1694505088e61d22b8fb1f5
commit f5d78bea1f699c05e1694505088e61d22b8fb1f5 Author: Thomas Skibo <[email protected]> AuthorDate: 2021-08-30 20:39:20 +0000 Commit: Jessica Clarke <[email protected]> CommitDate: 2021-08-30 22:38:02 +0000 sifive_spi: Add missing case for SPIBUS_MODE_NONE Otherwise sckmode is left uninitialised, not zero. This mode is used for the on-board flash on the HiFive Unmatched board. Whilst here, catch unknown modes and return an error rather than silently continuing. Reviewed by: #riscv, jrtc27 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31562 --- sys/riscv/sifive/sifive_spi.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/riscv/sifive/sifive_spi.c b/sys/riscv/sifive/sifive_spi.c index df72beaac7ae..4a5d79fec01d 100644 --- a/sys/riscv/sifive/sifive_spi.c +++ b/sys/riscv/sifive/sifive_spi.c @@ -219,6 +219,9 @@ sfspi_setup(struct sfspi_softc *sc, uint32_t cs, uint32_t mode, SFSPI_WRITE(sc, SFSPI_REG_SCKDIV, sckdiv); switch (mode) { + case SPIBUS_MODE_NONE: + sckmode = 0; + break; case SPIBUS_MODE_CPHA: sckmode = SFSPI_SCKMODE_PHA; break; @@ -228,6 +231,8 @@ sfspi_setup(struct sfspi_softc *sc, uint32_t cs, uint32_t mode, case SPIBUS_MODE_CPOL_CPHA: sckmode = SFSPI_SCKMODE_PHA | SFSPI_SCKMODE_POL; break; + default: + return (EINVAL); } SFSPI_WRITE(sc, SFSPI_REG_SCKMODE, sckmode); _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main To unsubscribe, send any mail to "[email protected]"
