net: dsa: mv88e6xxx: Add SERDES phydev_mac_change up for 6390
[sfrench/cifs-2.6.git] / drivers / net / dsa / mv88e6xxx / chip.h
index 08c74c88dbde22efedf9ee509087887f13df0b9b..f9ecb7872d32cd3a6f0807e176a8fc04f63692a7 100644 (file)
@@ -191,6 +191,8 @@ struct mv88e6xxx_port_hwtstamp {
 };
 
 struct mv88e6xxx_port {
+       struct mv88e6xxx_chip *chip;
+       int port;
        u64 serdes_stats[2];
        u64 atu_member_violation;
        u64 atu_miss_violation;
@@ -198,6 +200,7 @@ struct mv88e6xxx_port {
        u64 vtu_member_violation;
        u64 vtu_miss_violation;
        u8 cmode;
+       int serdes_irq;
 };
 
 struct mv88e6xxx_chip {
@@ -432,6 +435,10 @@ struct mv88e6xxx_ops {
        /* Power on/off a SERDES interface */
        int (*serdes_power)(struct mv88e6xxx_chip *chip, int port, bool on);
 
+       /* SERDES interrupt handling */
+       int (*serdes_irq_setup)(struct mv88e6xxx_chip *chip, int port);
+       void (*serdes_irq_free)(struct mv88e6xxx_chip *chip, int port);
+
        /* Statistics from the SERDES interface */
        int (*serdes_get_sset_count)(struct mv88e6xxx_chip *chip, int port);
        int (*serdes_get_strings)(struct mv88e6xxx_chip *chip,  int port,