Skip to content

Commit

Permalink
Documentation: net: phy: reflect latest changes to phylib API
Browse files Browse the repository at this point in the history
Recent changes to the phylib API
- removed phy_stop_interrupts
- replaced phy_start_interrupts with phy_request_interrupt
- moved some functionality from phy_connect() and phy_disconnect()
  to phy_start() and phy_stop() respectively.
Reflect these changes in the documentation.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Heiner Kallweit authored and David S. Miller committed Jan 26, 2019
1 parent ee4576f commit a118b19
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions Documentation/networking/phy.txt
Original file line number Diff line number Diff line change
Expand Up @@ -210,12 +210,16 @@ Letting the PHY Abstraction Layer do Everything

Lastly, once the controller is ready to handle network traffic, you call
phy_start(phydev). This tells the PAL that you are ready, and configures the
PHY to connect to the network. If you want to handle your own interrupts,
just set phydev->irq to PHY_IGNORE_INTERRUPT before you call phy_start.
Similarly, if you don't want to use interrupts, set phydev->irq to PHY_POLL.
PHY to connect to the network. If the MAC interrupt of your network driver
also handles PHY status changes, just set phydev->irq to PHY_IGNORE_INTERRUPT
before you call phy_start and use phy_mac_interrupt() from the network
driver. If you don't want to use interrupts, set phydev->irq to PHY_POLL.
phy_start() enables the PHY interrupts (if applicable) and starts the
phylib state machine.

When you want to disconnect from the network (even if just briefly), you call
phy_stop(phydev).
phy_stop(phydev). This function also stops the phylib state machine and
disables PHY interrupts.

Pause frames / flow control

Expand Down Expand Up @@ -271,11 +275,9 @@ Doing it all yourself

A convenience function to print out the PHY status neatly.

int phy_start_interrupts(struct phy_device *phydev);
int phy_stop_interrupts(struct phy_device *phydev);
void phy_request_interrupt(struct phy_device *phydev);

Requests the IRQ for the PHY interrupts, then enables them for
start, or disables then frees them for stop.
Requests the IRQ for the PHY interrupts.

struct phy_device * phy_attach(struct net_device *dev, const char *phy_id,
phy_interface_t interface);
Expand Down

0 comments on commit a118b19

Please sign in to comment.