|
@@ -3068,11 +3068,10 @@ int mv88e6xxx_get_temp_alarm(struct dsa_switch *ds, bool *alarm)
|
|
|
}
|
|
|
#endif /* CONFIG_NET_DSA_HWMON */
|
|
|
|
|
|
-static char *mv88e6xxx_lookup_name(struct device *host_dev, int sw_addr,
|
|
|
+static char *mv88e6xxx_lookup_name(struct mii_bus *bus, int sw_addr,
|
|
|
const struct mv88e6xxx_switch_id *table,
|
|
|
unsigned int num)
|
|
|
{
|
|
|
- struct mii_bus *bus = dsa_host_dev_to_mii_bus(host_dev);
|
|
|
int i, ret;
|
|
|
|
|
|
if (!bus)
|
|
@@ -3090,7 +3089,8 @@ static char *mv88e6xxx_lookup_name(struct device *host_dev, int sw_addr,
|
|
|
/* Look up only the product number */
|
|
|
for (i = 0; i < num; ++i) {
|
|
|
if (table[i].id == (ret & PORT_SWITCH_ID_PROD_NUM_MASK)) {
|
|
|
- dev_warn(host_dev, "unknown revision %d, using base switch 0x%x\n",
|
|
|
+ dev_warn(&bus->dev,
|
|
|
+ "unknown revision %d, using base switch 0x%x\n",
|
|
|
ret & PORT_SWITCH_ID_REV_MASK,
|
|
|
ret & PORT_SWITCH_ID_PROD_NUM_MASK);
|
|
|
return table[i].name;
|
|
@@ -3106,9 +3106,13 @@ char *mv88e6xxx_drv_probe(struct device *dsa_dev, struct device *host_dev,
|
|
|
unsigned int num)
|
|
|
{
|
|
|
struct mv88e6xxx_priv_state *ps;
|
|
|
+ struct mii_bus *bus = dsa_host_dev_to_mii_bus(host_dev);
|
|
|
char *name;
|
|
|
|
|
|
- name = mv88e6xxx_lookup_name(host_dev, sw_addr, table, num);
|
|
|
+ if (!bus)
|
|
|
+ return NULL;
|
|
|
+
|
|
|
+ name = mv88e6xxx_lookup_name(bus, sw_addr, table, num);
|
|
|
if (name) {
|
|
|
ps = devm_kzalloc(dsa_dev, sizeof(*ps), GFP_KERNEL);
|
|
|
if (!ps)
|