net: phy: leds: add support for led triggers on phy link state change
authorZach Brown <zach.brown@ni.com>
Mon, 17 Oct 2016 15:49:55 +0000 (10:49 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 Oct 2016 15:56:31 +0000 (11:56 -0400)
commit2e0bc452f4721520502575362a9cd3c1248d2337
treeab99eed259b226f6294a4540380e15ae9a17432b
parent1f9127caece42514a47011326b83ad93d95cd5d7
net: phy: leds: add support for led triggers on phy link state change

Create an option CONFIG_LED_TRIGGER_PHY (default n), which will create a
set of led triggers for each instantiated PHY device. There is one LED
trigger per link-speed, per-phy.
The triggers are registered during phy_attach and unregistered during
phy_detach.

This allows for a user to configure their system to allow a set of LEDs
not controlled by the phy to represent link state changes on the phy.
LEDS controlled by the phy are unaffected.

For example, we have a board where some of the leds in the
RJ45 socket are controlled by the phy, but others are not. Using the
triggers provided by this patch the leds not controlled by the phy can
be configured to show the current speed of the ethernet connection. The
leds controlled by the phy are unaffected.

Signed-off-by: Josh Cartwright <josh.cartwright@ni.com>
Signed-off-by: Nathan Sullivan <nathan.sullivan@ni.com>
Signed-off-by: Zach Brown <zach.brown@ni.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/Kconfig
drivers/net/phy/Makefile
drivers/net/phy/phy.c
drivers/net/phy/phy_device.c
drivers/net/phy/phy_led_triggers.c [new file with mode: 0644]
include/linux/phy.h
include/linux/phy_led_triggers.h [new file with mode: 0644]