* [PATCH] b44: Fix MII interface of the B44 driver
@ 2007-08-15 13:41 Michael Buesch
0 siblings, 0 replies; only message in thread
From: Michael Buesch @ 2007-08-15 13:41 UTC (permalink / raw)
To: John Linville; +Cc: Aurelien Jarno, netdev
From: Aurelien Jarno <aurelien@aurel32.net>
The conversion of the B44 driver to SSB bus added the functions
__b44_{read,write}phy functions that have an argument phy_id. This gives
a way to fix the b44_mii_{read,write} functions used for MII interfaces.
The patch below does that. It allows B44 devices with integrated switch
to be configured from userland.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
diff --git a/drivers/net/b44.c b/drivers/net/b44.c
index 36724fb..e6883f4 100644
--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
@@ -300,16 +300,11 @@ static inline int b44_writephy(struct b44 *bp, int reg, u32 val)
}
/* miilib interface */
-/* FIXME FIXME: phy_id is ignored, bp->phy_addr use is unconditional
- * due to code existing before miilib use was added to this driver.
- * Someone should remove this artificial driver limitation in
- * b44_{read,write}phy. bp->phy_addr itself is fine (and needed).
- */
static int b44_mii_read(struct net_device *dev, int phy_id, int location)
{
u32 val;
struct b44 *bp = netdev_priv(dev);
- int rc = b44_readphy(bp, location, &val);
+ int rc = __b44_readphy(bp, phy_id, location, &val);
if (rc)
return 0xffffffff;
return val;
@@ -319,7 +314,7 @@ static void b44_mii_write(struct net_device *dev, int phy_id, int location,
int val)
{
struct b44 *bp = netdev_priv(dev);
- b44_writephy(bp, location, val);
+ __b44_writephy(bp, phy_id, location, val);
}
static int b44_phy_reset(struct b44 *bp)
--
Greetings Michael.
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2007-08-15 13:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-15 13:41 [PATCH] b44: Fix MII interface of the B44 driver Michael Buesch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox