linux/drivers/net/phy
Clemens Gruber 79be1a1c90 phy: marvell: Fix and unify reg-init behavior
For the Marvell 88E1510, marvell_of_reg_init was called too late, in the
config_aneg function.
Since commit 113c74d83e ("net: phy: turn carrier off on phy attach"),
this lead to the link not coming up at boot anymore, due to the phy
state machine being stuck at waiting for interrupts (off by default on
the 88E1510).
For seven other Marvell PHYs, marvell_of_reg_init was not called at all.

Add a generic marvell_config_init function, which in turn calls
marvell_of_reg_init.
PHYs, which already have a specific config_init function with a call to
marvell_of_reg_init, are left untouched. The generic marvell_config_init
function is called for all the others, to get consistent behavior across
all Marvell PHYs.

Fixes: 113c74d83e ("net: phy: turn carrier off on phy attach")
Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-17 16:20:40 -05:00
..
amd.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
aquantia.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
at803x.c net: phy: at803x: Add the interrupt register bit definitions 2016-01-17 19:16:47 -05:00
bcm7xxx.c net: phy: bcm7xxx: Remove wildcard entries 2016-02-16 14:55:36 -05:00
bcm63xx.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
bcm87xx.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
bcm-cygnus.c net: phy: Broadcom Cygnus internal Etherent PHY driver 2015-10-08 04:45:52 -07:00
bcm-phy-lib.c phy: phy_{read|write}_mmd_indirect: get addr from phydev 2016-01-07 14:31:25 -05:00
bcm-phy-lib.h net: phy: Add Broadcom phy library for common interfaces 2015-10-08 04:45:46 -07:00
broadcom.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
cicada.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
davicom.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
dp83640_reg.h
dp83640.c net: dp83640: Fix tx timestamp overflow handling. 2016-01-20 18:54:08 -08:00
dp83848.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
dp83867.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
et1011c.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
fixed_phy.c phy: Add an mdio_device structure 2016-01-07 14:31:26 -05:00
icplus.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
Kconfig net: Fix dependencies for !HAS_IOMEM archs 2016-01-28 16:03:19 -08:00
lxt.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
Makefile mdio: Add support for mdio drivers. 2016-01-07 14:31:27 -05:00
marvell.c phy: marvell: Fix and unify reg-init behavior 2016-02-17 16:20:40 -05:00
mdio_bus.c mdio_bus: NULL dereference on allocation error 2016-01-12 11:49:20 -05:00
mdio_device.c mdio: Abstract device_remove() and device_free() 2016-01-07 14:31:27 -05:00
mdio-bcm-iproc.c net: phy: Broadcom iProc MDIO bus driver 2015-10-08 04:44:46 -07:00
mdio-bcm-unimac.c mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00
mdio-bitbang.c net: phy: mdio-gpio: Handle phy_ignore_ta_mask 2015-05-14 13:40:55 -04:00
mdio-gpio.c mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00
mdio-moxart.c mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00
mdio-mux-gpio.c gpiolib: rename gpiod_set_array to gpiod_set_array_value 2015-06-01 15:10:09 +02:00
mdio-mux-mmioreg.c net: phy: mdio: add missing of_node_put 2015-10-26 22:08:12 -07:00
mdio-mux.c mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00
mdio-octeon.c mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00
mdio-sun4i.c mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00
micrel.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-01-11 23:55:43 -05:00
microchip.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
national.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
phy_device.c phy: keep pause flags in phy driver features 2016-02-17 10:48:07 -05:00
phy.c net: phy: Fix phy_mac_interrupt() 2016-01-21 10:48:51 -08:00
qsemi.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
realtek.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
smsc.c net: phy: smsc: Fix disabling energy detect mode 2016-01-21 12:06:03 -08:00
spi_ks8995.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
ste10Xp.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
teranetics.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
vitesse.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00