<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/phy, branch v3.16</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/net/phy?h=v3.16</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/net/phy?h=v3.16'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-07-29T19:25:57Z</updated>
<entry>
<title>net: phy: re-apply PHY fixups during phy_register_device</title>
<updated>2014-07-29T19:25:57Z</updated>
<author>
<name>Florian Fainelli</name>
<email>f.fainelli@gmail.com</email>
</author>
<published>2014-07-28T23:28:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d92f5dec6325079c550889883af51db1b77d5623'/>
<id>urn:sha1:d92f5dec6325079c550889883af51db1b77d5623</id>
<content type='text'>
Commit 87aa9f9c61ad ("net: phy: consolidate PHY reset in phy_init_hw()")
moved the call to phy_scan_fixups() in phy_init_hw() after a software
reset is performed.

By the time phy_init_hw() is called in phy_device_register(), no driver
has been bound to this PHY yet, so all the checks in phy_init_hw()
against the PHY driver and the PHY driver's config_init function will
return 0. We will therefore never call phy_scan_fixups() as we should.

Fix this by calling phy_scan_fixups() and check for its return value to
restore the intended functionality.

This broke PHY drivers which do register an early PHY fixup callback to
intercept the PHY probing and do things like changing the 32-bits unique
PHY identifier when a pseudo-PHY address has been used, as well as
board-specific PHY fixups that need to be applied during driver probe
time.

Reported-by: Hauke Merthens &lt;hauke-m@hauke-m.de&gt;
Reported-by: Jonas Gorski &lt;jogo@openwrt.org&gt;
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: Ensure the MDIO bus module is held</title>
<updated>2014-07-25T01:09:52Z</updated>
<author>
<name>Ezequiel Garcia</name>
<email>ezequiel.garcia@free-electrons.com</email>
</author>
<published>2014-07-23T19:47:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b3565f278a9babc00032292be489e7fbff4f48d1'/>
<id>urn:sha1:b3565f278a9babc00032292be489e7fbff4f48d1</id>
<content type='text'>
This commit adds proper module_{get,put} to prevent the MDIO bus module
from being unloaded while the phydev is connected. By doing so, we fix
a kernel panic produced when a MDIO driver is removed, but the phydev
that relies on it is attached and running.

Signed-off-by: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Tested-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: Set the driver when registering an MDIO bus device</title>
<updated>2014-07-25T01:09:52Z</updated>
<author>
<name>Ezequiel Garcia</name>
<email>ezequiel.garcia@free-electrons.com</email>
</author>
<published>2014-07-23T19:47:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a71e3c37960ce5f9c6a519bc1215e3ba9fa83e75'/>
<id>urn:sha1:a71e3c37960ce5f9c6a519bc1215e3ba9fa83e75</id>
<content type='text'>
mdiobus_register() registers a device which is already bound to a driver.
Hence, the driver pointer should be set properly in order to track down
the driver associated to the MDIO bus.

This will be used to allow ethernet driver to pin down a MDIO bus driver,
preventing it from being unloaded while the PHY device is running.

Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Tested-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>dp83640: Always decode received status frames</title>
<updated>2014-07-10T00:00:34Z</updated>
<author>
<name>Stefan Sørensen</name>
<email>stefan.sorensen@spectralink.com</email>
</author>
<published>2014-06-25T12:40:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a12f78c582b5a7a549fbee1a58d5778e651764ad'/>
<id>urn:sha1:a12f78c582b5a7a549fbee1a58d5778e651764ad</id>
<content type='text'>
Currently status frames are only handled when packet timestamping is
enabled, but status frames are also needed for pin event timestamping.

Fix by moving packet timestamping check to after status frame decode.

Signed-off-by: Stefan Sørensen &lt;stefan.sorensen@spectralink.com&gt;
Acked-by: Richard Cochran &lt;richardcochran@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: fix circular dependency in of_mdio code</title>
<updated>2014-07-02T07:24:14Z</updated>
<author>
<name>Daniel Mack</name>
<email>zonque@gmail.com</email>
</author>
<published>2014-06-27T23:23:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d9daa24720891a88bedb93928f57767da96e5c80'/>
<id>urn:sha1:d9daa24720891a88bedb93928f57767da96e5c80</id>
<content type='text'>
Commit 86f6cf4127 (net: of_mdio: add of_mdiobus_link_phydev()) introduced a
circular dependency between libphy and of_mdio.

