diff options
Diffstat (limited to 'include/linux/phy.h')
| -rw-r--r-- | include/linux/phy.h | 61 | 
1 files changed, 12 insertions, 49 deletions
diff --git a/include/linux/phy.h b/include/linux/phy.h index eb3cb1a98b45..9effb511acde 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -147,16 +147,8 @@ typedef enum {  	PHY_INTERFACE_MODE_MAX,  } phy_interface_t; -/** +/*   * phy_supported_speeds - return all speeds currently supported by a PHY device - * @phy: The PHY device to return supported speeds of. - * @speeds: buffer to store supported speeds in. - * @size: size of speeds buffer. - * - * Description: Returns the number of supported speeds, and fills - * the speeds buffer with the supported speeds. If speeds buffer is - * too small to contain all currently supported speeds, will return as - * many speeds as can fit.   */  unsigned int phy_supported_speeds(struct phy_device *phy,  				      unsigned int *speeds, @@ -751,18 +743,12 @@ struct phy_driver {  	/** @read_status: Determines the negotiated speed and duplex */  	int (*read_status)(struct phy_device *phydev); -	/** @ack_interrupt: Clears any pending interrupts */ -	int (*ack_interrupt)(struct phy_device *phydev); - -	/** @config_intr: Enables or disables interrupts */ -	int (*config_intr)(struct phy_device *phydev); -  	/** -	 * @did_interrupt: Checks if the PHY generated an interrupt. -	 * For multi-PHY devices with shared PHY interrupt pin -	 * Set interrupt bits have to be cleared. +	 * @config_intr: Enables or disables interrupts. +	 * It should also clear any pending interrupts prior to enabling the +	 * IRQs and after disabling them.  	 */ -	int (*did_interrupt)(struct phy_device *phydev); +	int (*config_intr)(struct phy_device *phydev);  	/** @handle_interrupt: Override default interrupt handling */  	irqreturn_t (*handle_interrupt)(struct phy_device *phydev); @@ -1022,14 +1008,9 @@ static inline int __phy_modify_changed(struct phy_device *phydev, u32 regnum,  					regnum, mask, set);  } -/** +/*   * phy_read_mmd - Convenience function for reading a register   * from an MMD on a given PHY. - * @phydev: The phy_device struct - * @devad: The MMD to read from - * @regnum: The register on the MMD to read - * - * Same rules as for phy_read();   */  int phy_read_mmd(struct phy_device *phydev, int devad, u32 regnum); @@ -1064,38 +1045,21 @@ int phy_read_mmd(struct phy_device *phydev, int devad, u32 regnum);  	__ret; \  }) -/** +/*   * __phy_read_mmd - Convenience function for reading a register   * from an MMD on a given PHY. - * @phydev: The phy_device struct - * @devad: The MMD to read from - * @regnum: The register on the MMD to read - * - * Same rules as for __phy_read();   */  int __phy_read_mmd(struct phy_device *phydev, int devad, u32 regnum); -/** +/*   * phy_write_mmd - Convenience function for writing a register   * on an MMD on a given PHY. - * @phydev: The phy_device struct - * @devad: The MMD to write to - * @regnum: The register on the MMD to read - * @val: value to write to @regnum - * - * Same rules as for phy_write();   */  int phy_write_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val); -/** +/*   * __phy_write_mmd - Convenience function for writing a register   * on an MMD on a given PHY. - * @phydev: The phy_device struct - * @devad: The MMD to write to - * @regnum: The register on the MMD to read - * @val: value to write to @regnum - * - * Same rules as for __phy_write();   */  int __phy_write_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val); @@ -1510,16 +1474,13 @@ int genphy_suspend(struct phy_device *phydev);  int genphy_resume(struct phy_device *phydev);  int genphy_loopback(struct phy_device *phydev, bool enable);  int genphy_soft_reset(struct phy_device *phydev); +irqreturn_t genphy_handle_interrupt_no_ack(struct phy_device *phydev);  static inline int genphy_config_aneg(struct phy_device *phydev)  {  	return __genphy_config_aneg(phydev, false);  } -static inline int genphy_no_ack_interrupt(struct phy_device *phydev) -{ -	return 0; -}  static inline int genphy_no_config_intr(struct phy_device *phydev)  {  	return 0; @@ -1570,8 +1531,10 @@ void phy_drivers_unregister(struct phy_driver *drv, int n);  int phy_driver_register(struct phy_driver *new_driver, struct module *owner);  int phy_drivers_register(struct phy_driver *new_driver, int n,  			 struct module *owner); +void phy_error(struct phy_device *phydev);  void phy_state_machine(struct work_struct *work);  void phy_queue_state_machine(struct phy_device *phydev, unsigned long jiffies); +void phy_trigger_machine(struct phy_device *phydev);  void phy_mac_interrupt(struct phy_device *phydev);  void phy_start_machine(struct phy_device *phydev);  void phy_stop_machine(struct phy_device *phydev);  | 
