[PATCH 6/9] spi: imx: remove unnecessary bit clearing in mx51_ecspi_config
Vladimir Zapolskiy
vladimir_zapolskiy at mentor.com
Fri Mar 4 02:52:15 PST 2016
Hi Sascha,
On 24.02.2016 10:20, Sascha Hauer wrote:
> This reverts patch 1476253cef (spi: imx: fix ecspi mode setup)
> The patch tried to fix something by clearing bits in the cfg variable,
> but cfg is initialized to zero on function entry. There are no bits to
> clear.
>
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
I believe here the expected fix should be
----8<----
diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
index 6a4ff27..9c9bae0 100644
--- a/drivers/spi/spi-imx.c
+++ b/drivers/spi/spi-imx.c
@@ -316,9 +316,10 @@ static void __maybe_unused mx51_ecspi_trigger(struct
spi_imx_data *spi_imx)
static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx,
struct spi_imx_config *config)
{
- u32 ctrl = MX51_ECSPI_CTRL_ENABLE, cfg = 0, dma = 0;
+ u32 ctrl = MX51_ECSPI_CTRL_ENABLE, dma = 0;
u32 tx_wml_cfg, rx_wml_cfg, rxt_wml_cfg;
u32 clk = config->speed_hz, delay, reg;
+ u32 cfg = readl(spi_imx->base + MX51_ECSPI_CONFIG);
/*
* The hardware seems to have a race condition when changing modes. The
----8<----
> ---
> drivers/spi/spi-imx.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
> index 15b23f0..287ec0c 100644
> --- a/drivers/spi/spi-imx.c
> +++ b/drivers/spi/spi-imx.c
> @@ -366,20 +366,13 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx,
>
> if (config->mode & SPI_CPHA)
> cfg |= MX51_ECSPI_CONFIG_SCLKPHA(config->cs);
> - else
> - cfg &= ~MX51_ECSPI_CONFIG_SCLKPHA(config->cs);
>
> if (config->mode & SPI_CPOL) {
> cfg |= MX51_ECSPI_CONFIG_SCLKPOL(config->cs);
> cfg |= MX51_ECSPI_CONFIG_SCLKCTL(config->cs);
> - } else {
> - cfg &= ~MX51_ECSPI_CONFIG_SCLKPOL(config->cs);
> - cfg &= ~MX51_ECSPI_CONFIG_SCLKCTL(config->cs);
> }
> if (config->mode & SPI_CS_HIGH)
> cfg |= MX51_ECSPI_CONFIG_SSBPOL(config->cs);
> - else
> - cfg &= ~MX51_ECSPI_CONFIG_SSBPOL(config->cs);
>
> /* CTRL register always go first to bring out controller from reset */
> writel(ctrl, spi_imx->base + MX51_ECSPI_CTRL);
>
--
With best wishes,
Vladimir
More information about the linux-arm-kernel
mailing list