mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: barebox@lists.infradead.org
Cc: Andrey Smirnov <andrew.smirnov@gmail.com>
Subject: [PATCH 3/6] net/e1000: reorder functions
Date: Wed, 22 Nov 2017 11:22:28 +0100	[thread overview]
Message-ID: <20171122102231.16872-4-u.kleine-koenig@pengutronix.de> (raw)
In-Reply-To: <20171122102231.16872-1-u.kleine-koenig@pengutronix.de>

Bring functions in a more natural order which allows to drop a few
forward declarations.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/net/e1000/eeprom.c | 137 ++++++++++++++++++++++-----------------------
 1 file changed, 67 insertions(+), 70 deletions(-)

diff --git a/drivers/net/e1000/eeprom.c b/drivers/net/e1000/eeprom.c
index 150e4147c469..9948a8c95275 100644
--- a/drivers/net/e1000/eeprom.c
+++ b/drivers/net/e1000/eeprom.c
@@ -6,18 +6,14 @@
 
 #include "e1000.h"
 
-static void e1000_release_eeprom_spi(struct e1000_hw *hw);
 static int32_t e1000_read_eeprom_spi(struct e1000_hw *hw, uint16_t offset,
 				     uint16_t words, uint16_t *data);
-static void e1000_release_eeprom_microwire(struct e1000_hw *hw);
 static int32_t e1000_read_eeprom_microwire(struct e1000_hw *hw, uint16_t offset,
 					   uint16_t words, uint16_t *data);
 
 static int32_t e1000_read_eeprom_eerd(struct e1000_hw *hw, uint16_t offset,
 				      uint16_t words, uint16_t *data);
 static int32_t e1000_spi_eeprom_ready(struct e1000_hw *hw);
-static void e1000_release_eeprom(struct e1000_hw *hw);
-static int32_t e1000_acquire_eeprom_flash(struct e1000_hw *hw);
 static void e1000_release_eeprom_flash(struct e1000_hw *hw);
 
 
@@ -252,6 +248,19 @@ e1000_acquire_eeprom_spi_microwire_prologue(struct e1000_hw *hw)
 	return E1000_SUCCESS;
 }
 
+static void
+e1000_release_eeprom_spi_microwire_epilogue(struct e1000_hw *hw)
+{
+	uint32_t eecd = e1000_read_reg(hw, E1000_EECD);
+
+	/* Stop requesting EEPROM access */
+	if (hw->mac_type > e1000_82544) {
+		eecd &= ~E1000_EECD_REQ;
+		e1000_write_reg(hw, E1000_EECD, eecd);
+	}
+}
+
+
 static int32_t e1000_acquire_eeprom_spi(struct e1000_hw *hw)
 {
 	int32_t ret;
@@ -271,6 +280,19 @@ static int32_t e1000_acquire_eeprom_spi(struct e1000_hw *hw)
 	return E1000_SUCCESS;
 }
 
+static void e1000_release_eeprom_spi(struct e1000_hw *hw)
+{
+	uint32_t eecd = e1000_read_reg(hw, E1000_EECD);
+
+	eecd |= E1000_EECD_CS;  /* Pull CS high */
+	eecd &= ~E1000_EECD_SK; /* Lower SCK */
+
+	e1000_write_reg(hw, E1000_EECD, eecd);
+	udelay(hw->eeprom.delay_usec);
+
+	e1000_release_eeprom_spi_microwire_epilogue(hw);
+}
+
 static int32_t e1000_acquire_eeprom_microwire(struct e1000_hw *hw)
 {
 	int ret;
@@ -292,11 +314,46 @@ static int32_t e1000_acquire_eeprom_microwire(struct e1000_hw *hw)
 	return E1000_SUCCESS;
 }
 
+static void e1000_release_eeprom_microwire(struct e1000_hw *hw)
+{
+	uint32_t eecd = e1000_read_reg(hw, E1000_EECD);
+
+	/* cleanup eeprom */
+
+	/* CS on Microwire is active-high */
+	eecd &= ~(E1000_EECD_CS | E1000_EECD_DI);
+
+	e1000_write_reg(hw, E1000_EECD, eecd);
+
+	/* Rising edge of clock */
+	eecd |= E1000_EECD_SK;
+	e1000_write_reg(hw, E1000_EECD, eecd);
+	e1000_write_flush(hw);
+	udelay(hw->eeprom.delay_usec);
+
+	/* Falling edge of clock */
+	eecd &= ~E1000_EECD_SK;
+	e1000_write_reg(hw, E1000_EECD, eecd);
+	e1000_write_flush(hw);
+	udelay(hw->eeprom.delay_usec);
+
+
+	e1000_release_eeprom_spi_microwire_epilogue(hw);
+}
+
 static int32_t e1000_acquire_eeprom_flash(struct e1000_hw *hw)
 {
 	return e1000_swfw_sync_acquire(hw, E1000_SWFW_EEP_SM);
 }
 
