Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1623561 > unrolled thread

[PATCH 1/2] spi: atmel: factorize reusable code for SPI controller init

Started byQuentin Schulz <quentin.schulz@free-electrons.com>
First post2017-04-14 10:30 +0200
Last post2017-04-14 19:10 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/2] spi: atmel: factorize reusable code for SPI controller init Quentin Schulz <quentin.schulz@free-electrons.com> - 2017-04-14 10:30 +0200
    Re: [PATCH 1/2] spi: atmel: factorize reusable code for SPI  controller init Alexandre Belloni <alexandre.belloni@free-electrons.com> - 2017-04-14 12:40 +0200
    Re: [PATCH 1/2] spi: atmel: factorize reusable code for SPI  controller init Mark Brown <broonie@kernel.org> - 2017-04-14 19:10 +0200

#1623561 — [PATCH 1/2] spi: atmel: factorize reusable code for SPI controller init

FromQuentin Schulz <quentin.schulz@free-electrons.com>
Date2017-04-14 10:30 +0200
Subject[PATCH 1/2] spi: atmel: factorize reusable code for SPI controller init
Message-ID<tw4M9-7dE-3@gated-at.bofh.it>
The SPI controller configuration during the init can be reused, for the
resume function for example.

Let's move this configuration to a separate function.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
---
 drivers/spi/spi-atmel.c | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c
index 0e7712b..247d920 100644
--- a/drivers/spi/spi-atmel.c
+++ b/drivers/spi/spi-atmel.c
@@ -1464,6 +1464,25 @@ static int atmel_spi_gpio_cs(struct platform_device *pdev)
 	return 0;
 }
 
+static void atmel_spi_init(struct atmel_spi *as)
+{
+	spi_writel(as, CR, SPI_BIT(SWRST));
+	spi_writel(as, CR, SPI_BIT(SWRST)); /* AT91SAM9263 Rev B workaround */
+	if (as->caps.has_wdrbt) {
+		spi_writel(as, MR, SPI_BIT(WDRBT) | SPI_BIT(MODFDIS)
+				| SPI_BIT(MSTR));
+	} else {
+		spi_writel(as, MR, SPI_BIT(MSTR) | SPI_BIT(MODFDIS));
+	}
+
+	if (as->use_pdc)
+		spi_writel(as, PTCR, SPI_BIT(RXTDIS) | SPI_BIT(TXTDIS));
+	spi_writel(as, CR, SPI_BIT(SPIEN));
+
+	if (as->fifo_size)
+		spi_writel(as, CR, SPI_BIT(FIFOEN));
+}
+
 static int atmel_spi_probe(struct platform_device *pdev)
 {
 	struct resource		*regs;
@@ -1572,26 +1591,14 @@ static int atmel_spi_probe(struct platform_device *pdev)
 
 	as->spi_clk = clk_get_rate(clk);
 
-	spi_writel(as, CR, SPI_BIT(SWRST));
-	spi_writel(as, CR, SPI_BIT(SWRST)); /* AT91SAM9263 Rev B workaround */
-	if (as->caps.has_wdrbt) {
-		spi_writel(as, MR, SPI_BIT(WDRBT) | SPI_BIT(MODFDIS)
-				| SPI_BIT(MSTR));
-	} else {
-		spi_writel(as, MR, SPI_BIT(MSTR) | SPI_BIT(MODFDIS));
-	}
-
-	if (as->use_pdc)
-		spi_writel(as, PTCR, SPI_BIT(RXTDIS) | SPI_BIT(TXTDIS));
-	spi_writel(as, CR, SPI_BIT(SPIEN));
-
 	as->fifo_size = 0;
 	if (!of_property_read_u32(pdev->dev.of_node, "atmel,fifo-size",
 				  &as->fifo_size)) {
 		dev_info(&pdev->dev, "Using FIFO (%u data)\n", as->fifo_size);
-		spi_writel(as, CR, SPI_BIT(FIFOEN));
 	}
 
+	atmel_spi_init(as);
+
 	pm_runtime_set_autosuspend_delay(&pdev->dev, AUTOSUSPEND_TIMEOUT);
 	pm_runtime_use_autosuspend(&pdev->dev);
 	pm_runtime_set_active(&pdev->dev);
-- 
2.9.3

[toc] | [next] | [standalone]


#1623634 — Re: [PATCH 1/2] spi: atmel: factorize reusable code for SPI controller init

FromAlexandre Belloni <alexandre.belloni@free-electrons.com>
Date2017-04-14 12:40 +0200
SubjectRe: [PATCH 1/2] spi: atmel: factorize reusable code for SPI controller init
Message-ID<tw6NX-8pV-1@gated-at.bofh.it>
In reply to#1623561
On 14/04/2017 at 10:22:42 +0200, Quentin Schulz wrote:
> The SPI controller configuration during the init can be reused, for the
> resume function for example.
> 
> Let's move this configuration to a separate function.
> 
> Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>

Note that this one has already been applied.

-- 
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

[toc] | [prev] | [next] | [standalone]


#1623782 — Re: [PATCH 1/2] spi: atmel: factorize reusable code for SPI controller init

FromMark Brown <broonie@kernel.org>
Date2017-04-14 19:10 +0200
SubjectRe: [PATCH 1/2] spi: atmel: factorize reusable code for SPI controller init
Message-ID<twcTo-3LV-15@gated-at.bofh.it>
In reply to#1623561

[Multipart message — attachments visible in raw view] — view raw

On Fri, Apr 14, 2017 at 10:22:42AM +0200, Quentin Schulz wrote:
> The SPI controller configuration during the init can be reused, for the
> resume function for example.

Please don't resubmit patches that have already been applied, you should
submit patches against current code in the tree you're expecting things
to be applied to.  If any updates are needed to a patch that's already
been applied you should submit incremental patches which make those
updates.  This avoids having to change published git commits which could
cause problems for people working against git.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web