]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/dsa/mv88e6xxx.h
dsa: add support for the Marvell 88E6131 switch chip
[linux-2.6-omap-h63xx.git] / net / dsa / mv88e6xxx.h
index a004d4d020817fff8db17bd3697ec0134e5dbb82..eb0e0aaa9f1b586e12031d3ed355fc1dce67c16c 100644 (file)
@@ -23,6 +23,17 @@ struct mv88e6xxx_priv_state {
         */
        struct mutex    smi_mutex;
 
+#ifdef CONFIG_NET_DSA_MV88E6XXX_NEED_PPU
+       /*
+        * Handles automatic disabling and re-enabling of the PHY
+        * polling unit.
+        */
+       struct mutex            ppu_mutex;
+       int                     ppu_disabled;
+       struct work_struct      ppu_work;
+       struct timer_list       ppu_timer;
+#endif
+
        /*
         * This mutex serialises access to the statistics unit.
         * Hold this mutex over snapshot + dump sequences.
@@ -42,9 +53,14 @@ int __mv88e6xxx_reg_write(struct mii_bus *bus, int sw_addr, int addr,
                           int reg, u16 val);
 int mv88e6xxx_reg_write(struct dsa_switch *ds, int addr, int reg, u16 val);
 int mv88e6xxx_config_prio(struct dsa_switch *ds);
+int mv88e6xxx_set_addr_direct(struct dsa_switch *ds, u8 *addr);
 int mv88e6xxx_set_addr_indirect(struct dsa_switch *ds, u8 *addr);
 int mv88e6xxx_phy_read(struct dsa_switch *ds, int addr, int regnum);
 int mv88e6xxx_phy_write(struct dsa_switch *ds, int addr, int regnum, u16 val);
+void mv88e6xxx_ppu_state_init(struct dsa_switch *ds);
+int mv88e6xxx_phy_read_ppu(struct dsa_switch *ds, int addr, int regnum);
+int mv88e6xxx_phy_write_ppu(struct dsa_switch *ds, int addr,
+                           int regnum, u16 val);
 void mv88e6xxx_poll_link(struct dsa_switch *ds);
 void mv88e6xxx_get_strings(struct dsa_switch *ds,
                           int nr_stats, struct mv88e6xxx_hw_stat *stats,