diff options
author | Francois Romieu <romieu@fr.zoreil.com> | 2012-07-06 14:19:42 -0400 |
---|---|---|
committer | Francois Romieu <romieu@fr.zoreil.com> | 2012-07-09 17:38:22 -0400 |
commit | 24192210a57a24a45b29dc3519dc42e073ea7b0a (patch) | |
tree | 7819ad5043401ac874a5f3c6213a9996b78e8307 /drivers | |
parent | 5598bfe5191d09cdd622aeac39badc42508b227f (diff) |
r8169: mdio_ops signature change.
Further changes need more context down in the call stack.
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/realtek/r8169.c | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index 7afc59336fd7..5360f6de2b0a 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c | |||
@@ -728,8 +728,8 @@ struct rtl8169_private { | |||
728 | u16 event_slow; | 728 | u16 event_slow; |
729 | 729 | ||
730 | struct mdio_ops { | 730 | struct mdio_ops { |
731 | void (*write)(void __iomem *, int, int); | 731 | void (*write)(struct rtl8169_private *, int, int); |
732 | int (*read)(void __iomem *, int); | 732 | int (*read)(struct rtl8169_private *, int); |
733 | } mdio_ops; | 733 | } mdio_ops; |
734 | 734 | ||
735 | struct pll_power_ops { | 735 | struct pll_power_ops { |
@@ -919,11 +919,12 @@ static int r8168dp_check_dash(struct rtl8169_private *tp) | |||
919 | return (ocp_read(tp, 0x0f, reg) & 0x00008000) ? 1 : 0; | 919 | return (ocp_read(tp, 0x0f, reg) & 0x00008000) ? 1 : 0; |
920 | } | 920 | } |
921 | 921 | ||
922 | static void r8169_mdio_write(void __iomem *ioaddr, int reg_addr, int value) | 922 | static void r8169_mdio_write(struct rtl8169_private *tp, int reg, int value) |
923 | { | 923 | { |
924 | void __iomem *ioaddr = tp->mmio_addr; | ||
924 | int i; | 925 | int i; |
925 | 926 | ||
926 | RTL_W32(PHYAR, 0x80000000 | (reg_addr & 0x1f) << 16 | (value & 0xffff)); | 927 | RTL_W32(PHYAR, 0x80000000 | (reg & 0x1f) << 16 | (value & 0xffff)); |
927 | 928 | ||
928 | for (i = 20; i > 0; i--) { | 929 | for (i = 20; i > 0; i--) { |
929 | /* | 930 | /* |
@@ -941,11 +942,12 @@ static void r8169_mdio_write(void __iomem *ioaddr, int reg_addr, int value) | |||
941 | udelay(20); | 942 | udelay(20); |
942 | } | 943 | } |
943 | 944 | ||
944 | static int r8169_mdio_read(void __iomem *ioaddr, int reg_addr) | 945 | static int r8169_mdio_read(struct rtl8169_private *tp, int reg) |
945 | { | 946 | { |
947 | void __iomem *ioaddr = tp->mmio_addr; | ||
946 | int i, value = -1; | 948 | int i, value = -1; |
947 | 949 | ||
948 | RTL_W32(PHYAR, 0x0 | (reg_addr & 0x1f) << 16); | 950 | RTL_W32(PHYAR, 0x0 | (reg & 0x1f) << 16); |
949 | 951 | ||
950 | for (i = 20; i > 0; i--) { | 952 | for (i = 20; i > 0; i--) { |
951 | /* | 953 | /* |
@@ -967,12 +969,12 @@ static int r8169_mdio_read(void __iomem *ioaddr, int reg_addr) | |||
967 | return value; | 969 | return value; |
968 | } | 970 | } |
969 | 971 | ||
970 | static void r8168dp_1_mdio_access(void __iomem *ioaddr, int reg_addr, u32 data) | 972 | static void r8168dp_1_mdio_access(struct rtl8169_private *tp, int reg, u32 data) |
971 | { | 973 | { |
974 | void __iomem *ioaddr = tp->mmio_addr; | ||
972 | int i; | 975 | int i; |
973 | 976 | ||
974 | RTL_W32(OCPDR, data | | 977 | RTL_W32(OCPDR, data | ((reg & OCPDR_REG_MASK) << OCPDR_GPHY_REG_SHIFT)); |
975 | ((reg_addr & OCPDR_REG_MASK) << OCPDR_GPHY_REG_SHIFT)); | ||
976 | RTL_W32(OCPAR, OCPAR_GPHY_WRITE_CMD); | 978 | RTL_W32(OCPAR, OCPAR_GPHY_WRITE_CMD); |
977 | RTL_W32(EPHY_RXER_NUM, 0); | 979 | RTL_W32(EPHY_RXER_NUM, 0); |
978 | 980 | ||
@@ -983,17 +985,18 @@ static void r8168dp_1_mdio_access(void __iomem *ioaddr, int reg_addr, u32 data) | |||
983 | } | 985 | } |
984 | } | 986 | } |
985 | 987 | ||
986 | static void r8168dp_1_mdio_write(void __iomem *ioaddr, int reg_addr, int value) | 988 | static void r8168dp_1_mdio_write(struct rtl8169_private *tp, int reg, int value) |
987 | { | 989 | { |
988 | r8168dp_1_mdio_access(ioaddr, reg_addr, OCPDR_WRITE_CMD | | 990 | r8168dp_1_mdio_access(tp, reg, |
989 | (value & OCPDR_DATA_MASK)); | 991 | OCPDR_WRITE_CMD | (value & OCPDR_DATA_MASK)); |
990 | } | 992 | } |
991 | 993 | ||
992 | static int r8168dp_1_mdio_read(void __iomem *ioaddr, int reg_addr) | 994 | static int r8168dp_1_mdio_read(struct rtl8169_private *tp, int reg) |
993 | { | 995 | { |
996 | void __iomem *ioaddr = tp->mmio_addr; | ||
994 | int i; | 997 | int i; |
995 | 998 | ||
996 | r8168dp_1_mdio_access(ioaddr, reg_addr, OCPDR_READ_CMD); | 999 | r8168dp_1_mdio_access(tp, reg, OCPDR_READ_CMD); |
997 | 1000 | ||
998 | mdelay(1); | 1001 | mdelay(1); |
999 | RTL_W32(OCPAR, OCPAR_GPHY_READ_CMD); | 1002 | RTL_W32(OCPAR, OCPAR_GPHY_READ_CMD); |
@@ -1020,22 +1023,25 @@ static void r8168dp_2_mdio_stop(void __iomem *ioaddr) | |||
1020 | RTL_W32(0xd0, RTL_R32(0xd0) | R8168DP_1_MDIO_ACCESS_BIT); | 1023 | RTL_W32(0xd0, RTL_R32(0xd0) | R8168DP_1_MDIO_ACCESS_BIT); |
1021 | } | 1024 | } |
1022 | 1025 | ||
1023 | static void r8168dp_2_mdio_write(void __iomem *ioaddr, int reg_addr, int value) | 1026 | static void r8168dp_2_mdio_write(struct rtl8169_private *tp, int reg, int value) |
1024 | { | 1027 | { |
1028 | void __iomem *ioaddr = tp->mmio_addr; | ||
1029 | |||
1025 | r8168dp_2_mdio_start(ioaddr); | 1030 | r8168dp_2_mdio_start(ioaddr); |
1026 | 1031 | ||
1027 | r8169_mdio_write(ioaddr, reg_addr, value); | 1032 | r8169_mdio_write(tp, reg, value); |
1028 | 1033 | ||
1029 | r8168dp_2_mdio_stop(ioaddr); | 1034 | r8168dp_2_mdio_stop(ioaddr); |
1030 | } | 1035 | } |
1031 | 1036 | ||
1032 | static int r8168dp_2_mdio_read(void __iomem *ioaddr, int reg_addr) | 1037 | static int r8168dp_2_mdio_read(struct rtl8169_private *tp, int reg) |
1033 | { | 1038 | { |
1039 | void __iomem *ioaddr = tp->mmio_addr; | ||
1034 | int value; | 1040 | int value; |
1035 | 1041 | ||
1036 | r8168dp_2_mdio_start(ioaddr); | 1042 | r8168dp_2_mdio_start(ioaddr); |
1037 | 1043 | ||
1038 | value = r8169_mdio_read(ioaddr, reg_addr); | 1044 | value = r8169_mdio_read(tp, reg); |
1039 | 1045 | ||
1040 | r8168dp_2_mdio_stop(ioaddr); | 1046 | r8168dp_2_mdio_stop(ioaddr); |
1041 | 1047 | ||
@@ -1044,12 +1050,12 @@ static int r8168dp_2_mdio_read(void __iomem *ioaddr, int reg_addr) | |||
1044 | 1050 | ||
1045 | static void rtl_writephy(struct rtl8169_private *tp, int location, u32 val) | 1051 | static void rtl_writephy(struct rtl8169_private *tp, int location, u32 val) |
1046 | { | 1052 | { |
1047 | tp->mdio_ops.write(tp->mmio_addr, location, val); | 1053 | tp->mdio_ops.write(tp, location, val); |
1048 | } | 1054 | } |
1049 | 1055 | ||
1050 | static int rtl_readphy(struct rtl8169_private *tp, int location) | 1056 | static int rtl_readphy(struct rtl8169_private *tp, int location) |
1051 | { | 1057 | { |
1052 | return tp->mdio_ops.read(tp->mmio_addr, location); | 1058 | return tp->mdio_ops.read(tp, location); |
1053 | } | 1059 | } |
1054 | 1060 | ||
1055 | static void rtl_patchphy(struct rtl8169_private *tp, int reg_addr, int value) | 1061 | static void rtl_patchphy(struct rtl8169_private *tp, int reg_addr, int value) |