Commit Graph

55 Commits (1f81f496a7fb4b86cc0eb04d534c27f1484efa80)

Author SHA1 Message Date
Gabor Juhos abb05a413a generic: add port mirroring/monitoring capability to rtl8366rb switch
This patch adds swlib attributes to the RTL8366RB switch/PHY found in the
TL-WR1043ND router that allow to mirror ethernet packets to a monitor port.

Signed-off-by: Colin Leitner <colin.leitner@googlemail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36847 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-04 13:25:52 +00:00
Hauke Mehrtens 16d7ea5f38 kernel: remove __devinit, __devexit and __devexit_p for kernel 3.8
These attributes where removed with kernel 3.8 and are now causing compile errors.


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35328 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-01-27 17:48:48 +00:00
Gabor Juhos 2bd28b3fe4 generic: rtl836x: fix compiler warnings
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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34731 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-17 13:02:18 +00:00
Jonas Gorski 2c6f31f9d5 linux: generic: rtl836*: fix compilation with !CONFIG_OF
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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34703 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-15 13:32:02 +00:00
John Crispin 7d0cb0b8f0 [kernel] make rtl8366 driver OF capable
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34682 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-15 01:59:08 +00:00
Gabor Juhos fcbe8ef24f generic: rtl836x: add hw_reset field to struct rtl8366_smi
It will be used to start/stop the switch if that is
supported by the given board.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32943 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-02 09:54:21 +00:00
Gabor Juhos 2341f7444d linux: rtl836x: add a generic reset_switch function
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31536 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-29 18:29:31 +00:00
Gabor Juhos bd9308390c linux: rtl836x: rename rtl836*_hw_init to rtl836*_setup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31535 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-29 18:29:29 +00:00
Gabor Juhos b29026e34d linux: rtl836x: add a reset_chip callback to rtl8366_smi_ops
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31534 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-29 18:29:26 +00:00
Gabor Juhos 81e9ccaa83 generic: rtl8366rb: use the generic get_port_link implementation
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30842 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-07 16:32:37 +00:00
Gabor Juhos 31a1cdad82 generic: rtl8366: add rtl8366_smi_write_reg_noack helper
After issuing a soft reset on the RT8366{S,RB}
switch, waiting for the last acknowlegement fails
in rtl8366_smi_write_reg. Add a _noack version of
the function and use that for issuing a soft reset.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29844 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-21 22:44:09 +00:00
Gabor Juhos 7005c737ab generic: rtl8366: preparing for RTL8367 support
* make clock delay configurable
* make read,write commands configurable
* use u16 for member and untag fields

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29677 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-07 19:36:30 +00:00
Jonas Gorski c86f6a9235 swconfig: Add generic switch identifiers
Also make switches available under a generic name "switch<num>" for device
name agnostic access. The old device name is used as an alias for backward
compatibility.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27800 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-27 18:00:18 +00:00
Felix Fietkau 9e73b3969d rtl8366: unify rtl8366s and rtl8366rb platform data
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27754 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-24 14:40:23 +00:00
Gabor Juhos 6c38894393 generic: rtl8366{s,rb}: remove the PHY driver.
Since the PHY driver is only used for the WAN port and there is virtually
no difference between it and the generic PHY driver, we can sefely remove
it.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26600 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-04-12 09:29:07 +00:00
Gabor Juhos 83ed5e6afe generic: rtl8366: enable vlans before enabling the ports
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24939 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-01-08 20:24:29 +00:00
Gabor Juhos 38528d474d generic: rtl8366: enable ports only after VLAN configuration is done
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24938 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-01-08 20:24:26 +00:00
Gabor Juhos b16b9edaed generic: rtl8366: add enable_port helper
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24937 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-01-08 20:24:22 +00:00
Gabor Juhos 2323c2d47a generic: rtl8366rb: use correct bitmasks in sanity checks
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24930 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-01-08 11:28:35 +00:00
Gabor Juhos 8120006c05 generic: add rtl8366rb switch vlan fid support
Allows to use fids 0 to 7. Default is 0.
Those who will use this don't forget to `set vlan fid` every time
after `set vlan ports` if you want non default behavior.
Minor changes. Version bump.

Signed-off-by: Roman Yeryomin <roman@advem.lv>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24125 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-24 10:01:21 +00:00
Felix Fietkau 48c1d5e50c rt8366*: use __devinit instead of __init for the probe function to fix a section mismatch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23573 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-10-21 18:42:05 +00:00
Gabor Juhos 9ec1d552db generic: RTL8366S/RB: Fix autonegotiation for the WAN port.
The RTL8366S/RB support connecting a second mac to it and using the 5th
port as an independent phy. Therefore we need to handle autonegotiation
changes for phy 4 like on a single phy device.

