Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -535,7 +535,7 @@ static void bgmac_dma_init(struct bgmac *bgmac)
 * 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;
	u16 phy_access_addr;
@@ -584,7 +584,7 @@ u16 bgmac_phy_read(struct bgmac *bgmac, u8 phyaddr, u8 reg)
}

/* 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;
	u16 phy_access_addr;
@@ -617,9 +617,13 @@ void bgmac_phy_write(struct bgmac *bgmac, u8 phyaddr, u8 reg, u16 value)
	tmp |= value;
	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",
			  phyaddr, reg);
		return -ETIMEDOUT;
	}

	return 0;
}

/* http://bcm-v4.sipsolutions.net/mac-gbit/gmac/chipphyforce */
+0 −3
Original line number Diff line number Diff line
@@ -450,7 +450,4 @@ static inline void bgmac_set(struct bgmac *bgmac, u16 offset, u32 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 */