linux/drivers/net
Vaibhav Hiremath 1fb19aa730 net: cpsw: Add parent<->child relation support between cpsw and mdio
CPGMAC SubSystem consist of various sub-modules, like, mdio, cpdma,
cpsw, etc... These sub-modules are also used in some of Davinci family
of devices. Now based on requirement, use-case and available technology
nodes the integration of these sub-modules varies across devices.

So coming back to Linux net driver, currently separate and independent
platform devices & drivers for CPSW and MDIO is implemented. In case of
Davinci they both has separate control, from resources perspective,
like clock.

In case of AM33XX, the resources are shared and only one register
bit-field is provided to control module/clock enable/disable, makes it
difficult to handle common resource.

So the solution here implemented in this patch is,

Create parent<->child relationship between both the drivers, making
CPSW as a parent and MDIO as its child and enumerate all the child nodes
under CPSW module.
Both the drivers will function exactly the way it was operating before,
including runtime-pm functionality. No change is required in MDIO driver
(for that matter to any child driver).

As this is only supported during DT boot, the parent<->child relationship
is created and populated in DT execution flow. The only required change
is inside DTS file, making MDIO as a child to CPSW node.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-14 22:09:06 -05:00
..
appletalk net: Use PTR_RET rather than if(IS_ERR(.. [1] 2012-08-06 13:30:02 -07:00
arcnet
bonding bonding: fix second off-by-one error 2012-11-01 11:53:44 -04:00
caif caif: fix NULL pointer check 2012-07-24 13:54:16 -07:00
can can: sja1000: fix/add miniPCIe/cPCI PC/104Plus PCI/104e PEAK-System boards 2012-10-24 10:53:49 +02:00
cris cris: fix eth_v10.c build error 2012-08-03 20:32:31 -07:00
dsa
ethernet net: cpsw: Add parent<->child relation support between cpsw and mdio 2012-11-14 22:09:06 -05:00
fddi fddi: 64 bit bug in smt_add_para() 2012-09-01 22:44:13 -04:00
hamradio sections: fix section conflicts in drivers/net/hamradio 2012-10-06 03:04:43 +09:00
hippi
hyperv hyperv: Remove unnecessary comments in rndis_filter_receive_data() 2012-10-21 20:35:40 -04:00
ieee802154 workqueue: avoid using deprecated functions 2012-10-02 16:01:31 -07:00
irda irda: sh-irda: Remove SH7377 support 2012-11-08 21:59:35 -05:00
phy net/phy/davicom: add irq functions to DM9161E and DM9161A 2012-11-14 18:51:02 -05:00
plip
ppp ppp: make ppp_get_stats64 static 2012-11-01 12:38:31 -04:00
slip
team team: set qdisc_tx_busylock to avoid LOCKDEP splat 2012-10-04 15:53:48 -04:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-10 18:32:51 -05:00
vmxnet3 vmxnet3: fix indentation 2012-11-14 21:48:16 -05:00
wan Make the wanxl firmware array const 2012-11-09 16:28:37 -05:00
wimax wimax/i2400m: use is_zero_ether_addr() instead of memcmp() 2012-08-24 13:30:26 -04:00
wireless Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-11-14 13:33:43 -05:00
xen-netback xen: netback: handle compound page fragments on transmit. 2012-10-10 22:50:45 -04:00
dummy.c net: fix race condition in several drivers when reading stats 2012-07-22 12:12:32 -07:00
eql.c
ifb.c
Kconfig vxlan: Depend on CONFIG_INET 2012-10-02 14:37:31 -04:00
LICENSE.SRC
loopback.c net: loopback: set default mtu to 64K 2012-09-24 16:23:53 -04:00
macvlan.c netlink: add attributes to fdb interface 2012-10-01 18:39:44 -04:00
macvtap.c macvtap: rcu_dereference outside read-lock section 2012-08-12 13:40:48 -07:00
Makefile vxlan: virtual extensible lan 2012-10-01 18:39:45 -04:00
mdio.c
mii.c
netconsole.c netconsole: add oops_only module option 2012-11-08 22:06:36 -05:00
rionet.c rapidio/rionet: rework to support multiple RIO master ports 2012-10-06 03:05:23 +09:00
sb1000.c
Space.c
sungem_phy.c
tun.c tun: report orphan frags errors to zero copy callback 2012-11-02 21:29:57 -04:00
veth.c veth: allow changing the mac address while interface is up 2012-11-01 12:26:10 -04:00
virtio_net.c virtio_net: use net_*_ratelimited() helpers 2012-11-09 17:05:28 -05:00
vxlan.c net: convert __IPTUNNEL_XMIT() to an inline function 2012-11-14 18:49:50 -05:00
xen-netfront.c Features: 2012-10-07 07:13:01 +09:00