* [PATCH next] spi: Modify irq request position and modify parameters
@ 2022-02-07 1:57 Li-hao Kuo
2022-02-07 23:15 ` kernel test robot
2022-02-08 19:00 ` Mark Brown
0 siblings, 2 replies; 4+ messages in thread
From: Li-hao Kuo @ 2022-02-07 1:57 UTC (permalink / raw)
To: broonie, linux-spi, linux-kernel; +Cc: wells.lu, lh.kuo, Li-hao Kuo
- Change irq request position to the back.
- Add temporary varilable and setting (as suggested by Mr. Andy Shevchenko)
Fixes: f62ca4e2a863 ("spi: Add spi driver for Sunplus SP7021")
Signed-off-by: Li-hao Kuo <lhjeff911@gmail.com>
---
drivers/spi/spi-sunplus-sp7021.c | 63 ++++++++++++++++++++--------------------
1 file changed, 31 insertions(+), 32 deletions(-)
diff --git a/drivers/spi/spi-sunplus-sp7021.c b/drivers/spi/spi-sunplus-sp7021.c
index e5bdeb3..ba5ed9f 100644
--- a/drivers/spi/spi-sunplus-sp7021.c
+++ b/drivers/spi/spi-sunplus-sp7021.c
@@ -110,7 +110,8 @@ static irqreturn_t sp7021_spi_slave_irq(int irq, void *dev)
unsigned int data_status;
data_status = readl(pspim->s_base + SP7021_DATA_RDY_REG);
- writel(data_status | SP7021_SLAVE_CLR_INT, pspim->s_base + SP7021_DATA_RDY_REG);
+ data_status |= SP7021_SLAVE_CLR_INT;
+ writel(data_status , pspim->s_base + SP7021_DATA_RDY_REG);
complete(&pspim->slave_isr);
return IRQ_HANDLED;
}
@@ -127,14 +128,16 @@ static int sp7021_spi_slave_abort(struct spi_controller *ctlr)
static int sp7021_spi_slave_tx(struct spi_device *spi, struct spi_transfer *xfer)
{
struct sp7021_spi_ctlr *pspim = spi_controller_get_devdata(spi->controller);
+ u32 value;
reinit_completion(&pspim->slave_isr);
- writel(SP7021_SLAVE_DMA_EN | SP7021_SLAVE_DMA_RW | FIELD_PREP(SP7021_SLAVE_DMA_CMD, 3),
- pspim->s_base + SP7021_SLAVE_DMA_CTRL_REG);
+ value = SP7021_SLAVE_DMA_EN | SP7021_SLAVE_DMA_RW | FIELD_PREP(SP7021_SLAVE_DMA_CMD, 3);
+ writel(value, pspim->s_base + SP7021_SLAVE_DMA_CTRL_REG);
writel(xfer->len, pspim->s_base + SP7021_SLAVE_DMA_LENGTH_REG);
writel(xfer->tx_dma, pspim->s_base + SP7021_SLAVE_DMA_ADDR_REG);
- writel(readl(pspim->s_base + SP7021_DATA_RDY_REG) | SP7021_SLAVE_DATA_RDY,
- pspim->s_base + SP7021_DATA_RDY_REG);
+ value = readl(pspim->s_base + SP7021_DATA_RDY_REG);
+ value |= SP7021_SLAVE_DATA_RDY;
+ writel(value, pspim->s_base + SP7021_DATA_RDY_REG);
if (wait_for_completion_interruptible(&pspim->isr_done)) {
dev_err(&spi->dev, "%s() wait_for_completion err\n", __func__);
return -EINTR;
@@ -145,11 +148,11 @@ static int sp7021_spi_slave_tx(struct spi_device *spi, struct spi_transfer *xfer
static int sp7021_spi_slave_rx(struct spi_device *spi, struct spi_transfer *xfer)
{
struct sp7021_spi_ctlr *pspim = spi_controller_get_devdata(spi->controller);
- int ret = 0;
+ u32 value;
reinit_completion(&pspim->isr_done);
- writel(SP7021_SLAVE_DMA_EN | FIELD_PREP(SP7021_SLAVE_DMA_CMD, 3),
- pspim->s_base + SP7021_SLAVE_DMA_CTRL_REG);
+ value = SP7021_SLAVE_DMA_EN | FIELD_PREP(SP7021_SLAVE_DMA_CMD, 3);
+ writel(value, pspim->s_base + SP7021_SLAVE_DMA_CTRL_REG);
writel(xfer->len, pspim->s_base + SP7021_SLAVE_DMA_LENGTH_REG);
writel(xfer->rx_dma, pspim->s_base + SP7021_SLAVE_DMA_ADDR_REG);
if (wait_for_completion_interruptible(&pspim->isr_done)) {
@@ -157,7 +160,7 @@ static int sp7021_spi_slave_rx(struct spi_device *spi, struct spi_transfer *xfer
return -EINTR;
}
writel(SP7021_SLAVE_SW_RST, pspim->s_base + SP7021_SLAVE_DMA_CTRL_REG);
- return ret;
+ return 0;
}
static void sp7021_spi_master_rb(struct sp7021_spi_ctlr *pspim, unsigned int len)
@@ -188,7 +191,6 @@ static irqreturn_t sp7021_spi_master_irq(int irq, void *dev)
unsigned int tx_cnt, total_len;
unsigned int tx_len, rx_cnt;
unsigned int fd_status;
- unsigned long flags;
bool isrdone = false;
u32 value;
@@ -203,7 +205,7 @@ static irqreturn_t sp7021_spi_master_irq(int irq, void *dev)
if (tx_len == 0 && total_len == 0)
return IRQ_NONE;
- spin_lock_irqsave(&pspim->lock, flags);
+ spin_lock_irq(&pspim->lock);
rx_cnt = FIELD_GET(SP7021_RX_CNT_MASK, fd_status);
if (fd_status & SP7021_RX_FULL_FLAG)
@@ -243,7 +245,7 @@ static irqreturn_t sp7021_spi_master_irq(int irq, void *dev)
if (isrdone)
complete(&pspim->isr_done);
- spin_unlock_irqrestore(&pspim->lock, flags);
+ spin_unlock_irq(&pspim->lock);
return IRQ_HANDLED;
}
@@ -296,11 +298,10 @@ static void sp7021_spi_setup_clk(struct spi_controller *ctlr, struct spi_transfe
u32 clk_rate, clk_sel, div;
clk_rate = clk_get_rate(pspim->spi_clk);
- div = clk_rate / xfer->speed_hz;
- if (div < 2)
- div = 2;
+ div = max(2U, clk_rate / xfer->speed_hz);
+
clk_sel = (div / 2) - 1;
- pspim->xfer_conf &= SP7021_CLK_MASK;
+ pspim->xfer_conf &= ~SP7021_CLK_MASK;
pspim->xfer_conf |= FIELD_PREP(SP7021_CLK_MASK, clk_sel);
writel(pspim->xfer_conf, pspim->m_base + SP7021_SPI_CONFIG_REG);
}
@@ -313,7 +314,6 @@ static int sp7021_spi_master_transfer_one(struct spi_controller *ctlr, struct sp
unsigned int xfer_cnt, xfer_len, last_len;
unsigned int i, len_temp;
u32 reg_temp;
- int ret;
xfer_cnt = xfer->len / SP7021_SPI_DATA_SIZE;
last_len = xfer->len % SP7021_SPI_DATA_SIZE;
@@ -366,9 +366,8 @@ static int sp7021_spi_master_transfer_one(struct spi_controller *ctlr, struct sp
writel(pspim->xfer_conf, pspim->m_base + SP7021_SPI_CONFIG_REG);
mutex_unlock(&pspim->buf_lock);
- ret = 0;
}
- return ret;
+ return 0;
}
static int sp7021_spi_slave_transfer_one(struct spi_controller *ctlr, struct spi_device *spi,
@@ -376,12 +375,12 @@ static int sp7021_spi_slave_transfer_one(struct spi_controller *ctlr, struct spi
{
struct sp7021_spi_ctlr *pspim = spi_master_get_devdata(ctlr);
struct device *dev = pspim->dev;
- int mode, ret = 0;
+ int mode, ret;
mode = SP7021_SPI_IDLE;
if (xfer->tx_buf && xfer->rx_buf) {
dev_dbg(&ctlr->dev, "%s() wrong command\n", __func__);
- ret = -EINVAL;
+ return -EINVAL;
} else if (xfer->tx_buf) {
xfer->tx_dma = dma_map_single(dev, (void *)xfer->tx_buf,
xfer->len, DMA_TO_DEVICE);
@@ -445,7 +444,7 @@ static int sp7021_spi_controller_probe(struct platform_device *pdev)
ctlr = devm_spi_alloc_master(dev, sizeof(*pspim));
if (!ctlr)
return -ENOMEM;
- device_set_node(&ctlr->dev, pdev->dev.fwnode);
+ device_set_node(&ctlr->dev, dev_fwnode(dev));
ctlr->bus_num = pdev->id;
ctlr->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LSB_FIRST;
ctlr->auto_runtime_pm = true;
@@ -488,16 +487,6 @@ static int sp7021_spi_controller_probe(struct platform_device *pdev)
if (pspim->s_irq < 0)
return pspim->s_irq;
- ret = devm_request_irq(dev, pspim->m_irq, sp7021_spi_master_irq,
- IRQF_TRIGGER_RISING, pdev->name, pspim);
- if (ret)
- return ret;
-
- ret = devm_request_irq(dev, pspim->s_irq, sp7021_spi_slave_irq,
- IRQF_TRIGGER_RISING, pdev->name, pspim);
- if (ret)
- return ret;
-
pspim->spi_clk = devm_clk_get(dev, NULL);
if (IS_ERR(pspim->spi_clk))
return dev_err_probe(dev, PTR_ERR(pspim->spi_clk), "clk get fail\n");
@@ -522,6 +511,16 @@ static int sp7021_spi_controller_probe(struct platform_device *pdev)
if (ret)
return ret;
+ ret = devm_request_irq(dev, pspim->m_irq, sp7021_spi_master_irq,
+ IRQF_TRIGGER_RISING, pdev->name, pspim);
+ if (ret)
+ return ret;
+
+ ret = devm_request_irq(dev, pspim->s_irq, sp7021_spi_slave_irq,
+ IRQF_TRIGGER_RISING, pdev->name, pspim);
+ if (ret)
+ return ret;
+
pm_runtime_enable(dev);
ret = spi_register_controller(ctlr);
if (ret) {
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH next] spi: Modify irq request position and modify parameters
2022-02-07 1:57 [PATCH next] spi: Modify irq request position and modify parameters Li-hao Kuo
@ 2022-02-07 23:15 ` kernel test robot
2022-02-08 19:00 ` Mark Brown
1 sibling, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-02-07 23:15 UTC (permalink / raw)
To: Li-hao Kuo; +Cc: llvm, kbuild-all
Hi Li-hao,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20220204]
url: https://github.com/0day-ci/linux/commits/Li-hao-Kuo/spi-Modify-irq-request-position-and-modify-parameters/20220207-095850
base: ef6b35306dd8f15a7e5e5a2532e665917a43c5d9
config: x86_64-buildonly-randconfig-r001-20220207 (https://download.01.org/0day-ci/archive/20220208/202202080613.XIxdHpD0-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0d8850ae2cae85d49bea6ae0799fa41c7202c05c)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/5c25f7d844a49fd90f5f830136a1423a51dfa3e6
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Li-hao-Kuo/spi-Modify-irq-request-position-and-modify-parameters/20220207-095850
git checkout 5c25f7d844a49fd90f5f830136a1423a51dfa3e6
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/spi/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/spi/spi-sunplus-sp7021.c:405:2: warning: variable 'ret' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
default:
^~~~~~~
drivers/spi/spi-sunplus-sp7021.c:414:9: note: uninitialized use occurs here
return ret;
^~~
drivers/spi/spi-sunplus-sp7021.c:378:15: note: initialize the variable 'ret' to silence this warning
int mode, ret;
^
= 0
1 warning generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for OMAP_GPMC
Depends on MEMORY && OF_ADDRESS
Selected by
- MTD_NAND_OMAP2 && MTD && MTD_RAW_NAND && (ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST && HAS_IOMEM
vim +/ret +405 drivers/spi/spi-sunplus-sp7021.c
f62ca4e2a86303 Li-hao Kuo 2022-01-18 372
f62ca4e2a86303 Li-hao Kuo 2022-01-18 373 static int sp7021_spi_slave_transfer_one(struct spi_controller *ctlr, struct spi_device *spi,
f62ca4e2a86303 Li-hao Kuo 2022-01-18 374 struct spi_transfer *xfer)
f62ca4e2a86303 Li-hao Kuo 2022-01-18 375 {
f62ca4e2a86303 Li-hao Kuo 2022-01-18 376 struct sp7021_spi_ctlr *pspim = spi_master_get_devdata(ctlr);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 377 struct device *dev = pspim->dev;
5c25f7d844a49f Li-hao Kuo 2022-02-07 378 int mode, ret;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 379
f62ca4e2a86303 Li-hao Kuo 2022-01-18 380 mode = SP7021_SPI_IDLE;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 381 if (xfer->tx_buf && xfer->rx_buf) {
f62ca4e2a86303 Li-hao Kuo 2022-01-18 382 dev_dbg(&ctlr->dev, "%s() wrong command\n", __func__);
5c25f7d844a49f Li-hao Kuo 2022-02-07 383 return -EINVAL;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 384 } else if (xfer->tx_buf) {
f62ca4e2a86303 Li-hao Kuo 2022-01-18 385 xfer->tx_dma = dma_map_single(dev, (void *)xfer->tx_buf,
f62ca4e2a86303 Li-hao Kuo 2022-01-18 386 xfer->len, DMA_TO_DEVICE);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 387 if (dma_mapping_error(dev, xfer->tx_dma))
f62ca4e2a86303 Li-hao Kuo 2022-01-18 388 return -ENOMEM;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 389 mode = SP7021_SLAVE_WRITE;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 390 } else if (xfer->rx_buf) {
f62ca4e2a86303 Li-hao Kuo 2022-01-18 391 xfer->rx_dma = dma_map_single(dev, xfer->rx_buf, xfer->len,
f62ca4e2a86303 Li-hao Kuo 2022-01-18 392 DMA_FROM_DEVICE);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 393 if (dma_mapping_error(dev, xfer->rx_dma))
f62ca4e2a86303 Li-hao Kuo 2022-01-18 394 return -ENOMEM;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 395 mode = SP7021_SLAVE_READ;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 396 }
f62ca4e2a86303 Li-hao Kuo 2022-01-18 397
f62ca4e2a86303 Li-hao Kuo 2022-01-18 398 switch (mode) {
f62ca4e2a86303 Li-hao Kuo 2022-01-18 399 case SP7021_SLAVE_WRITE:
f62ca4e2a86303 Li-hao Kuo 2022-01-18 400 ret = sp7021_spi_slave_tx(spi, xfer);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 401 break;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 402 case SP7021_SLAVE_READ:
f62ca4e2a86303 Li-hao Kuo 2022-01-18 403 ret = sp7021_spi_slave_rx(spi, xfer);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 404 break;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 @405 default:
f62ca4e2a86303 Li-hao Kuo 2022-01-18 406 break;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 407 }
f62ca4e2a86303 Li-hao Kuo 2022-01-18 408 if (xfer->tx_buf)
f62ca4e2a86303 Li-hao Kuo 2022-01-18 409 dma_unmap_single(dev, xfer->tx_dma, xfer->len, DMA_TO_DEVICE);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 410 if (xfer->rx_buf)
f62ca4e2a86303 Li-hao Kuo 2022-01-18 411 dma_unmap_single(dev, xfer->rx_dma, xfer->len, DMA_FROM_DEVICE);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 412
f62ca4e2a86303 Li-hao Kuo 2022-01-18 413 spi_finalize_current_transfer(ctlr);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 414 return ret;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 415 }
f62ca4e2a86303 Li-hao Kuo 2022-01-18 416
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH next] spi: Modify irq request position and modify parameters
@ 2022-02-07 23:15 ` kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-02-07 23:15 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 5629 bytes --]
Hi Li-hao,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20220204]
url: https://github.com/0day-ci/linux/commits/Li-hao-Kuo/spi-Modify-irq-request-position-and-modify-parameters/20220207-095850
base: ef6b35306dd8f15a7e5e5a2532e665917a43c5d9
config: x86_64-buildonly-randconfig-r001-20220207 (https://download.01.org/0day-ci/archive/20220208/202202080613.XIxdHpD0-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0d8850ae2cae85d49bea6ae0799fa41c7202c05c)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/5c25f7d844a49fd90f5f830136a1423a51dfa3e6
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Li-hao-Kuo/spi-Modify-irq-request-position-and-modify-parameters/20220207-095850
git checkout 5c25f7d844a49fd90f5f830136a1423a51dfa3e6
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/spi/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/spi/spi-sunplus-sp7021.c:405:2: warning: variable 'ret' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
default:
^~~~~~~
drivers/spi/spi-sunplus-sp7021.c:414:9: note: uninitialized use occurs here
return ret;
^~~
drivers/spi/spi-sunplus-sp7021.c:378:15: note: initialize the variable 'ret' to silence this warning
int mode, ret;
^
= 0
1 warning generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for OMAP_GPMC
Depends on MEMORY && OF_ADDRESS
Selected by
- MTD_NAND_OMAP2 && MTD && MTD_RAW_NAND && (ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST && HAS_IOMEM
vim +/ret +405 drivers/spi/spi-sunplus-sp7021.c
f62ca4e2a86303 Li-hao Kuo 2022-01-18 372
f62ca4e2a86303 Li-hao Kuo 2022-01-18 373 static int sp7021_spi_slave_transfer_one(struct spi_controller *ctlr, struct spi_device *spi,
f62ca4e2a86303 Li-hao Kuo 2022-01-18 374 struct spi_transfer *xfer)
f62ca4e2a86303 Li-hao Kuo 2022-01-18 375 {
f62ca4e2a86303 Li-hao Kuo 2022-01-18 376 struct sp7021_spi_ctlr *pspim = spi_master_get_devdata(ctlr);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 377 struct device *dev = pspim->dev;
5c25f7d844a49f Li-hao Kuo 2022-02-07 378 int mode, ret;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 379
f62ca4e2a86303 Li-hao Kuo 2022-01-18 380 mode = SP7021_SPI_IDLE;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 381 if (xfer->tx_buf && xfer->rx_buf) {
f62ca4e2a86303 Li-hao Kuo 2022-01-18 382 dev_dbg(&ctlr->dev, "%s() wrong command\n", __func__);
5c25f7d844a49f Li-hao Kuo 2022-02-07 383 return -EINVAL;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 384 } else if (xfer->tx_buf) {
f62ca4e2a86303 Li-hao Kuo 2022-01-18 385 xfer->tx_dma = dma_map_single(dev, (void *)xfer->tx_buf,
f62ca4e2a86303 Li-hao Kuo 2022-01-18 386 xfer->len, DMA_TO_DEVICE);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 387 if (dma_mapping_error(dev, xfer->tx_dma))
f62ca4e2a86303 Li-hao Kuo 2022-01-18 388 return -ENOMEM;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 389 mode = SP7021_SLAVE_WRITE;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 390 } else if (xfer->rx_buf) {
f62ca4e2a86303 Li-hao Kuo 2022-01-18 391 xfer->rx_dma = dma_map_single(dev, xfer->rx_buf, xfer->len,
f62ca4e2a86303 Li-hao Kuo 2022-01-18 392 DMA_FROM_DEVICE);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 393 if (dma_mapping_error(dev, xfer->rx_dma))
f62ca4e2a86303 Li-hao Kuo 2022-01-18 394 return -ENOMEM;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 395 mode = SP7021_SLAVE_READ;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 396 }
f62ca4e2a86303 Li-hao Kuo 2022-01-18 397
f62ca4e2a86303 Li-hao Kuo 2022-01-18 398 switch (mode) {
f62ca4e2a86303 Li-hao Kuo 2022-01-18 399 case SP7021_SLAVE_WRITE:
f62ca4e2a86303 Li-hao Kuo 2022-01-18 400 ret = sp7021_spi_slave_tx(spi, xfer);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 401 break;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 402 case SP7021_SLAVE_READ:
f62ca4e2a86303 Li-hao Kuo 2022-01-18 403 ret = sp7021_spi_slave_rx(spi, xfer);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 404 break;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 @405 default:
f62ca4e2a86303 Li-hao Kuo 2022-01-18 406 break;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 407 }
f62ca4e2a86303 Li-hao Kuo 2022-01-18 408 if (xfer->tx_buf)
f62ca4e2a86303 Li-hao Kuo 2022-01-18 409 dma_unmap_single(dev, xfer->tx_dma, xfer->len, DMA_TO_DEVICE);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 410 if (xfer->rx_buf)
f62ca4e2a86303 Li-hao Kuo 2022-01-18 411 dma_unmap_single(dev, xfer->rx_dma, xfer->len, DMA_FROM_DEVICE);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 412
f62ca4e2a86303 Li-hao Kuo 2022-01-18 413 spi_finalize_current_transfer(ctlr);
f62ca4e2a86303 Li-hao Kuo 2022-01-18 414 return ret;
f62ca4e2a86303 Li-hao Kuo 2022-01-18 415 }
f62ca4e2a86303 Li-hao Kuo 2022-01-18 416
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH next] spi: Modify irq request position and modify parameters
2022-02-07 1:57 [PATCH next] spi: Modify irq request position and modify parameters Li-hao Kuo
2022-02-07 23:15 ` kernel test robot
@ 2022-02-08 19:00 ` Mark Brown
1 sibling, 0 replies; 4+ messages in thread
From: Mark Brown @ 2022-02-08 19:00 UTC (permalink / raw)
To: linux-kernel, Li-hao Kuo, linux-spi; +Cc: lh.kuo, wells.lu
On Mon, 7 Feb 2022 09:57:22 +0800, Li-hao Kuo wrote:
> - Change irq request position to the back.
> - Add temporary varilable and setting (as suggested by Mr. Andy Shevchenko)
>
>
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
Thanks!
[1/1] spi: Modify irq request position and modify parameters
commit: 47e8fe57a66f72c5734b981b21557c732b9a5eb6
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-02-08 19:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-07 1:57 [PATCH next] spi: Modify irq request position and modify parameters Li-hao Kuo
2022-02-07 23:15 ` kernel test robot
2022-02-07 23:15 ` kernel test robot
2022-02-08 19:00 ` Mark Brown
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.