depmod: ERROR: &lt;modroot&gt;/kernel/drivers/net/phy/libphy.ko in
dependency cycle!
depmod: ERROR: &lt;modroot&gt;/kernel/drivers/of/of_mdio.ko in dependency cycle!

The problem is that of_mdio.c references &amp;mdio_bus_type and libphy now
references of_mdiobus_link_phydev.

Fix this by not exporting of_mdiobus_link_phydev() from of_mdio.ko.
Make it a static function in mdio_bus.c instead.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Reported-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Fixes: 86f6cf4127 (net: of_mdio: add of_mdiobus_link_phydev())
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: at803x: fix coccinelle warnings</title>
<updated>2014-06-23T00:16:02Z</updated>
<author>
<name>Fengguang Wu</name>
<email>fengguang.wu@intel.com</email>
</author>
<published>2014-06-22T10:32:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8f2877cad52da0719ec01d2dcfbdd3751bb94670'/>
<id>urn:sha1:8f2877cad52da0719ec01d2dcfbdd3751bb94670</id>
<content type='text'>
drivers/net/phy/at803x.c:196:26-32: ERROR: application of sizeof to pointer

 sizeof when applied to a pointer typed expression gives the size of
 the pointer

Generated by: scripts/coccinelle/misc/noderef.cocci

Signed-off-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt;
Acked-by: Daniel Mack &lt;zonque@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: at803x: Add support for hardware reset</title>
<updated>2014-06-21T22:50:00Z</updated>
<author>
<name>Daniel Mack</name>
<email>zonque@gmail.com</email>
</author>
<published>2014-06-18T09:01:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=13a56b4493259e6b020dbcf6a76b2bef479f3edf'/>
<id>urn:sha1:13a56b4493259e6b020dbcf6a76b2bef479f3edf</id>
<content type='text'>
The AT8030 will enter a FIFO error mode if a packet is transmitted while
the cable is unplugged. This hardware issue is acknowledged by the
vendor, and the only proposed solution is to conduct a hardware reset
via the external pin each time the link goes down. There is apparantly
no way to fix up the state via the register set.

This patch adds support for reading a 'reset-gpios' property from the DT
node of the PHY. If present, this gpio is used to apply a hardware reset
each time a 'link down' condition is detected. All relevant registers
are read out before, and written back after the reset cycle.

Doing this every time the link goes down might seem like overkill, but
there is unfortunately no way of figuring out whether the PHY is in
such a lock-up state. Hence, this is the only way of reliably fixing up
things.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: at803x: use #defines for supported PHY ids</title>
<updated>2014-06-21T22:50:00Z</updated>
<author>
<name>Daniel Mack</name>
<email>zonque@gmail.com</email>
</author>
<published>2014-06-18T09:01:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bd8ca17f8c74fa36d1dfb1b82de416e310d1b64d'/>
<id>urn:sha1:bd8ca17f8c74fa36d1dfb1b82de416e310d1b64d</id>
<content type='text'>
This removes magic values from two tables and also allows us to match
against specific PHY models at runtime.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phylib: add link_change_notify callback to phy device</title>
<updated>2014-06-21T22:50:00Z</updated>
<author>
<name>Daniel Mack</name>
<email>zonque@gmail.com</email>
</author>
<published>2014-06-18T09:01:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2b8f2a28eac1d35a432705d269f02bdaeba9be8f'/>
<id>urn:sha1:2b8f2a28eac1d35a432705d269f02bdaeba9be8f</id>
<content type='text'>
Add a notify callback to inform phy drivers when the core is about to
do its link adjustment. No change for drivers that do not implement
this callback.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: realtek: register/unregister multiple drivers properly</title>
<updated>2014-06-11T22:17:27Z</updated>
<author>
<name>Jongsung Kim</name>
<email>neidhard.kim@lge.com</email>
</author>
<published>2014-06-10T03:50:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=71b9c4a8388f596b603a72c32404b39fe0f62588'/>
<id>urn:sha1:71b9c4a8388f596b603a72c32404b39fe0f62588</id>
<content type='text'>
Using phy_drivers_register/_unregister functions is proper way to
handle multiple PHY drivers registration. For Realtek PHY drivers
module, it fixes incomplete current error-handlings up and adds
missed unregistration for the RTL8201CP driver.

Signed-off-by: Jongsung Kim &lt;neidhard.kim@lge.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