This fixes #7980, verified on a WNDR3700.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23127 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-27 14:42:05 +00:00
Gabor Juhos e0c47b311f generic: add rtl8366rb switch port rate, port and qos enable/disable support
Patch-by: Roman Yeryomin <roman@advem.lv>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23126 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-27 14:41:54 +00:00
Gabor Juhos d5b64743a9 generic: rtl8366: allow use of VIDs 16-4095 if vlan4k is enabled
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22704 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-08-18 16:00:39 +00:00
Gabor Juhos 743e9ac1fc generic: rtl8366: add generic code to enable VLANs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22703 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-08-18 16:00:37 +00:00
Gabor Juhos 9b84518158 generic: rtl8366: add enable_vlan{,4k} to smi_ops
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22702 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-08-18 16:00:34 +00:00
Gabor Juhos 19a32babeb generic: fix LED control on the RTL8366 switches
* patch from #7713

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22656 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-08-15 06:47:42 +00:00
Felix Fietkau 7fa1233c66 rtl8366: re-enable learning by default, disabling it broke switching functionality.
add a configuration option for dynamically enabling/disabling this feature.
based on patch from #7637

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22545 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-08-08 20:15:10 +00:00
Felix Fietkau 3d5783d3c4 swconfig: cleanup of kernel drivers and interface
- add some comments to a few data structures
- add a switch_dev_ops data structure for attributes and callback to replace the stupid template memcpy
- get rid of the switch_dev.priv pointer - using container_of() is better

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22476 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-08-04 00:43:40 +00:00
Gabor Juhos 2693b15c0e generic: rtl8366: add common rtl8366_sw_{get,set}_vlan_ports functions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22204 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:50 +00:00
Gabor Juhos 7b6b73dc84 generic: rtl8366: add common rtl8366_sw_get_vlan_info
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22203 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:47 +00:00
Gabor Juhos 80fd673252 generic: rtl8366: use smi->num_ports and smi->ops->get_vlan_4k
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22202 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:43 +00:00
Gabor Juhos d2d1fc5eb6 generic: rtl8366: add is_vlan_valid function to smi_ops
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22201 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:39 +00:00
Gabor Juhos cf551c6259 generic: rtl8366: add common rtl8366_sw_get_port_mib function
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22200 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:36 +00:00
Gabor Juhos bd79e0b9fc generic: rtl8366: generealize rtl8366{s,rb}_sw_get_port_mib functions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22199 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:32 +00:00
Gabor Juhos 66dcd51b3e generic: rtl8366: add common rtl8366_sw_{get,set}_port_pvid functions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22197 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:25 +00:00
Gabor Juhos 23ba874c9c generic: rtl8366: add setup to rtl8366_smi_ops struct
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22196 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:21 +00:00
Gabor Juhos 6ccacc5e4f generic: rtl8366: introduce rtl8366_smi_alloc
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22195 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:16 +00:00
Gabor Juhos 430322ad55 generic: rtl8366: get rid of private rtl8366{s,rb} structs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22194 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:10 +00:00
Gabor Juhos 107c356916 generic: rtl8366: move switch device to the rtl8366_smi struct
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22193 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:06 +00:00
Gabor Juhos 1f37fff7de generic: rtl8366: get rid of private vlan_{mc,4k} structs
The usage of bitfields causes problems in Little-Endian mode. Remove
them and manipulate the bits directly in the appropriate functions. This
change also reduces the size of the binary a bit.


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22192 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:05:02 +00:00
Gabor Juhos e215d60a70 generic: rtl8366: use SWITCH_TYPE_NOVAL for reset_mib attributes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22191 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 13:04:57 +00:00
Gabor Juhos d4a858f5a6 generic: rtl8366: enable VLAN ingress filtering
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22044 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-02 09:55:57 +00:00
Gabor Juhos 19842ab5da generic: rtl8366: minor cleanup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21985 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-28 17:24:05 +00:00
Gabor Juhos f10a8dfb53 generic: rtl8366: add common read_debugfs_mibs function
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21984 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-28 17:24:02 +00:00
Gabor Juhos dfb546253b generic: rtl8366: standardize read_debugfs_mibs functions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21983 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-28 17:23:59 +00:00
Gabor Juhos 9362583263 generic: rtl8366: use common rtl8366_mib_counter structure
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21982 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-28 17:23:56 +00:00
Gabor Juhos 940796c8f1 generic: rtl8366: move common debugfs code to rtl8366_smi.c
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21981 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-28 17:23:52 +00:00
Gabor Juhos 7ddede48ae generic: rtl8366: move buf to struct rtl8366_smi
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21980 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-28 17:23:48 +00:00
Gabor Juhos 7639f28439 generic: rtl8366: move common VLAN handling functions to rtl8366_smi.c
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21979 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-28 17:23:45 +00:00