linux/drivers/net
Quentin Schulz 6a0bfbbe20 net: phy: mscc: migrate to phy_select/restore_page functions
The Microsemi PHYs have multiple banks of registers (called pages).
Registers can only be accessed from one page, if we need a register from
another page, we need to switch the page and the registers of all other
pages are not accessible anymore.

Basically, to read register 5 from page 0, 1, 2, etc., you do the same
phy_read(phydev, 5); but you need to set the desired page beforehand.

In order to guarantee that two concurrent functions do not change the
page, we need to do some locking per page. This can be achieved with the
use of phy_select_page and phy_restore_page functions but phy_write/read
calls in-between those two functions shall be replaced by their
lock-free alternative __phy_write/read.

Let's migrate this driver to those functions.

Suggested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-10-08 10:29:20 -07:00
..
appletalk
arcnet
bonding bonding: fix warning message 2018-10-02 15:55:16 -07:00
caif
can
dsa Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-06 14:43:42 -07:00
ethernet net: dpaa2: fix and improve dpaa2-ptp driver 2018-10-08 10:23:22 -07:00
fddi net: fddi: skfp: Remove unused function 2018-09-21 19:05:06 -07:00
fjes
hamradio yam: fix a missing-check bug 2018-10-05 11:54:55 -07:00
hippi
hyperv hv_netvsc: remove ndo_poll_controller 2018-10-02 22:57:34 -07:00
ieee802154 Merge branch 'ieee802154-for-davem-2018-10-04' of git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan-next 2018-10-04 09:32:48 -07:00
ipvlan
netdevsim
phy net: phy: mscc: migrate to phy_select/restore_page functions 2018-10-08 10:29:20 -07:00
plip
ppp
slip
team team: Forbid enslaving team device to itself 2018-10-04 13:55:40 -07:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-06 14:43:42 -07:00
vmxnet3
wan
wimax wimax/i2400m: fix spelling mistake "not unitialized" -> "uninitialized" 2018-09-26 20:09:58 -07:00
wireless wireless-drivers-next patches for 4.20 2018-10-07 10:31:24 -07:00
xen-netback Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-03 21:00:17 -07:00
dummy.c
eql.c
geneve.c geneve: allow to clear ttl inherit 2018-10-04 13:54:30 -07:00
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c DRIVERS: net: macsec: Fix multiple coding style issues 2018-09-21 18:57:20 -07:00
macvlan.c
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c net: tap: remove redundant null pointer check before kfree_skb 2018-09-21 09:04:37 -07:00
thunderbolt.c
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-03 21:00:17 -07:00
veth.c
virtio_net.c virtio_net: remove ndo_poll_controller 2018-09-28 11:12:29 -07:00
vrf.c ipv6: add vrf table handling code for ipv6 mcast 2018-10-02 22:29:08 -07:00
vsockmon.c
vxlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-03 21:00:17 -07:00
xen-netfront.c