Commit 87745c74 authored by Russell King's avatar Russell King Committed by David S. Miller

net: mvpp2: tidy up ACPI hack

Tidy up the ACPI hack so that we can minimise the function prototypes
for this.  This avoids adding further prototypes unnecessarily.
Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 08aaa081
...@@ -57,13 +57,7 @@ static struct { ...@@ -57,13 +57,7 @@ static struct {
/* The prototype is added here to be used in start_dev when using ACPI. This /* The prototype is added here to be used in start_dev when using ACPI. This
* will be removed once phylink is used for all modes (dt+ACPI). * will be removed once phylink is used for all modes (dt+ACPI).
*/ */
static void mvpp2_mac_config(struct phylink_config *config, unsigned int mode, static void mvpp2_acpi_start(struct mvpp2_port *port);
const struct phylink_link_state *state);
static void mvpp2_mac_link_up(struct phylink_config *config,
struct phy_device *phy,
unsigned int mode, phy_interface_t interface,
int speed, int duplex,
bool tx_pause, bool rx_pause);
/* Queue modes */ /* Queue modes */
#define MVPP2_QDIST_SINGLE_MODE 0 #define MVPP2_QDIST_SINGLE_MODE 0
...@@ -4007,17 +4001,7 @@ static void mvpp2_start_dev(struct mvpp2_port *port) ...@@ -4007,17 +4001,7 @@ static void mvpp2_start_dev(struct mvpp2_port *port)
if (port->phylink) { if (port->phylink) {
phylink_start(port->phylink); phylink_start(port->phylink);
} else { } else {
/* Phylink isn't used as of now for ACPI, so the MAC has to be mvpp2_acpi_start(port);
* configured manually when the interface is started. This will
* be removed as soon as the phylink ACPI support lands in.
*/
struct phylink_link_state state = {
.interface = port->phy_interface,
};
mvpp2_mac_config(&port->phylink_config, MLO_AN_INBAND, &state);
mvpp2_mac_link_up(&port->phylink_config, NULL,
MLO_AN_INBAND, port->phy_interface,
SPEED_UNKNOWN, DUPLEX_UNKNOWN, false, false);
} }
netif_tx_start_all_queues(port->dev); netif_tx_start_all_queues(port->dev);
...@@ -5850,6 +5834,22 @@ static const struct phylink_mac_ops mvpp2_phylink_ops = { ...@@ -5850,6 +5834,22 @@ static const struct phylink_mac_ops mvpp2_phylink_ops = {
.mac_link_down = mvpp2_mac_link_down, .mac_link_down = mvpp2_mac_link_down,
}; };
/* Work-around for ACPI */
static void mvpp2_acpi_start(struct mvpp2_port *port)
{
/* Phylink isn't used as of now for ACPI, so the MAC has to be
* configured manually when the interface is started. This will
* be removed as soon as the phylink ACPI support lands in.
*/
struct phylink_link_state state = {
.interface = port->phy_interface,
};
mvpp2_mac_config(&port->phylink_config, MLO_AN_INBAND, &state);
mvpp2_mac_link_up(&port->phylink_config, NULL,
MLO_AN_INBAND, port->phy_interface,
SPEED_UNKNOWN, DUPLEX_UNKNOWN, false, false);
}
/* Ports initialization */ /* Ports initialization */
static int mvpp2_port_probe(struct platform_device *pdev, static int mvpp2_port_probe(struct platform_device *pdev,
struct fwnode_handle *port_fwnode, struct fwnode_handle *port_fwnode,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment