|
@@ -88,15 +88,12 @@ static const enum gpiod_flags gpio_flags[] = {
|
|
|
#define T_PROBE_INIT msecs_to_jiffies(300)
|
|
|
#define T_PROBE_RETRY msecs_to_jiffies(100)
|
|
|
|
|
|
-/*
|
|
|
- * SFP modules appear to always have their PHY configured for bus address
|
|
|
+/* SFP modules appear to always have their PHY configured for bus address
|
|
|
* 0x56 (which with mdio-i2c, translates to a PHY address of 22).
|
|
|
*/
|
|
|
#define SFP_PHY_ADDR 22
|
|
|
|
|
|
-/*
|
|
|
- * Give this long for the PHY to reset.
|
|
|
- */
|
|
|
+/* Give this long for the PHY to reset. */
|
|
|
#define T_PHY_RESET_MS 50
|
|
|
|
|
|
static DEFINE_MUTEX(sfp_mutex);
|
|
@@ -150,10 +147,10 @@ static void sfp_gpio_set_state(struct sfp *sfp, unsigned int state)
|
|
|
/* If the module is present, drive the signals */
|
|
|
if (sfp->gpio[GPIO_TX_DISABLE])
|
|
|
gpiod_direction_output(sfp->gpio[GPIO_TX_DISABLE],
|
|
|
- state & SFP_F_TX_DISABLE);
|
|
|
+ state & SFP_F_TX_DISABLE);
|
|
|
if (state & SFP_F_RATE_SELECT)
|
|
|
gpiod_direction_output(sfp->gpio[GPIO_RATE_SELECT],
|
|
|
- state & SFP_F_RATE_SELECT);
|
|
|
+ state & SFP_F_RATE_SELECT);
|
|
|
} else {
|
|
|
/* Otherwise, let them float to the pull-ups */
|
|
|
if (sfp->gpio[GPIO_TX_DISABLE])
|
|
@@ -164,7 +161,7 @@ static void sfp_gpio_set_state(struct sfp *sfp, unsigned int state)
|
|
|
}
|
|
|
|
|
|
static int sfp__i2c_read(struct i2c_adapter *i2c, u8 bus_addr, u8 dev_addr,
|
|
|
- void *buf, size_t len)
|
|
|
+ void *buf, size_t len)
|
|
|
{
|
|
|
struct i2c_msg msgs[2];
|
|
|
int ret;
|
|
@@ -186,7 +183,7 @@ static int sfp__i2c_read(struct i2c_adapter *i2c, u8 bus_addr, u8 dev_addr,
|
|
|
}
|
|
|
|
|
|
static int sfp_i2c_read(struct sfp *sfp, bool a2, u8 addr, void *buf,
|
|
|
- size_t len)
|
|
|
+ size_t len)
|
|
|
{
|
|
|
return sfp__i2c_read(sfp->i2c, a2 ? 0x51 : 0x50, addr, buf, len);
|
|
|
}
|
|
@@ -220,7 +217,6 @@ static int sfp_i2c_configure(struct sfp *sfp, struct i2c_adapter *i2c)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/* Interface */
|
|
|
static unsigned int sfp_get_state(struct sfp *sfp)
|
|
|
{
|
|
@@ -295,7 +291,8 @@ static void sfp_sm_next(struct sfp *sfp, unsigned int state,
|
|
|
sfp_sm_set_timer(sfp, timeout);
|
|
|
}
|
|
|
|
|
|
-static void sfp_sm_ins_next(struct sfp *sfp, unsigned int state, unsigned int timeout)
|
|
|
+static void sfp_sm_ins_next(struct sfp *sfp, unsigned int state,
|
|
|
+ unsigned int timeout)
|
|
|
{
|
|
|
sfp->sm_mod_state = state;
|
|
|
sfp_sm_set_timer(sfp, timeout);
|
|
@@ -370,7 +367,8 @@ static void sfp_sm_link_check_los(struct sfp *sfp)
|
|
|
static void sfp_sm_fault(struct sfp *sfp, bool warn)
|
|
|
{
|
|
|
if (sfp->sm_retries && !--sfp->sm_retries) {
|
|
|
- dev_err(sfp->dev, "module persistently indicates fault, disabling\n");
|
|
|
+ dev_err(sfp->dev,
|
|
|
+ "module persistently indicates fault, disabling\n");
|
|
|
sfp_sm_next(sfp, SFP_S_TX_DISABLE, 0);
|
|
|
} else {
|
|
|
if (warn)
|
|
@@ -461,7 +459,8 @@ static int sfp_sm_mod_probe(struct sfp *sfp)
|
|
|
memcpy(date, sfp->id.ext.datecode, 8);
|
|
|
date[8] = '\0';
|
|
|
|
|
|
- dev_info(sfp->dev, "module %s %s rev %s sn %s dc %s\n", vendor, part, rev, sn, date);
|
|
|
+ dev_info(sfp->dev, "module %s %s rev %s sn %s dc %s\n",
|
|
|
+ vendor, part, rev, sn, date);
|
|
|
|
|
|
/* We only support SFP modules, not the legacy GBIC modules. */
|
|
|
if (sfp->id.base.phys_id != SFP_PHYS_ID_SFP ||
|
|
@@ -651,7 +650,7 @@ static int sfp_module_info(struct sfp *sfp, struct ethtool_modinfo *modinfo)
|
|
|
}
|
|
|
|
|
|
static int sfp_module_eeprom(struct sfp *sfp, struct ethtool_eeprom *ee,
|
|
|
- u8 *data)
|
|
|
+ u8 *data)
|
|
|
{
|
|
|
unsigned int first, last, len;
|
|
|
int ret;
|