Commit 1c75cfd5 authored by Etienne Carriere's avatar Etienne Carriere Committed by Mark Brown

spi: stm32: driver uses reset controller only at init

Remove reset controller device reference from the device private
structure since it is used only at probe time and can be discarded
once used to reset the SPI device.
Signed-off-by: default avatarEtienne Carriere <etienne.carriere@st.com>
Signed-off-by: default avatarAlain Volmat <alain.volmat@foss.st.com>
Link: https://lore.kernel.org/r/1612551572-495-6-git-send-email-alain.volmat@foss.st.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 084de523
...@@ -263,7 +263,6 @@ struct stm32_spi_cfg { ...@@ -263,7 +263,6 @@ struct stm32_spi_cfg {
* @base: virtual memory area * @base: virtual memory area
* @clk: hw kernel clock feeding the SPI clock generator * @clk: hw kernel clock feeding the SPI clock generator
* @clk_rate: rate of the hw kernel clock feeding the SPI clock generator * @clk_rate: rate of the hw kernel clock feeding the SPI clock generator
* @rst: SPI controller reset line
* @lock: prevent I/O concurrent access * @lock: prevent I/O concurrent access
* @irq: SPI controller interrupt line * @irq: SPI controller interrupt line
* @fifo_size: size of the embedded fifo in bytes * @fifo_size: size of the embedded fifo in bytes
...@@ -289,7 +288,6 @@ struct stm32_spi { ...@@ -289,7 +288,6 @@ struct stm32_spi {
void __iomem *base; void __iomem *base;
struct clk *clk; struct clk *clk;
u32 clk_rate; u32 clk_rate;
struct reset_control *rst;
spinlock_t lock; /* prevent I/O concurrent access */ spinlock_t lock; /* prevent I/O concurrent access */
int irq; int irq;
unsigned int fifo_size; unsigned int fifo_size;
...@@ -1811,6 +1809,7 @@ static int stm32_spi_probe(struct platform_device *pdev) ...@@ -1811,6 +1809,7 @@ static int stm32_spi_probe(struct platform_device *pdev)
struct spi_master *master; struct spi_master *master;
struct stm32_spi *spi; struct stm32_spi *spi;
struct resource *res; struct resource *res;
struct reset_control *rst;
int ret; int ret;
master = spi_alloc_master(&pdev->dev, sizeof(struct stm32_spi)); master = spi_alloc_master(&pdev->dev, sizeof(struct stm32_spi));
...@@ -1872,11 +1871,11 @@ static int stm32_spi_probe(struct platform_device *pdev) ...@@ -1872,11 +1871,11 @@ static int stm32_spi_probe(struct platform_device *pdev)
goto err_clk_disable; goto err_clk_disable;
} }
spi->rst = devm_reset_control_get_exclusive(&pdev->dev, NULL); rst = devm_reset_control_get_exclusive(&pdev->dev, NULL);
if (!IS_ERR(spi->rst)) { if (!IS_ERR(rst)) {
reset_control_assert(spi->rst); reset_control_assert(rst);
udelay(2); udelay(2);
reset_control_deassert(spi->rst); reset_control_deassert(rst);
} }
if (spi->cfg->has_fifo) if (spi->cfg->has_fifo)
......
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