From d74ec4d67598dbfe92c90246c564733461d2b09d Mon Sep 17 00:00:00 2001 From: shengfei Xu Date: Wed, 8 Dec 2021 09:50:50 +0000 Subject: [PATCH] mfd: rk806: update rk806 volatile reg range Signed-off-by: shengfei Xu Change-Id: I8b0f8545ba429b33b84b0023c15b9426f979c55f --- drivers/mfd/rk806-core.c | 2 +- drivers/mfd/rk806-spi.c | 25 ++++--------------------- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/drivers/mfd/rk806-core.c b/drivers/mfd/rk806-core.c index d0b382ae86a2..32e81cbda2db 100644 --- a/drivers/mfd/rk806-core.c +++ b/drivers/mfd/rk806-core.c @@ -342,7 +342,7 @@ static struct regmap_irq_chip rk806_irq_chip = { static const struct regmap_range rk806_yes_ranges[] = { /* regmap_reg_range(RK806_INT_STS0, RK806_GPIO_INT_CONFIG), */ - regmap_reg_range(0x00, 0xff), + regmap_reg_range(0x70, 0x7a), }; static const struct regmap_access_table rk806_volatile_table = { diff --git a/drivers/mfd/rk806-spi.c b/drivers/mfd/rk806-spi.c index e0edf28df844..246602417c66 100644 --- a/drivers/mfd/rk806-spi.c +++ b/drivers/mfd/rk806-spi.c @@ -26,34 +26,17 @@ static int rk806_spi_write(struct spi_device *spi, char write_cmd = RK806_CMD_WRITE | (data_len - 1); char addrh = RK806_REG_H; struct spi_message m; - char addrl = addr; - int ret = 0; - + int buffer, ret = 0; struct spi_transfer write_cmd_packet = { - .tx_buf = &write_cmd, - .len = sizeof(write_cmd), - }; - struct spi_transfer addrl_packet = { - .tx_buf = &addrl, - .len = sizeof(addrl), - }; - struct spi_transfer addrh_packet = { - .tx_buf = &addrh, - .len = sizeof(addrh), + .tx_buf = &buffer, + .len = sizeof(buffer), }; - struct spi_transfer data_packet = { - .tx_buf = data, - .len = data_len, - }; + buffer = write_cmd | (addr << 8) | (addrh << 16) | (*data << 24); spi_message_init(&m); spi_message_add_tail(&write_cmd_packet, &m); - spi_message_add_tail(&addrl_packet, &m); - spi_message_add_tail(&addrh_packet, &m); - spi_message_add_tail(&data_packet, &m); ret = spi_sync(spi, &m); - return ret; }