> +     for (dev = 0; dev < 32; ++dev) {
> +             for (port = 0; port < 16; ++port) {
> +                     err = mv88e6xxx_pvt_map(chip, dev, port);
> +                     if (err)
> +                             return err;
> +             }
> +     }
> +
> +     return 0;

Hi Vivien

How about adding MV88E6XXX_MAX_PVT_SWITCHES and MV88E6XXX_MAX_PVT_PORTS?


> +static int mv88e6xxx_g2_pvt_op(struct mv88e6xxx_chip *chip, int src_dev,
> +                            int src_port, u16 op)
> +{
> +     int err;
> +
> +     /* 9-bit Cross-chip PVT pointer: with GLOBAL2_MISC_5_BIT_PORT cleared,
> +      * source device is 5-bit, source port is 4-bit.
> +      */
> +     op |= (src_dev & 0x1f) << 4;
> +     op |= (src_port & 0xf);

So here, are you hard coding the knowledge that we passed false to
mv88e6xxx_g2_misc_5_bit_port()?  It kind of defeats the point of
having the parameter. Maybe simplify the code and remove the
parameter?

        Andrew

Reply via email to