From: Lennert Buytenhek Date: Wed, 23 Nov 2005 11:49:51 +0000 (+0100) Subject: [PATCH] pm3386: add hook for setting carrier X-Git-Tag: v2.6.16-rc1~474^2~22^2~7^2~55 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df86550602f320d28fdaeb577c25f9821525bfa0;p=linux-2.6 [PATCH] pm3386: add hook for setting carrier Add a pm3386 hook for disabling/enabling the SERDES carrier, so that we can disable it when the interface is administratively downed, and enable it when it is upped. Signed-off-by: Lennert Buytenhek Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/ixp2000/pm3386.c b/drivers/net/ixp2000/pm3386.c index 870b486f5d..ec70b1d553 100644 --- a/drivers/net/ixp2000/pm3386.c +++ b/drivers/net/ixp2000/pm3386.c @@ -250,6 +250,11 @@ void pm3386_get_stats(int port, struct net_device_stats *stats) /* @@@ Add other stats. */ } +void pm3386_set_carrier(int port, int state) +{ + pm3386_port_reg_write(port, 0x703, 0x10, state ? 0x1001 : 0x0000); +} + int pm3386_is_link_up(int port) { u16 temp; diff --git a/drivers/net/ixp2000/pm3386.h b/drivers/net/ixp2000/pm3386.h index 117f50afcd..fe92bb056a 100644 --- a/drivers/net/ixp2000/pm3386.h +++ b/drivers/net/ixp2000/pm3386.h @@ -17,6 +17,7 @@ void pm3386_init_port(int port); void pm3386_get_mac(int port, u8 *mac); void pm3386_set_mac(int port, u8 *mac); void pm3386_get_stats(int port, struct net_device_stats *stats); +void pm3386_set_carrier(int port, int state); int pm3386_is_link_up(int port); void pm3386_enable_rx(int port); void pm3386_disable_rx(int port);