/* SPDX-License-Identifier: GPL-2.0-only */ /***************************************************************************** * * * File: cphy.h * * $Revision: 1.7 $ * * $Date: 2005/06/21 18:29:47 $ * * Description: * * part of the Chelsio 10Gb Ethernet Driver. * * * * * * http://www.chelsio.com * * * * Copyright (c) 2003 - 2005 Chelsio Communications, Inc. * * All rights reserved. * * * * Maintainers: [email protected] * * * * Authors: Dimitrios Michailidis <[email protected]> * * Tina Yang <[email protected]> * * Felix Marti <[email protected]> * * Scott Bardone <[email protected]> * * Kurt Ottaway <[email protected]> * * Frank DiMambro <[email protected]> * * * * History: * * * ****************************************************************************/ #ifndef _CXGB_CPHY_H_ #define _CXGB_CPHY_H_ #include "common.h" struct mdio_ops { … }; /* PHY interrupt types */ enum { … }; enum { … }; struct cphy; /* PHY operations */ struct cphy_ops { … }; /* A PHY instance */ struct cphy { … }; /* Convenience MDIO read/write wrappers */ static inline int cphy_mdio_read(struct cphy *cphy, int mmd, int reg, unsigned int *valp) { … } static inline int cphy_mdio_write(struct cphy *cphy, int mmd, int reg, unsigned int val) { … } static inline int simple_mdio_read(struct cphy *cphy, int reg, unsigned int *valp) { … } static inline int simple_mdio_write(struct cphy *cphy, int reg, unsigned int val) { … } /* Convenience initializer */ static inline void cphy_init(struct cphy *phy, struct net_device *dev, int phy_addr, const struct cphy_ops *phy_ops, const struct mdio_ops *mdio_ops) { … } /* Operations of the PHY-instance factory */ struct gphy { … }; extern const struct gphy t1_my3126_ops; extern const struct gphy t1_mv88e1xxx_ops; extern const struct gphy t1_vsc8244_ops; extern const struct gphy t1_mv88x201x_ops; #endif /* _CXGB_CPHY_H_ */