linux/drivers/net
Sergei Shtylyov bafbdd527d phylib: Add device reset GPIO support
The PHY devices sometimes do have their reset signal (maybe even power
supply?) tied to some GPIO and sometimes it also does happen that a boot
loader does not leave it deasserted. So far this issue has been attacked
from (as I believe) a wrong angle: by teaching the MAC driver to manipulate
the GPIO in question; that solution, when applied to the device trees, led
to adding the PHY reset GPIO properties to the MAC device node, with one
exception: Cadence MACB driver which could handle the "reset-gpios" prop
in a PHY device subnode. I believe that the correct approach is to teach
the 'phylib' to get the MDIO device reset GPIO from the device tree node
corresponding to this device -- which this patch is doing...

Note that I had to modify the AT803x PHY driver as it would stop working
otherwise -- it made use of the reset GPIO for its own purposes...

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Rob Herring <robh@kernel.org>
[geert: Propagate actual errors from fwnode_get_named_gpiod()]
[geert: Avoid destroying initial setup]
[geert: Consolidate GPIO descriptor acquiring code]
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Richard Leitner <richard.leitner@skidata.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-12-05 12:51:19 -05:00
..
appletalk Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
arcnet Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
bonding bonding: use nla_get_u64 to extract the value for IFLA_BOND_AD_ACTOR_SYSTEM 2017-11-28 15:56:40 -05:00
caif treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-12-05 10:44:19 -05:00
cris drivers/net: cris: Convert timers to use timer_setup() 2017-11-21 15:46:44 -08:00
dsa Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-12-05 10:44:19 -05:00
ethernet net: hns3: Refactors the requested reset & pending reset handling code 2017-12-05 11:45:18 -05:00
fddi
fjes
hamradio treewide: Remove TIMER_FUNC_TYPE and TIMER_DATA_TYPE casts 2017-11-21 16:35:54 -08:00
hippi Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
hyperv hv_netvsc: optimize initialization of RNDIS header 2017-12-03 10:10:02 -05:00
ieee802154 ieee802154: ca8210: use __func__ macro for debug messages 2017-11-06 16:39:14 +01:00
ipvlan Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-12-05 10:44:19 -05:00
netdevsim netdevsim: add SR-IOV functionality 2017-12-03 00:27:58 +01:00
phy phylib: Add device reset GPIO support 2017-12-05 12:51:19 -05:00
plip net: plip: mark expected switch fall-throughs 2017-11-05 22:19:00 +09:00
ppp ppp: exit_net cleanup checks added 2017-11-14 15:46:17 +09:00
slip treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
team Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
usb net: qmi_wwan: add Quectel BG96 2c7c:0296 2017-11-21 20:17:47 +09:00
vmxnet3 vmxnet3: increase default rx ring sizes 2017-11-30 14:06:58 -05:00
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-29 13:10:25 -08:00
wimax
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-29 13:10:25 -08:00
xen-netback
dummy.c net: dummy: remove fake SR-IOV functionality 2017-12-03 00:27:58 +01:00
eql.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
geneve.c geneve: only configure or fill UDP_ZERO_CSUM6_RX/TX info when CONFIG_IPV6 2017-11-24 03:29:22 +09:00
gtp.c
ifb.c
Kconfig netdevsim: add software driver for testing offloads 2017-12-03 00:27:57 +01:00
LICENSE.SRC
loopback.c
macsec.c genetlink: fix genlmsg_nlhdr() 2017-11-16 10:49:00 +09:00
macvlan.c
macvtap.c
Makefile netdevsim: add software driver for testing offloads 2017-12-03 00:27:57 +01:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c tap: free skb if flags error 2017-12-02 21:31:03 -05:00
thunderbolt.c net: thunderbolt: Stop using zero to mean no valid DMA mapping 2017-11-25 23:56:02 +09:00
tun.c tun: add eBPF based queue selection method 2017-12-05 12:01:49 -05:00
veth.c
virtio_net.c Merge branch 'akpm' (patches from Andrew) 2017-11-15 19:42:40 -08:00
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
vsockmon.c
vxlan.c vxlan: use __be32 type for the param vni in __vxlan_fdb_delete 2017-11-28 15:57:12 -05:00
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-29 13:10:25 -08:00