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
next prev 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