Hi Andrew, [...] > Do the registers for the ports exist? Yes, they do and they return sane values.
> > + [MV88E6220] = { > > + .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6220, > > + .family = MV88E6XXX_FAMILY_6250, > > + .name = "Marvell 88E6220", > > + .num_databases = 64, > > + > > + /* Ports 2-4 are not routed to pins > > + * => usable ports 0, 1, 5, 6 > > + */ > > + .num_ports = 7, > > I'm wondering if we should add something like > > .invalid_port_mask = BIT(2) | BIT(3) | BIT(4) > Would make sense. I'll add it to the next series. > > and > > /* Setup Switch Port Registers */ > for (i = 0; i < mv88e6xxx_num_ports(chip); i++) { > + if (chip->info->invalid_port_mask & BIT(i) && > + !dsa_is_unused_port(ds, i)) > + return -EINVAL; > if (dsa_is_unused_port(ds, i)) { > err = mv88e6xxx_port_set_state(chip, i, > BR_STATE_DISABLED); > > Andrew Hubert