[PATCH] Fix phy id for LXT971A/LXT972A
authorUwe Zeisberger <Uwe_Zeisberger@digi.com>
Sun, 25 Jun 2006 08:44:37 +0000 (01:44 -0700)
committerJeff Garzik <jeff@garzik.org>
Tue, 27 Jun 2006 02:03:07 +0000 (22:03 -0400)
From: Uwe Zeisberger <Uwe_Zeisberger@digi.com>

The phy ids used are taken from an driver that used a right shift of 4 to chop
off the revision number.  This driver does not shift, so the id and mask
values are wrong and must be left shifted by 4 to actually detect the chips.

Signed-off-by: Uwe Zeisberger <Uwe_Zeisberger@digi.com>
Acked-by: Andy Fleming <afleming@freescale.com>
[akpm: this is a previously-nacked patch, but the problem is real]
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/phy/lxt.c

index bef79e4..3f702c5 100644 (file)
@@ -123,9 +123,9 @@ static int lxt971_config_intr(struct phy_device *phydev)
 }
 
 static struct phy_driver lxt970_driver = {
-       .phy_id         = 0x07810000,
+       .phy_id         = 0x78100000,
        .name           = "LXT970",
-       .phy_id_mask    = 0x0fffffff,
+       .phy_id_mask    = 0xfffffff0,
        .features       = PHY_BASIC_FEATURES,
        .flags          = PHY_HAS_INTERRUPT,
        .config_init    = lxt970_config_init,
@@ -137,9 +137,9 @@ static struct phy_driver lxt970_driver = {
 };
 
 static struct phy_driver lxt971_driver = {
-       .phy_id         = 0x0001378e,
+       .phy_id         = 0x001378e0,
        .name           = "LXT971",
-       .phy_id_mask    = 0x0fffffff,
+       .phy_id_mask    = 0xfffffff0,
        .features       = PHY_BASIC_FEATURES,
        .flags          = PHY_HAS_INTERRUPT,
        .config_aneg    = genphy_config_aneg,