mirror of https://gitee.com/openkylin/linux.git
i2c: tegra: Clean up whitespaces, newlines and indentation
Some places in the code are missing newlines or have unnecessary whitespaces and newlines. This creates inconsistency of the code and hurts readability. This patch removes the unnecessary and adds necessary whitespaces / newlines, clears indentation of the code. Reviewed-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Thierry Reding <treding@nvidia.com> Tested-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Signed-off-by: Wolfram Sang <wsa@kernel.org>
This commit is contained in:
parent
94a5573f07
commit
c886a4a03a
|
@ -315,6 +315,7 @@ static u32 tegra_i2c_reg_addr(struct tegra_i2c_dev *i2c_dev, unsigned int reg)
|
|||
reg += (reg >= I2C_TX_FIFO) ? 0x10 : 0x40;
|
||||
else if (i2c_dev->is_vi)
|
||||
reg = 0xc00 + (reg << 2);
|
||||
|
||||
return reg;
|
||||
}
|
||||
|
||||
|
@ -374,9 +375,12 @@ static int tegra_i2c_dma_submit(struct tegra_i2c_dev *i2c_dev, size_t len)
|
|||
struct dma_chan *chan;
|
||||
|
||||
dev_dbg(i2c_dev->dev, "starting DMA for length: %zu\n", len);
|
||||
|
||||
reinit_completion(&i2c_dev->dma_complete);
|
||||
|
||||
dir = i2c_dev->msg_read ? DMA_DEV_TO_MEM : DMA_MEM_TO_DEV;
|
||||
chan = i2c_dev->msg_read ? i2c_dev->rx_dma_chan : i2c_dev->tx_dma_chan;
|
||||
|
||||
dma_desc = dmaengine_prep_slave_single(chan, i2c_dev->dma_phys,
|
||||
len, dir, DMA_PREP_INTERRUPT |
|
||||
DMA_CTRL_ACK);
|
||||
|
@ -388,8 +392,10 @@ static int tegra_i2c_dma_submit(struct tegra_i2c_dev *i2c_dev, size_t len)
|
|||
|
||||
dma_desc->callback = tegra_i2c_dma_complete;
|
||||
dma_desc->callback_param = i2c_dev;
|
||||
|
||||
dmaengine_submit(dma_desc);
|
||||
dma_async_issue_pending(chan);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -456,6 +462,7 @@ static int tegra_i2c_init_dma(struct tegra_i2c_dev *i2c_dev)
|
|||
|
||||
i2c_dev->dma_buf = dma_buf;
|
||||
i2c_dev->dma_phys = dma_phys;
|
||||
|
||||
return 0;
|
||||
|
||||
err_out:
|
||||
|
@ -558,6 +565,7 @@ static int tegra_i2c_flush_fifos(struct tegra_i2c_dev *i2c_dev)
|
|||
dev_err(i2c_dev->dev, "failed to flush FIFO\n");
|
||||
return err;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -651,8 +659,7 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)
|
|||
if (i2c_dev->hw->has_interface_timing_reg && tsu_thd)
|
||||
i2c_writel(i2c_dev, tsu_thd, I2C_INTERFACE_TIMING_1);
|
||||
|
||||
clk_multiplier = tlow + thigh + 2;
|
||||
clk_multiplier *= non_hs_mode + 1;
|
||||
clk_multiplier = (tlow + thigh + 2) * (non_hs_mode + 1);
|
||||
|
||||
err = clk_set_rate(i2c_dev->div_clk,
|
||||
i2c_dev->bus_clk_rate * clk_multiplier);
|
||||
|
@ -800,9 +807,9 @@ static int tegra_i2c_fill_tx_fifo(struct tegra_i2c_dev *i2c_dev)
|
|||
*/
|
||||
buf_remaining -= words_to_transfer * BYTES_PER_FIFO_WORD;
|
||||
tx_fifo_avail -= words_to_transfer;
|
||||
|
||||
i2c_dev->msg_buf_remaining = buf_remaining;
|
||||
i2c_dev->msg_buf = buf +
|
||||
words_to_transfer * BYTES_PER_FIFO_WORD;
|
||||
i2c_dev->msg_buf = buf + words_to_transfer * BYTES_PER_FIFO_WORD;
|
||||
|
||||
i2c_writesl(i2c_dev, buf, I2C_TX_FIFO, words_to_transfer);
|
||||
|
||||
|
@ -915,12 +922,18 @@ static irqreturn_t tegra_i2c_isr(int irq, void *dev_id)
|
|||
goto done;
|
||||
err:
|
||||
/* mask all interrupts on error */
|
||||
tegra_i2c_mask_irq(i2c_dev, I2C_INT_NO_ACK | I2C_INT_ARBITRATION_LOST |
|
||||
I2C_INT_PACKET_XFER_COMPLETE | I2C_INT_TX_FIFO_DATA_REQ |
|
||||
tegra_i2c_mask_irq(i2c_dev,
|
||||
I2C_INT_NO_ACK |
|
||||
I2C_INT_ARBITRATION_LOST |
|
||||
I2C_INT_PACKET_XFER_COMPLETE |
|
||||
I2C_INT_TX_FIFO_DATA_REQ |
|
||||
I2C_INT_RX_FIFO_DATA_REQ);
|
||||
|
||||
if (i2c_dev->hw->supports_bus_clear)
|
||||
tegra_i2c_mask_irq(i2c_dev, I2C_INT_BUS_CLR_DONE);
|
||||
|
||||
i2c_writel(i2c_dev, status, I2C_INT_STATUS);
|
||||
|
||||
if (i2c_dev->is_dvc)
|
||||
dvc_writel(i2c_dev, DVC_STATUS_I2C_DONE_INTR, DVC_STATUS);
|
||||
|
||||
|
@ -962,6 +975,7 @@ static void tegra_i2c_config_fifo_trig(struct tegra_i2c_dev *i2c_dev,
|
|||
if (i2c_dev->msg_read) {
|
||||
chan = i2c_dev->rx_dma_chan;
|
||||
reg_offset = tegra_i2c_reg_addr(i2c_dev, I2C_RX_FIFO);
|
||||
|
||||
slv_config.src_addr = i2c_dev->base_phys + reg_offset;
|
||||
slv_config.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
|
||||
slv_config.src_maxburst = dma_burst;
|
||||
|
@ -973,6 +987,7 @@ static void tegra_i2c_config_fifo_trig(struct tegra_i2c_dev *i2c_dev,
|
|||
} else {
|
||||
chan = i2c_dev->tx_dma_chan;
|
||||
reg_offset = tegra_i2c_reg_addr(i2c_dev, I2C_TX_FIFO);
|
||||
|
||||
slv_config.dst_addr = i2c_dev->base_phys + reg_offset;
|
||||
slv_config.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
|
||||
slv_config.dst_maxburst = dma_burst;
|
||||
|
@ -988,6 +1003,7 @@ static void tegra_i2c_config_fifo_trig(struct tegra_i2c_dev *i2c_dev,
|
|||
if (err) {
|
||||
dev_err(i2c_dev->dev, "DMA config failed: %d\n", err);
|
||||
dev_err(i2c_dev->dev, "falling back to PIO\n");
|
||||
|
||||
tegra_i2c_release_dma(i2c_dev);
|
||||
i2c_dev->dma_mode = false;
|
||||
} else {
|
||||
|
@ -1069,6 +1085,7 @@ static int tegra_i2c_issue_bus_clear(struct i2c_adapter *adap)
|
|||
int err;
|
||||
|
||||
reinit_completion(&i2c_dev->msg_complete);
|
||||
|
||||
val = FIELD_PREP(I2C_BC_SCLK_THRESHOLD, 9) | I2C_BC_STOP_COND |
|
||||
I2C_BC_TERMINATE;
|
||||
i2c_writel(i2c_dev, val, I2C_BUS_CLEAR_CNFG);
|
||||
|
@ -1200,7 +1217,8 @@ static int tegra_i2c_xfer_msg(struct tegra_i2c_dev *i2c_dev,
|
|||
xfer_size = msg->len + I2C_PACKET_HEADER_SIZE;
|
||||
|
||||
xfer_size = ALIGN(xfer_size, BYTES_PER_FIFO_WORD);
|
||||
i2c_dev->dma_mode = (xfer_size > I2C_PIO_MODE_PREFERRED_LEN) &&
|
||||
|
||||
i2c_dev->dma_mode = xfer_size > I2C_PIO_MODE_PREFERRED_LEN &&
|
||||
i2c_dev->dma_buf && !i2c_dev->atomic_mode;
|
||||
|
||||
tegra_i2c_config_fifo_trig(i2c_dev, xfer_size);
|
||||
|
@ -1214,21 +1232,20 @@ static int tegra_i2c_xfer_msg(struct tegra_i2c_dev *i2c_dev,
|
|||
|
||||
int_mask = I2C_INT_NO_ACK | I2C_INT_ARBITRATION_LOST;
|
||||
tegra_i2c_unmask_irq(i2c_dev, int_mask);
|
||||
|
||||
if (i2c_dev->dma_mode) {
|
||||
if (i2c_dev->msg_read) {
|
||||
dma_sync_single_for_device(i2c_dev->dev,
|
||||
i2c_dev->dma_phys,
|
||||
xfer_size,
|
||||
DMA_FROM_DEVICE);
|
||||
xfer_size, DMA_FROM_DEVICE);
|
||||
|
||||
err = tegra_i2c_dma_submit(i2c_dev, xfer_size);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
} else {
|
||||
dma_sync_single_for_cpu(i2c_dev->dev,
|
||||
i2c_dev->dma_phys,
|
||||
xfer_size,
|
||||
DMA_TO_DEVICE);
|
||||
xfer_size, DMA_TO_DEVICE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1238,10 +1255,11 @@ static int tegra_i2c_xfer_msg(struct tegra_i2c_dev *i2c_dev,
|
|||
if (i2c_dev->dma_mode) {
|
||||
memcpy(i2c_dev->dma_buf + I2C_PACKET_HEADER_SIZE,
|
||||
msg->buf, msg->len);
|
||||
|
||||
dma_sync_single_for_device(i2c_dev->dev,
|
||||
i2c_dev->dma_phys,
|
||||
xfer_size,
|
||||
DMA_TO_DEVICE);
|
||||
xfer_size, DMA_TO_DEVICE);
|
||||
|
||||
err = tegra_i2c_dma_submit(i2c_dev, xfer_size);
|
||||
if (err)
|
||||
return err;
|
||||
|
@ -1252,6 +1270,7 @@ static int tegra_i2c_xfer_msg(struct tegra_i2c_dev *i2c_dev,
|
|||
|
||||
if (i2c_dev->hw->has_per_pkt_xfer_complete_irq)
|
||||
int_mask |= I2C_INT_PACKET_XFER_COMPLETE;
|
||||
|
||||
if (!i2c_dev->dma_mode) {
|
||||
if (msg->flags & I2C_M_RD)
|
||||
int_mask |= I2C_INT_RX_FIFO_DATA_REQ;
|
||||
|
@ -1290,10 +1309,9 @@ static int tegra_i2c_xfer_msg(struct tegra_i2c_dev *i2c_dev,
|
|||
if (i2c_dev->msg_read && i2c_dev->msg_err == I2C_ERR_NONE) {
|
||||
dma_sync_single_for_cpu(i2c_dev->dev,
|
||||
i2c_dev->dma_phys,
|
||||
xfer_size,
|
||||
DMA_FROM_DEVICE);
|
||||
memcpy(i2c_dev->msg_buf, i2c_dev->dma_buf,
|
||||
msg->len);
|
||||
xfer_size, DMA_FROM_DEVICE);
|
||||
|
||||
memcpy(i2c_dev->msg_buf, i2c_dev->dma_buf, msg->len);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1375,6 +1393,7 @@ static u32 tegra_i2c_func(struct i2c_adapter *adap)
|
|||
|
||||
if (i2c_dev->hw->has_continue_xfer_support)
|
||||
ret |= I2C_FUNC_NOSTART;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1734,6 +1753,7 @@ static int tegra_i2c_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!i2c_dev->is_vi)
|
||||
pm_runtime_irq_safe(i2c_dev->dev);
|
||||
|
||||
pm_runtime_enable(i2c_dev->dev);
|
||||
|
||||
err = tegra_i2c_init_hardware(i2c_dev);
|
||||
|
@ -1778,11 +1798,11 @@ static int tegra_i2c_remove(struct platform_device *pdev)
|
|||
struct tegra_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
|
||||
|
||||
i2c_del_adapter(&i2c_dev->adapter);
|
||||
|
||||
pm_runtime_disable(i2c_dev->dev);
|
||||
|
||||
tegra_i2c_release_dma(i2c_dev);
|
||||
tegra_i2c_release_clocks(i2c_dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1891,7 +1911,6 @@ static struct platform_driver tegra_i2c_driver = {
|
|||
.pm = &tegra_i2c_pm,
|
||||
},
|
||||
};
|
||||
|
||||
module_platform_driver(tegra_i2c_driver);
|
||||
|
||||
MODULE_DESCRIPTION("nVidia Tegra2 I2C Bus Controller driver");
|
||||
|
|
Loading…
Reference in New Issue