The AR8327 switch gets its configuration from platform
data or from the device-tree. This allows to start it
from the probe routine. Doing so makes it usable with
ethernet drivers which only connects to the PHY device
when the ethernet interface is opened.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36050
Move switch starting code into a separate function.
This makes it usable from other places.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36049
Move platform_data specific configuration code
into a separate routine. Do it in preparation
for the upcoming OF support.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36046
Fetch the PORT_STATUS values in ar8327_hw_init and
store those in a private data stucture for later use.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36045
Return with the PORT_STATUS register value instead of
writing that directly into the corresponding register.
Also rename the function to ar8327_get_port_init_status.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36043
The presence of the platform data is already verified in
ar8327_hw_init, and the driver does not start without that
anyway.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36042
Setting this bit stops BCM53125 (bgmac actually) from receiving any
packets. This bit is cleared conditionally in b53_switch_reset and it
seems the same is done in bcmrobo.c which never sets that bit again.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 35723
This contains the following new bigger changes:
* new partition parser which still could lake some features or have bugs
* new nand flash driver
* using physmap-flash flash driver for parallel flash
* some changes to the serial flash driver
With these changes OpenWrt starts using more of the mainline flash drivers.
SVN-Revision: 35632
r35336 exposed PTP, which has additional drivers on ixp4xx, causing it to
not build with PTP enabled.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 35611
Currently the switch gets registered when an ethernet
driver connects to a PHY of the switch. This method does
not work with the ethernet drivers which are connecting
to the PHY from their ndo_open callback. With those
ethernet drivers, the driver tries to register the switch
each time when the etherned device is opened and this causes
a deadlock.
Move the switch registration into the probe routine to fix
this problem.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35602
The switches are accessed via an MDIO bus. Set the alias
to the name of the MDIO bus, and show that in the message
along with the name of the switch switch device.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35560
The private data of the switch is already
allocated in ar8216_priv, assign that to
each PHY on the same MDIO bus. Also remove
the redundant code from ar8216_config_init.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35559
Sujith says:
This commit breaks the WAN port on my AP96 - DHCP fails.
Reverting it fixes the issue.
commit b67cc3a0cdd02973610d4d5a63226d1c44841e94
Author: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Fri Feb 8 09:13:18 2013 +0000
generic: ar8216: simplify phy features setup
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@355183c298f89-4303-0410-b956-a3cf2f4a3e73
This change restores the previous behaviour and moves
the code into the ar8216_probe function.
Reported-by: Sujith Manoharan <sujith@msujith.org>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Tested-by: Sujith Manoharan <sujith@msujith.org>
SVN-Revision: 35549
b53_switch_detect returns value returned by b53_read8, which is 0 for
success. So fail (and return error) only if b53_switch_detect returned
something else than 0. This fixes supported and advertising being zeros
for MDIO access.
Cc: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 35534
It is enough to sleep once after ANEG is enabled on
all PHYs. This reduces boot time on boards with
AR8316 switch.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35532
Use the detach callback to disable packet mangling
to avoid possible NULL pointer dereference.
Compile tested only.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35512
recent kernels have finally stopped exporting kernel_thread, since a
deprecation circa 2006. This patch attempts to convert to the newer
kernel kthread API, particularly in random.c
[juhosg: remove randomproc variable, it is not required after the patch]
Signed-off-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35456
Fix GigaDevice GD25Q32/GD25Q64 SPI Flash bad commit.
The patch was added to "linux/generic/patches-3.6" instead of
"target/linux/generic/patches-3.6".
I also fixed a missing patch space and refreshed generic patches.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 35367
Add swconfig switch driver for Broadcom BCM53XX switch chips. Supports
switches connected through MDIO, SPI or memory mapped registers, and
supports BCM5325, BCM539x, BCM531x5 and the BCM63XX internal switch
chips.
Tested are BCM5325 trough MDIO, BCM53115 through SPI, and BCM6328.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 35305
Only assign a pvid if the current pvid is 0. Fixes using mixed tagged
and untagged traffic on a port and the untagged vlan isn't the last one
of which the port is a member.
Tested on RTL8366S and RTL8367R.
Fixes#8501.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 35227
This brings in the initial support for the Marvell Armada XP/370 SoCs.
Successfully tested on RD-A370-A1 and DB-MV784MP-GP boards the following
interfaces:
- Ethernet
- SDIO
- GPIOs
- SATA
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 35058
This Ethernet driver is in early development stage and still has some problems.
This was working on my bcm4716 based device.
Thanks to Rafał Miłecki <zajec5@gmail.com> for writing this driver.
SVN-Revision: 34995
Backport of upstream commits:
86e4cb35f2260374df4139c2352afe7fe247cb60 usb: host: ehci-platform: BUG_ON() to WARN_ON() on probe
b6dd245c4594482d46507a0bfd100439be367952 usb: host: ohci-platform: BUG_ON() to WARN_ON() on probe
04216bedafb1b3992a6c2b7f1518281d2ba5fc7b usb: host: ehci-platform: add platform specific power callback
e4d37aeb373a5edceecc1dadc76fabbe8bc18e44 usb: host: ohci-platform: addplatform specific power callback
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34842
Same patches that I just merged for 3.6 and 3.7, except with one
additional fix that went into v3.4 that needed to be included.
Submitted more for the benefit of the AA branch than for trunk.
[juhosg: refresh the patch with quilt]
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34813
[juhosg: refresh patches with quilt, skip the patch for 3.3]
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34806
The behaviour of calling 'mount' differed depending on whether it called
the busybox-mount, the mount of util-linux, the mount defined in
/lib/functions.sh and /lib/functions/boot.sh
/etc/preinit even included /lib/functions.sh and /lib/functions/boot.sh,
both re-defining 'mount'.
SVN-Revision: 34792
CC drivers/net/phy/rtl8366rb.o
In file included from drivers/net/phy/rtl8366s.c:16:0:
include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default]
include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/net/phy/rtl8366s.c: In function 'rtl8366s_probe':
drivers/net/phy/rtl8366s.c:1094:2: warning: label 'err_out' defined but not used [-Wunused-label]
drivers/net/phy/rtl8366s.c:1055:32: warning: unused variable 'pdata'[-Wunused-variable]
CC drivers/net/phy/rtl8366rb.o
In file included from drivers/net/phy/rtl8366rb.c:17:0:
include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default]
include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/net/phy/rtl8366rb.c: In function 'rtl8366rb_probe':
drivers/net/phy/rtl8366rb.c:1214:2: warning: label 'err_out' defined but not used [-Wunused-label]
drivers/net/phy/rtl8366rb.c:1175:32: warning: unused variable 'pdata'[-Wunused-variable]
CC drivers/net/phy/rtl8367.o
In file included from drivers/net/phy/rtl8367.c:15:0:
include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default]
include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/net/phy/rtl8367.c: In function 'rtl8367_probe':
drivers/net/phy/rtl8367.c:1712:2: warning: label 'err_out' defined but not used [-Wunused-label]
drivers/net/phy/rtl8367.c:1677:32: warning: unused variable 'pdata' [-Wunused-variable]
CC drivers/net/phy/rtl8367b.o
In file included from drivers/net/phy/rtl8367b.c:15:0:
include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default]
include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/net/phy/rtl8367b.c: In function 'rtl8367b_probe':
drivers/net/phy/rtl8367b.c:1494:2: warning: label 'err_out' defined but not used [-Wunused-label]
drivers/net/phy/rtl8367b.c:1459:32: warning: unused variable 'pdata' [-Wunused-variable]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34731
fixes the following errors caused by r34682:
CC [M] drivers/net/phy/rtl8366_smi.o
In file included from drivers/net/phy/rtl8366_smi.c:26:0:
drivers/net/phy/rtl8366_smi.h:149:46: warning: 'struct platform_device' declared inside parameter list [enabled by default]
drivers/net/phy/rtl8366_smi.h:149:46: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/net/phy/rtl8366_smi.c:1398:65: warning: 'struct platform_device' declared inside parameter list [enabled by default]
drivers/net/phy/rtl8366_smi.c: In function 'rtl8366_smi_probe_plat':
drivers/net/phy/rtl8366_smi.c:1400:44: error: dereferencing pointer to incomplete type
drivers/net/phy/rtl8366_smi.c:1402:11: error: dereferencing pointer to incomplete type
drivers/net/phy/rtl8366_smi.c:1403:16: error: dereferencing pointer to incomplete type
drivers/net/phy/rtl8366_smi.c: At top level:
drivers/net/phy/rtl8366_smi.c:1415:46: warning: 'struct platform_device' declared inside parameter list [enabled by default]
drivers/net/phy/rtl8366_smi.c:1415:21: error: conflicting types for 'rtl8366_smi_probe'
drivers/net/phy/rtl8366_smi.h:149:21: note: previous declaration of 'rtl8366_smi_probe' was here
drivers/net/phy/rtl8366_smi.c: In function 'rtl8366_smi_probe':
drivers/net/phy/rtl8366_smi.c:1420:31: error: dereferencing pointer to incomplete type
drivers/net/phy/rtl8366_smi.c:1424:10: error: dereferencing pointer to incomplete type
drivers/net/phy/rtl8366_smi.c:1425:3: warning: passing argument 1 of 'rtl8366_smi_probe_of' from incompatible pointer type [enabled by default]
drivers/net/phy/rtl8366_smi.c:1392:19: note: expected 'struct device_node *' but argument is of type 'struct platform_device *'
drivers/net/phy/rtl8366_smi.c:1427:3: warning: passing argument 1 of 'rtl8366_smi_probe_plat' from incompatible pointer type [enabled by default]
drivers/net/phy/rtl8366_smi.c:1398:5: note: expected 'struct platform_device *' but argument is of type 'struct platform_device *'
drivers/net/phy/rtl8366_smi.c: At top level:
drivers/net/phy/rtl8366_smi.c:1438:1: error: conflicting types for 'rtl8366_smi_probe'
drivers/net/phy/rtl8366_smi.h:149:21: note: previous declaration of 'rtl8366_smi_probe' was here
make[7]: *** [drivers/net/phy/rtl8366_smi.o] Error 1
make[6]: *** [drivers/net/phy] Error 2
make[5]: *** [drivers/net] Error 2
make[4]: *** [drivers] Error 2
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 34703
Fixes the following compiler warning:
drivers/usb/host/pci-quirks.c:459:23: warning: 'quirk_usb_handoff_uhci' defined but not used [-Wunused-function]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34675