Commit 217a55a3 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by David S. Miller

bgmac: return error on failed PHY write

Some callers may want to know if PHY write succeed. Also make PHY
functions static, they are not exported anywhere.
Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9e9ff4b7
...@@ -535,7 +535,7 @@ static void bgmac_dma_init(struct bgmac *bgmac) ...@@ -535,7 +535,7 @@ static void bgmac_dma_init(struct bgmac *bgmac)
* PHY ops * PHY ops
**************************************************/ **************************************************/
u16 bgmac_phy_read(struct bgmac *bgmac, u8 phyaddr, u8 reg) static u16 bgmac_phy_read(struct bgmac *bgmac, u8 phyaddr, u8 reg)
{ {
struct bcma_device *core; struct bcma_device *core;
u16 phy_access_addr; u16 phy_access_addr;
...@@ -584,7 +584,7 @@ u16 bgmac_phy_read(struct bgmac *bgmac, u8 phyaddr, u8 reg) ...@@ -584,7 +584,7 @@ u16 bgmac_phy_read(struct bgmac *bgmac, u8 phyaddr, u8 reg)
} }
/* http://bcm-v4.sipsolutions.net/mac-gbit/gmac/chipphywr */ /* http://bcm-v4.sipsolutions.net/mac-gbit/gmac/chipphywr */
void bgmac_phy_write(struct bgmac *bgmac, u8 phyaddr, u8 reg, u16 value) static int bgmac_phy_write(struct bgmac *bgmac, u8 phyaddr, u8 reg, u16 value)
{ {
struct bcma_device *core; struct bcma_device *core;
u16 phy_access_addr; u16 phy_access_addr;
...@@ -617,9 +617,13 @@ void bgmac_phy_write(struct bgmac *bgmac, u8 phyaddr, u8 reg, u16 value) ...@@ -617,9 +617,13 @@ void bgmac_phy_write(struct bgmac *bgmac, u8 phyaddr, u8 reg, u16 value)
tmp |= value; tmp |= value;
bcma_write32(core, phy_access_addr, tmp); bcma_write32(core, phy_access_addr, tmp);
if (!bgmac_wait_value(core, phy_access_addr, BGMAC_PA_START, 0, 1000)) if (!bgmac_wait_value(core, phy_access_addr, BGMAC_PA_START, 0, 1000)) {
bgmac_err(bgmac, "Writing to PHY %d register 0x%X failed\n", bgmac_err(bgmac, "Writing to PHY %d register 0x%X failed\n",
phyaddr, reg); phyaddr, reg);
return -ETIMEDOUT;
}
return 0;
} }
/* http://bcm-v4.sipsolutions.net/mac-gbit/gmac/chipphyforce */ /* http://bcm-v4.sipsolutions.net/mac-gbit/gmac/chipphyforce */
......
...@@ -450,7 +450,4 @@ static inline void bgmac_set(struct bgmac *bgmac, u16 offset, u32 set) ...@@ -450,7 +450,4 @@ static inline void bgmac_set(struct bgmac *bgmac, u16 offset, u32 set)
bgmac_maskset(bgmac, offset, ~0, set); bgmac_maskset(bgmac, offset, ~0, set);
} }
u16 bgmac_phy_read(struct bgmac *bgmac, u8 phyaddr, u8 reg);
void bgmac_phy_write(struct bgmac *bgmac, u8 phyaddr, u8 reg, u16 value);
#endif /* _BGMAC_H */ #endif /* _BGMAC_H */
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