diff options
Diffstat (limited to 'linux/drivers/net/ethernet/freescale/fman')
-rw-r--r-- | linux/drivers/net/ethernet/freescale/fman/mac.c | 13 | ||||
-rw-r--r-- | linux/drivers/net/ethernet/freescale/fman/mac.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/linux/drivers/net/ethernet/freescale/fman/mac.c b/linux/drivers/net/ethernet/freescale/fman/mac.c index b058b4ad..e34158e5 100644 --- a/linux/drivers/net/ethernet/freescale/fman/mac.c +++ b/linux/drivers/net/ethernet/freescale/fman/mac.c @@ -748,6 +748,16 @@ MODULE_DEVICE_TABLE(of, mac_match); #ifndef __rtems__ static int mac_probe(struct platform_device *_of_dev) #else /* __rtems__ */ +static bool +use_dedicated_portal(const struct device_node *mac_node) +{ + const char *dp; + int len; + + dp = of_get_property(mac_node, "libbsd,dedicated-portal", &len); + return (len > 0 && strcmp(dp, "enabled") == 0); +} + static int mac_probe(device_t _dev, struct platform_device *_of_dev, struct fman *fman) #endif /* __rtems__ */ { @@ -1096,6 +1106,9 @@ static int mac_probe(device_t _dev, struct platform_device *_of_dev, struct fman mac_dev->addr[0], mac_dev->addr[1], mac_dev->addr[2], mac_dev->addr[3], mac_dev->addr[4], mac_dev->addr[5]); +#ifdef __rtems__ + mac_dev->use_dedicated_portal = use_dedicated_portal(mac_node); +#endif /* __rtems__ */ priv->eth_dev = dpaa_eth_add_device(fman_id, mac_dev, mac_node); if (IS_ERR(priv->eth_dev)) { dev_err(dev, "failed to add Ethernet platform device for MAC %d\n", diff --git a/linux/drivers/net/ethernet/freescale/fman/mac.h b/linux/drivers/net/ethernet/freescale/fman/mac.h index 066072ab..ba1fcbca 100644 --- a/linux/drivers/net/ethernet/freescale/fman/mac.h +++ b/linux/drivers/net/ethernet/freescale/fman/mac.h @@ -85,6 +85,8 @@ struct mac_device { struct phy_device *(*init_phy)(struct net_device *net_dev, struct mac_device *mac_dev); #else /* __rtems__ */ + bool use_dedicated_portal; + struct qman_portal *portal; void (*adjust_link)(struct mac_device *mac_dev, u16 speed); #endif /* __rtems__ */ int (*init)(struct mac_device *mac_dev); |