Commit 5dcc44ed authored by Addy Ke's avatar Addy Ke Committed by Mark Brown

spi/rockchip: cleanup some coding issues and uncessary output

Suggested-by: default avatarMark Brown <broonie@kernel.org>
Signed-off-by: default avatarAddy Ke <addy.ke@rockchip.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent c1536908
/* /*
* Copyright (c) 2014, Fuzhou Rockchip Electronics Co., Ltd * Copyright (c) 2014, Fuzhou Rockchip Electronics Co., Ltd
* Author: addy ke <addy.ke@rock-chips.com> * Author: Addy Ke <addy.ke@rock-chips.com>
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License, * under the terms and conditions of the GNU General Public License,
...@@ -186,7 +186,7 @@ struct rockchip_spi { ...@@ -186,7 +186,7 @@ struct rockchip_spi {
void *rx_end; void *rx_end;
u32 state; u32 state;
/* protect state */
spinlock_t lock; spinlock_t lock;
struct completion xfer_completion; struct completion xfer_completion;
...@@ -278,7 +278,7 @@ static void rockchip_spi_set_cs(struct spi_device *spi, bool enable) ...@@ -278,7 +278,7 @@ static void rockchip_spi_set_cs(struct spi_device *spi, bool enable)
} }
static int rockchip_spi_prepare_message(struct spi_master *master, static int rockchip_spi_prepare_message(struct spi_master *master,
struct spi_message *msg) struct spi_message *msg)
{ {
struct rockchip_spi *rs = spi_master_get_devdata(master); struct rockchip_spi *rs = spi_master_get_devdata(master);
struct spi_device *spi = msg->spi; struct spi_device *spi = msg->spi;
...@@ -294,13 +294,19 @@ static int rockchip_spi_prepare_message(struct spi_master *master, ...@@ -294,13 +294,19 @@ static int rockchip_spi_prepare_message(struct spi_master *master,
} }
static int rockchip_spi_unprepare_message(struct spi_master *master, static int rockchip_spi_unprepare_message(struct spi_master *master,
struct spi_message *msg) struct spi_message *msg)
{ {
unsigned long flags; unsigned long flags;
struct rockchip_spi *rs = spi_master_get_devdata(master); struct rockchip_spi *rs = spi_master_get_devdata(master);
spin_lock_irqsave(&rs->lock, flags); spin_lock_irqsave(&rs->lock, flags);
/*
* For DMA mode, we need terminate DMA channel and flush
* fifo for the next transfer if DMA thansfer timeout.
* unprepare_message() was called by core if transfer complete
* or timeout. Maybe it is reasonable for error handling here.
*/
if (rs->use_dma) { if (rs->use_dma) {
if (rs->state & RXBUSY) { if (rs->state & RXBUSY) {
dmaengine_terminate_all(rs->dma_rx.ch); dmaengine_terminate_all(rs->dma_rx.ch);
...@@ -344,7 +350,7 @@ static void rockchip_spi_pio_reader(struct rockchip_spi *rs) ...@@ -344,7 +350,7 @@ static void rockchip_spi_pio_reader(struct rockchip_spi *rs)
else else
*(u16 *)(rs->rx) = (u16)rxw; *(u16 *)(rs->rx) = (u16)rxw;
rs->rx += rs->n_bytes; rs->rx += rs->n_bytes;
}; }
} }
static int rockchip_spi_pio_transfer(struct rockchip_spi *rs) static int rockchip_spi_pio_transfer(struct rockchip_spi *rs)
...@@ -414,7 +420,8 @@ static int rockchip_spi_dma_transfer(struct rockchip_spi *rs) ...@@ -414,7 +420,8 @@ static int rockchip_spi_dma_transfer(struct rockchip_spi *rs)
rxconf.src_maxburst = rs->n_bytes; rxconf.src_maxburst = rs->n_bytes;
dmaengine_slave_config(rs->dma_rx.ch, &rxconf); dmaengine_slave_config(rs->dma_rx.ch, &rxconf);
rxdesc = dmaengine_prep_slave_sg(rs->dma_rx.ch, rxdesc = dmaengine_prep_slave_sg(
rs->dma_rx.ch,
rs->rx_sg.sgl, rs->rx_sg.nents, rs->rx_sg.sgl, rs->rx_sg.nents,
rs->dma_rx.direction, DMA_PREP_INTERRUPT); rs->dma_rx.direction, DMA_PREP_INTERRUPT);
...@@ -429,7 +436,8 @@ static int rockchip_spi_dma_transfer(struct rockchip_spi *rs) ...@@ -429,7 +436,8 @@ static int rockchip_spi_dma_transfer(struct rockchip_spi *rs)
txconf.dst_maxburst = rs->n_bytes; txconf.dst_maxburst = rs->n_bytes;
dmaengine_slave_config(rs->dma_tx.ch, &txconf); dmaengine_slave_config(rs->dma_tx.ch, &txconf);
txdesc = dmaengine_prep_slave_sg(rs->dma_tx.ch, txdesc = dmaengine_prep_slave_sg(
rs->dma_tx.ch,
rs->tx_sg.sgl, rs->tx_sg.nents, rs->tx_sg.sgl, rs->tx_sg.nents,
rs->dma_tx.direction, DMA_PREP_INTERRUPT); rs->dma_tx.direction, DMA_PREP_INTERRUPT);
...@@ -495,13 +503,13 @@ static void rockchip_spi_config(struct rockchip_spi *rs) ...@@ -495,13 +503,13 @@ static void rockchip_spi_config(struct rockchip_spi *rs)
spi_set_clk(rs, div); spi_set_clk(rs, div);
dev_dbg(rs->dev, "cr0 0x%x, div %d\n", dev_dbg(rs->dev, "cr0 0x%x, div %d\n", cr0, div);
cr0, div);
spi_enable_chip(rs, 1); spi_enable_chip(rs, 1);
} }
static int rockchip_spi_transfer_one(struct spi_master *master, static int rockchip_spi_transfer_one(
struct spi_master *master,
struct spi_device *spi, struct spi_device *spi,
struct spi_transfer *xfer) struct spi_transfer *xfer)
{ {
...@@ -556,8 +564,8 @@ static int rockchip_spi_transfer_one(struct spi_master *master, ...@@ -556,8 +564,8 @@ static int rockchip_spi_transfer_one(struct spi_master *master,
} }
static bool rockchip_spi_can_dma(struct spi_master *master, static bool rockchip_spi_can_dma(struct spi_master *master,
struct spi_device *spi, struct spi_device *spi,
struct spi_transfer *xfer) struct spi_transfer *xfer)
{ {
struct rockchip_spi *rs = spi_master_get_devdata(master); struct rockchip_spi *rs = spi_master_get_devdata(master);
...@@ -572,10 +580,9 @@ static int rockchip_spi_probe(struct platform_device *pdev) ...@@ -572,10 +580,9 @@ static int rockchip_spi_probe(struct platform_device *pdev)
struct resource *mem; struct resource *mem;
master = spi_alloc_master(&pdev->dev, sizeof(struct rockchip_spi)); master = spi_alloc_master(&pdev->dev, sizeof(struct rockchip_spi));
if (!master) { if (!master)
dev_err(&pdev->dev, "No memory for spi_master\n");
return -ENOMEM; return -ENOMEM;
}
platform_set_drvdata(pdev, master); platform_set_drvdata(pdev, master);
rs = spi_master_get_devdata(master); rs = spi_master_get_devdata(master);
...@@ -676,8 +683,6 @@ static int rockchip_spi_probe(struct platform_device *pdev) ...@@ -676,8 +683,6 @@ static int rockchip_spi_probe(struct platform_device *pdev)
goto err_register_master; goto err_register_master;
} }
dev_info(&pdev->dev, "Rockchip SPI controller initialized\n");
return 0; return 0;
err_register_master: err_register_master:
...@@ -817,6 +822,6 @@ static struct platform_driver rockchip_spi_driver = { ...@@ -817,6 +822,6 @@ static struct platform_driver rockchip_spi_driver = {
module_platform_driver(rockchip_spi_driver); module_platform_driver(rockchip_spi_driver);
MODULE_AUTHOR("addy ke <addy.ke@rock-chips.com>"); MODULE_AUTHOR("Addy Ke <addy.ke@rock-chips.com>");
MODULE_DESCRIPTION("ROCKCHIP SPI Controller Driver"); MODULE_DESCRIPTION("ROCKCHIP SPI Controller Driver");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment