summaryrefslogtreecommitdiff
path: root/drivers/tty/serial/sc16is7xx.c
diff options
context:
space:
mode:
authorHui Wang <hui.wang@canonical.com>2023-07-24 06:47:27 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-07-30 14:53:35 +0300
commit77a82cebf0eb023203b4cb2235cab75afc77cccf (patch)
tree4dc2124d93a07cd0ae4f364a67cf24914123deff /drivers/tty/serial/sc16is7xx.c
parent130a9571aee966ad8ba65719fe6c32db7b26db6a (diff)
downloadlinux-77a82cebf0eb023203b4cb2235cab75afc77cccf.tar.xz
serial: sc16is7xx: Put IOControl register into regmap_volatile
According to the IOControl register bits description in the page 31 of the product datasheet, we know the bit 3 of IOControl register is softreset, this bit will self-clearing once the reset finish. In the probe, the softreset bit is set, and when we read this register from debugfs/regmap interface, we found the softreset bit is still setting, this confused us for a while. Finally we found this register is cached, to read the real value from register, we could put it into the regmap_volatile(). Signed-off-by: Hui Wang <hui.wang@canonical.com> Link: https://lore.kernel.org/r/20230724034727.17335-1-hui.wang@canonical.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/sc16is7xx.c')
-rw-r--r--drivers/tty/serial/sc16is7xx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c
index cfffc730ba34..18a48ce052c2 100644
--- a/drivers/tty/serial/sc16is7xx.c
+++ b/drivers/tty/serial/sc16is7xx.c
@@ -488,6 +488,7 @@ static bool sc16is7xx_regmap_volatile(struct device *dev, unsigned int reg)
case SC16IS7XX_TXLVL_REG:
case SC16IS7XX_RXLVL_REG:
case SC16IS7XX_IOSTATE_REG:
+ case SC16IS7XX_IOCONTROL_REG:
return true;
default:
break;