Hi Andrew,
Andrew Lunn <[email protected]> writes:
>> @@ -3681,7 +3681,7 @@ mv88e6xxx_smi_detect(struct device *dev, struct
>> mii_bus *bus, int sw_addr,
>> u16 id;
>>
>> ops = &mv88e6xxx_smi_direct_ops;
>> - if (sw_addr > 0)
>> + if (sw_addr > 0 && info->flags & MV88E6XXX_FLAG_MULTI_CHIP)
>> ops = &mv88e6xxx_smi_indirect_ops;
>
> Is sw_addr is > 0 and MV88E6XXX_FLAG_MULTI_CHIP is not set, you should
> return -EINVAL. The device tree is invalid.
OK, I'll change this snippet for the following until we explicitly add
support for such device with non-zero address and direct SMI access:
if (sw_addr == 0)
ops = &mv88e6xxx_smi_direct_ops;
else if (info->flags & MV88E6XXX_FLAG_MULTI_CHIP)
ops = &mv88e6xxx_smi_indirect_ops;
else
return NULL;
Thanks,
Vivien