mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 03:10:12 +00:00
791e5f61ae
To ensure that the octeon MDIO driver has been loaded, the Cavium ethernet drivers reference a dummy symbol in the MDIO driver. This forces it to be loaded first. And this symbol has not been cleanly implemented, resulting in warnings when build W=1 C=1. Since device tree is being used, and a phandle points to the PHY on the MDIO bus, we can make use of deferred probing. If the PHY fails to connect, it should be because the MDIO bus driver has not loaded yet. Return -EPROBE_DEFER so it will be tried again later. Additionally, add a MODULE_SOFTDEP() to give user space a hint as to what order it should load the modules. v2: s/octoen/octeon/ Add MODULE_SOFTDEP() Cc: Sunil Goutham <sgoutham@marvell.com> Cc: Robert Richter <rrichter@marvell.com> Cc: Chris Packham <chris.packham@alliedtelesis.co.nz> Tested-by: Chris Packham <chris.packham@alliedtelesis.co.nz> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
26 lines
691 B
C
26 lines
691 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* This file is based on code from OCTEON SDK by Cavium Networks.
|
|
*
|
|
* Copyright (c) 2003-2007 Cavium Networks
|
|
*/
|
|
|
|
#include <linux/module.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/netdevice.h>
|
|
#include <linux/etherdevice.h>
|
|
#include <linux/ip.h>
|
|
#include <linux/string.h>
|
|
#include <linux/ethtool.h>
|
|
#include <linux/seq_file.h>
|
|
#include <linux/proc_fs.h>
|
|
#include <net/dst.h>
|
|
#ifdef CONFIG_XFRM
|
|
#include <linux/xfrm.h>
|
|
#include <net/xfrm.h>
|
|
#endif /* CONFIG_XFRM */
|
|
|
|
extern const struct ethtool_ops cvm_oct_ethtool_ops;
|
|
|
|
int cvm_oct_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
|
|
int cvm_oct_phy_setup_device(struct net_device *dev);
|