kernel: b53: use hard coded switch reset gpio on some boards.

The Linksys wrt310n v1 does not have a robo_reset config variable in
nvram, but GPIO Pin 8 is the pin needed for resetting the external
switch, Linksys hard coded it into their source code.

Thank you Devastator for testing.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37988
master
Hauke Mehrtens 11 years ago
parent 2da56b4ebc
commit cde1d53625
  1. 12
      target/linux/generic/files/drivers/net/phy/b53/b53_priv.h

@ -286,14 +286,22 @@ static inline int b53_write64(struct b53_device *dev, u8 page, u8 reg,
#ifdef CONFIG_BCM47XX #ifdef CONFIG_BCM47XX
#include <bcm47xx_nvram.h> #include <bcm47xx_nvram.h>
#include <bcm47xx_board.h>
static inline int b53_switch_get_reset_gpio(struct b53_device *dev) static inline int b53_switch_get_reset_gpio(struct b53_device *dev)
{ {
return bcm47xx_nvram_gpio_pin("robo_reset"); enum bcm47xx_board board = bcm47xx_board_get();
switch (board) {
case BCM47XX_BOARD_LINKSYS_WRT310NV1:
return 8;
default:
return bcm47xx_nvram_gpio_pin("robo_reset");
}
} }
#else #else
static inline int b53_switch_get_reset_gpio(struct b53_device *dev) static inline int b53_switch_get_reset_gpio(struct b53_device *dev)
{ {
return -ENOENT; return -ENOENT;
} }
#endif #endif
#endif #endif

Loading…
Cancel
Save