Drop the own PHY polling function and switch to using the kernel PHY
state machine. This change allows driver to work correctly with devices
that do not support PHY behaviour but whose driver could emulate
autonegotiation completion (e.g. MV88E6060 and IP17xx switches).
NB: earlier this driver rely on flaws in PHY core code and could use PHY
device without really starting it. But now (at least in kernel 4.9)
this trick no more work and network interface could stuck in not-running
state.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Few tiny fixes for issues caused by changes in the upstream:
- do not touch PHY IRQ array (core code initializes it itself now)
- add missed SET_NETDEV_DEV() invocation (causes segfault during phy
connection)
- use phy API inside the MDIO probe function instead of direct field
access (consider phy structure changes in upstream and prevent
similar issues in the future)
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Summary of changes:
* moved config-3.18 to config-4.4 and patches-3.18 to patches-4.4
* removed most of the first two patches, that seem to be upstream already
* changed deprecated/removed IRQF_DISABLED to zero following examples in upstream kernel patches
* added config line to disable device-tree to satisfy kernel configuration
* add new image generation code
Build tested and run tested on an Accton MR3201A.
Signed-off-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Signed-off-by: John Crispin <john@phrozen.org>
To finally sync code with upsream cleanup registers headers, and update
several comments and kernel config symbols descriptions. No functional
changes.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44731
Cleanup board patch by moving code to specific patches, and factor out
leds to separate patch. No functional changes.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 44729
Pass PHY I/O memory region via platform resources and remap them
unconditionally.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41698
Merge 3_10-updates.patch into the ar2313_ethernet.patch since it contains
only one ethernet driver fix.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41316
Use __func__ instead of gcc specific __FUNCTION__ as suggested by
checkpatch.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41093
Move trailing statements to next line with indentation as suggested by
checkpatch.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41092
Various indent fixes suggested by checkpatch: use tabs, use same level
of indentation for switch and case, correct indentation levels.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41090
Remove some unnecessary includes and use <linux/foo.h> instead of
<asm/foo.h> when it possible as suggested by checkpatch.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41089
Fix braces location, remove unnecessary empty lines before or after code
block, remove useless braces. All cases are detected by checkpatch.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41087
Remove parentheses around return values since return is no a function,
as suggested by checkpatch.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41083
Fix comment issues detected by checkpatch. Convert C99 // comments to
ordinary /* ... */ comments. Correct block comments style or convert
them to single line comments.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41081
Change fooBar variables names to foo_bar as suggested by checkpatch,
write few tables names in lower case and correctly place __initdata
keyword.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41080
This builds and boots.
Because of the function pointer indirection (e.g. mtd_info's read
function pointer is assigned to spiflash_read), it is difficult for me
to understand where the calls are coming from (could be anywhere,
conditionally pointing at spiflash versions), so I punted and used the
renamed function pointers (_erase, _read, _write). If someone knows
better what to do, please fix.
Cleaned up other sundry kernel tracking issues like get_phy_id and
__devinit,etc.
[juhosg: don't switch to that yet]
Signed-off-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35727