linux_old1/drivers/net/ethernet
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
..
3com treewide: fix comment/printk/variable typos 2012-09-01 10:33:05 -07:00
8390 sections: fix section conflicts in drivers/net 2012-10-06 03:04:42 +09:00
adaptec sections: fix section conflicts in drivers/net 2012-10-06 03:04:42 +09:00
adi ptp: fixup Kconfig for two PHC drivers. 2012-11-03 15:37:35 -04:00
aeroflex ethernet: Remove casts to same type 2012-06-06 09:31:33 -07:00
alteon
amd drivers/net/ethernet/amd/au1000_eth.c: fix error return code 2012-10-07 14:37:11 -04:00
apple ethernet: Remove casts to same type 2012-06-06 09:31:33 -07:00
atheros sections: fix section conflicts in drivers/net 2012-10-06 03:04:42 +09:00
broadcom tg3: Use tp->rxq_cnt when checking RSS tables. 2012-11-14 22:04:29 -05:00
brocade bna: Fix warning false positive. 2012-09-27 18:31:58 -04:00
cadence net/macb: clear unused address register 2012-11-14 18:51:03 -05:00
calxeda net: calxedaxgmac: ip align receive buffers 2012-11-07 03:51:14 -05:00
chelsio Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-10 18:32:51 -05:00
cirrus cs89x0 : packet reception not working 2012-08-31 15:48:56 -04:00
cisco enic: remove unnecessary setting of skb->dev 2012-07-10 23:24:56 -07:00
davicom
dec drivers/net/ethernet/dec/tulip/dmfe.c: fix error return code 2012-10-07 14:37:04 -04:00
dlink dlink: dl2k: use the module_pci_driver macro 2012-10-31 13:56:39 -04:00
emulex be2net: remove adapter->eq_next_idx 2012-11-07 16:59:53 -05:00
faraday net: ftgmac100/ftmac100: dont pull too much data 2012-07-18 09:40:53 -07:00
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-10 18:32:51 -05:00
fujitsu drivers/net: delete all code/drivers depending on CONFIG_MCA 2012-05-17 16:37:41 -04:00
hp ethernet: Remove casts to same type 2012-06-06 09:31:33 -07:00
i825xx net: Make ZNET driver config depend on X86. 2012-09-22 18:11:32 -04:00
ibm drivers/net/ethernet/ibm/emac/mal.c: use WARN 2012-11-03 15:43:05 -04:00
icplus
intel igb: Ethtool support to enable and disable EEE 2012-11-13 14:18:15 -05:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-10 18:32:51 -05:00
mellanox Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-10 18:32:51 -05:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-10 18:32:51 -05:00
microchip
myricom myri10ge: Use PCI Express Capability accessors 2012-08-23 10:11:14 -06:00
natsemi drivers/net/ethernet/natsemi/xtsonic.c: fix error return code 2012-10-07 14:37:12 -04:00
neterion net: neterion: Do not break word unregister. 2012-11-03 15:37:35 -04:00
nuvoton
nvidia forcedeth: prevent TX timeouts after reboot 2012-08-30 13:04:57 -04:00
nxp drivers/net/ethernet/nxp/lpc_eth.c: Call mdiobus_unregister before mdiobus_free 2012-11-02 21:36:06 -04:00
octeon Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-10-09 16:08:04 +09:00
oki-semi Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-10 18:32:51 -05:00
packetengines
pasemi netdev: pasemi: fix return value check in pasemi_mac_phy_init() 2012-09-27 13:20:50 -04:00
qlogic Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-10 18:32:51 -05:00
racal
rdc r6040: use module_pci_driver macro 2012-07-09 14:42:30 -07:00
realtek r8169: Drop tp arg from rtl8169_tx_vlan_tag() 2012-11-11 23:32:58 +01:00
renesas net: sh_eth: Fix a typo - replace regist with register. 2012-11-03 15:37:35 -04:00
seeq Merge branch 'cleanup/__iomem' into next/cleanup 2012-09-22 10:24:29 -07:00
sfc sfc: Select PTP_1588_CLOCK 2012-11-02 21:30:53 -04:00
sgi Merge tty-next into 3.6-rc1 2012-08-06 09:48:31 -07:00
silan
sis drivers/net/ethernet/sis/sis900.c: fix error return code 2012-10-07 14:37:10 -04:00
smsc ethernet: Use eth_random_addr 2012-07-16 22:38:27 -07:00
stmicro net: remove skb recycling 2012-10-07 00:40:54 -04:00
sun drivers/net/ethernet/sun/sungem.c: fix error return code 2012-10-07 14:37:12 -04:00
tehuti drivers/net/ethernet: Fix (nearly-)kernel-doc comments for various functions 2012-07-10 23:13:46 -07:00
ti net: cpsw: Add parent<->child relation support between cpsw and mdio 2012-11-14 22:09:06 -05:00
tile tilegx: fix some issues in the SW TSO support 2012-10-26 03:50:08 -04:00
toshiba wireless: gelic: make use of WLAN_EID_VENDOR_SPECIFIC 2012-10-18 09:01:55 +02:00
tundra drivers/net/ethernet/tundra/tsi108_eth.c: delete double assignment 2012-08-30 13:08:37 -04:00
via ethernet: Remove casts to same type 2012-06-06 09:31:33 -07:00
wiznet w5300: using eth_hw_addr_random() for random MAC and set device flag 2012-08-24 13:30:27 -04:00
xilinx drivers/net: use tasklet_kill in device remove/close process 2012-11-03 15:10:15 -04:00
xircom
xscale ixp4xx_eth: fix ptp_ixp46x build failure 2012-08-06 13:30:01 -07:00
Kconfig net: mipsnet: Remove the MIPSsim Ethernet driver. 2012-09-24 16:47:23 -04:00
Makefile net: mipsnet: Remove the MIPSsim Ethernet driver. 2012-09-24 16:47:23 -04:00
dnet.c
dnet.h
ethoc.c ethernet: Use eth_random_addr 2012-07-16 22:38:27 -07:00
fealnx.c sections: fix section conflicts in drivers/net 2012-10-06 03:04:42 +09:00
jme.c drivers/net: use tasklet_kill in device remove/close process 2012-11-03 15:10:15 -04:00
jme.h
korina.c
lantiq_etop.c ethernet: Use eth_random_addr 2012-07-16 22:38:27 -07:00
netx-eth.c ARM: netx: move platform_data definitions 2012-09-14 11:17:36 +02:00
s6gmac.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-05-22 19:22:50 -07:00