+static void e1000_release_eeprom_flash(struct e1000_hw *hw)
+{
+	if (e1000_swfw_sync_release(hw, E1000_SWFW_EEP_SM) < 0)
+		dev_warn(hw->dev,
+			 "Timeout while releasing SWFW_SYNC bits (0x%08x)\n",
+			 E1000_SWFW_EEP_SM);
+}
+
 static int32_t e1000_acquire_eeprom(struct e1000_hw *hw)
 {
 	if (hw->eeprom.acquire)
@@ -305,6 +362,12 @@ static int32_t e1000_acquire_eeprom(struct e1000_hw *hw)
 		return E1000_SUCCESS;
 }
 
+static void e1000_release_eeprom(struct e1000_hw *hw)
+{
+	if (hw->eeprom.release)
+		hw->eeprom.release(hw);
+}
+
 static void e1000_eeprom_uses_spi(struct e1000_eeprom_info *eeprom,
 				  uint32_t eecd)
 {
@@ -600,72 +663,6 @@ static int32_t e1000_read_eeprom_microwire(struct e1000_hw *hw,
 	return E1000_SUCCESS;
 }
 
-static void
-e1000_release_eeprom_spi_microwire_epilogue(struct e1000_hw *hw)
-{
-	uint32_t eecd = e1000_read_reg(hw, E1000_EECD);
-
-	/* Stop requesting EEPROM access */
-	if (hw->mac_type > e1000_82544) {
-		eecd &= ~E1000_EECD_REQ;
-		e1000_write_reg(hw, E1000_EECD, eecd);
-	}
-}
-
-static void e1000_release_eeprom_microwire(struct e1000_hw *hw)
-{
-	uint32_t eecd = e1000_read_reg(hw, E1000_EECD);
-
-	/* cleanup eeprom */
-
-	/* CS on Microwire is active-high */
-	eecd &= ~(E1000_EECD_CS | E1000_EECD_DI);
-
-	e1000_write_reg(hw, E1000_EECD, eecd);
-
-	/* Rising edge of clock */
-	eecd |= E1000_EECD_SK;
-	e1000_write_reg(hw, E1000_EECD, eecd);
-	e1000_write_flush(hw);
-	udelay(hw->eeprom.delay_usec);
-
-	/* Falling edge of clock */
-	eecd &= ~E1000_EECD_SK;
-	e1000_write_reg(hw, E1000_EECD, eecd);
-	e1000_write_flush(hw);
-	udelay(hw->eeprom.delay_usec);
-
-
-	e1000_release_eeprom_spi_microwire_epilogue(hw);
-}
-
-static void e1000_release_eeprom_spi(struct e1000_hw *hw)
-{
-	uint32_t eecd = e1000_read_reg(hw, E1000_EECD);
-
-	eecd |= E1000_EECD_CS;  /* Pull CS high */
-	eecd &= ~E1000_EECD_SK; /* Lower SCK */
-
-	e1000_write_reg(hw, E1000_EECD, eecd);
-	udelay(hw->eeprom.delay_usec);
-
-	e1000_release_eeprom_spi_microwire_epilogue(hw);
-}
-
-static void e1000_release_eeprom_flash(struct e1000_hw *hw)
-{
-	if (e1000_swfw_sync_release(hw, E1000_SWFW_EEP_SM) < 0)
-		dev_warn(hw->dev,
-			 "Timeout while releasing SWFW_SYNC bits (0x%08x)\n",
-			 E1000_SWFW_EEP_SM);
-}
-
-static void e1000_release_eeprom(struct e1000_hw *hw)
-{
-	if (hw->eeprom.release)
-		hw->eeprom.release(hw);
-}
-
 /******************************************************************************
  * Reads a 16 bit word from the EEPROM.
  *
-- 
2.11.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  parent reply	other threads:[~2017-11-22 10:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-22 10:22 [PATCH 0/6] net/e1000: more cleanups and ways to access i210 storage Uwe Kleine-König
2017-11-22 10:22 ` [PATCH 1/6] net/e1000: fix coding style at a few locations Uwe Kleine-König
2017-11-22 10:22 ` [PATCH 2/6] net/e1000: don't use the eeprom word size as timeout to get a semaphore Uwe Kleine-König
2017-11-22 10:22 ` Uwe Kleine-König [this message]
2017-11-22 10:22 ` [PATCH 4/6] net/e1000: provide access to iNVM even if a flash is present Uwe Kleine-König
2017-11-22 10:22 ` [PATCH 5/6] net/e1000: fix size of invm device Uwe Kleine-König
2017-11-22 10:22 ` [PATCH 6/6] net/e1000: provide device for accessing emulated eeprom Uwe Kleine-König
2017-11-23 11:12 ` [PATCH 7/6] net/e1000: don't fail to bind on uninitialized flash Uwe Kleine-König
2017-11-23 11:12   ` [PATCH 8/6] net/e1000: log flash/invm status at probe time Uwe Kleine-König
2017-11-23 11:12   ` [PATCH 9/6] net/e1000: don't access the (simulated) eeprom when it is invalid Uwe Kleine-König
2017-11-23 11:12   ` [PATCH 10/6] net/e1000: indicate in error messages where the failure occured Uwe Kleine-König
2017-11-23 11:12   ` [PATCH 11/6] net/e1000: expand timeout for flash erasure Uwe Kleine-König
2017-11-24  9:06 ` [PATCH 0/6] net/e1000: more cleanups and ways to access i210 storage Sascha Hauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171122102231.16872-4-u.kleine-koenig@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=andrew.smirnov@gmail.com \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox