net: sfp: move quirk handling into sfp.c
[linux-2.6-block.git] / drivers / net / phy / sfp.h
index 27226535c72b79d2ebdd6bb39697cc42a62ed619..03f1d47fe6ca09aa085127bd27616aff9cffebbc 100644 (file)
@@ -6,6 +6,12 @@
 
 struct sfp;
 
+struct sfp_quirk {
+       const char *vendor;
+       const char *part;
+       void (*modes)(const struct sfp_eeprom_id *id, unsigned long *modes);
+};
+
 struct sfp_socket_ops {
        void (*attach)(struct sfp *sfp);
        void (*detach)(struct sfp *sfp);
@@ -23,7 +29,8 @@ int sfp_add_phy(struct sfp_bus *bus, struct phy_device *phydev);
 void sfp_remove_phy(struct sfp_bus *bus);
 void sfp_link_up(struct sfp_bus *bus);
 void sfp_link_down(struct sfp_bus *bus);
-int sfp_module_insert(struct sfp_bus *bus, const struct sfp_eeprom_id *id);
+int sfp_module_insert(struct sfp_bus *bus, const struct sfp_eeprom_id *id,
+                     const struct sfp_quirk *quirk);
 void sfp_module_remove(struct sfp_bus *bus);
 int sfp_module_start(struct sfp_bus *bus);
 void sfp_module_stop(struct sfp_bus *bus);