Skip to content

Commit

Permalink
net: dsa: mv88e6xxx: Add support for EEPROM via platform data
Browse files Browse the repository at this point in the history
Add the size of the EEPROM to the platform data, so it can also be
instantiated by a platform device.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Andrew Lunn authored and David S. Miller committed May 20, 2018
1 parent 877b7cb commit 00baabe
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
11 changes: 7 additions & 4 deletions drivers/net/dsa/mv88e6xxx/chip.c
Original file line number Diff line number Diff line change
Expand Up @@ -4386,7 +4386,6 @@ static int mv88e6xxx_probe(struct mdio_device *mdiodev)
struct device_node *np = dev->of_node;
const struct mv88e6xxx_info *compat_info;
struct mv88e6xxx_chip *chip;
u32 eeprom_len;
int port;
int err;

Expand Down Expand Up @@ -4436,9 +4435,13 @@ static int mv88e6xxx_probe(struct mdio_device *mdiodev)

mv88e6xxx_phy_init(chip);

if (chip->info->ops->get_eeprom &&
!of_property_read_u32(np, "eeprom-length", &eeprom_len))
chip->eeprom_len = eeprom_len;
if (chip->info->ops->get_eeprom) {
if (np)
of_property_read_u32(np, "eeprom-length",
&chip->eeprom_len);
else
chip->eeprom_len = pdata->eeprom_len;
}

mutex_lock(&chip->reg_lock);
err = mv88e6xxx_switch_reset(chip);
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/dsa/mv88e6xxx/chip.h
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ struct mv88e6xxx_chip {
struct gpio_desc *reset;

/* set to size of eeprom if supported by the switch */
int eeprom_len;
u32 eeprom_len;

/* List of mdio busses */
struct list_head mdios;
Expand Down
1 change: 1 addition & 0 deletions include/linux/platform_data/mv88e6xxx.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ struct dsa_mv88e6xxx_pdata {
const char *compatible;
unsigned int enabled_ports;
struct net_device *netdev;
u32 eeprom_len;
};

#endif

0 comments on commit 00baabe

Please sign in to comment.