aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/rionet.c
diff options
context:
space:
mode:
authorAlexandre Bounine <alexandre.bounine@idt.com>2014-04-07 18:38:56 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-04-07 19:36:07 -0400
commit2aaf308b95b24649a6dcfed89cd956e972089b2a (patch)
treea8fdaea74d50c4a38633bd7aafdc8a98723b1628 /drivers/net/rionet.c
parent40f847baf50debfd42ad66f862bfcfea069ffbe7 (diff)
rapidio: rework device hierarchy and introduce mport class of devices
This patch removes an artificial RapidIO bus root device and establishes actual device hierarchy by providing reference to real parent devices. It also introduces device class for RapidIO controller devices (on-chip or an eternal bridge, known as "mport"). Existing implementation was sufficient for SoC-based platforms that have a single RapidIO controller. With introduction of devices using multiple RapidIO controllers and PCIe-to-RapidIO bridges the old scheme is very limiting or does not work at all. The implemented changes allow to properly reference platform's local RapidIO mport devices and provide device details needed for upper layers. This change to RapidIO device hierarchy does not break any known existing kernel or user space interfaces. Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com> Cc: Matt Porter <mporter@kernel.crashing.org> Cc: Li Yang <leoli@freescale.com> Cc: Kumar Gala <galak@kernel.crashing.org> Cc: Andre van Herk <andre.van.herk@prodrive-technologies.com> Cc: Stef van Os <stef.van.os@prodrive-technologies.com> Cc: Jerry Jacobs <jerry.jacobs@prodrive-technologies.com> Cc: Arno Tiemersma <arno.tiemersma@prodrive-technologies.com> Cc: Rob Landley <rob@landley.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/net/rionet.c')
-rw-r--r--drivers/net/rionet.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/rionet.c b/drivers/net/rionet.c
index 6d1f6ed3113f..a8497183ff8b 100644
--- a/drivers/net/rionet.c
+++ b/drivers/net/rionet.c
@@ -493,6 +493,7 @@ static int rionet_setup_netdev(struct rio_mport *mport, struct net_device *ndev)
493 ndev->netdev_ops = &rionet_netdev_ops; 493 ndev->netdev_ops = &rionet_netdev_ops;
494 ndev->mtu = RIO_MAX_MSG_SIZE - 14; 494 ndev->mtu = RIO_MAX_MSG_SIZE - 14;
495 ndev->features = NETIF_F_LLTX; 495 ndev->features = NETIF_F_LLTX;
496 SET_NETDEV_DEV(ndev, &mport->dev);
496 SET_ETHTOOL_OPS(ndev, &rionet_ethtool_ops); 497 SET_ETHTOOL_OPS(ndev, &rionet_ethtool_ops);
497 498
498 spin_lock_init(&rnet->lock); 499 spin_lock_init(&rnet->lock);