kernel: b53: look for NVRAM's "robo_reset" entry on every platform

Since kernel 4.1 bcm47xx_nvram_gpio_pin() is now defined in a global
header and can be safely called even on non-Broadcom platforms.

This change makes b53 look for "robo_reset" on ARCH_BCM_5301X and
slightly simplifies the code.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
master
Rafał Miłecki 7 years ago
parent 6fe9277d0c
commit 0de2213eea
  1. 14
      target/linux/generic/files/drivers/net/phy/b53/b53_priv.h

@ -311,6 +311,7 @@ static inline int b53_write64(struct b53_device *dev, u8 page, u8 reg,
#ifdef CONFIG_BCM47XX #ifdef CONFIG_BCM47XX
#include <bcm47xx_board.h> #include <bcm47xx_board.h>
#endif
#include <linux/version.h> #include <linux/version.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
@ -318,20 +319,21 @@ static inline int b53_write64(struct b53_device *dev, u8 page, u8 reg,
#endif #endif
static inline int b53_switch_get_reset_gpio(struct b53_device *dev) static inline int b53_switch_get_reset_gpio(struct b53_device *dev)
{ {
#ifdef CONFIG_BCM47XX
enum bcm47xx_board board = bcm47xx_board_get(); enum bcm47xx_board board = bcm47xx_board_get();
switch (board) { switch (board) {
case BCM47XX_BOARD_LINKSYS_WRT300NV11: case BCM47XX_BOARD_LINKSYS_WRT300NV11:
case BCM47XX_BOARD_LINKSYS_WRT310NV1: case BCM47XX_BOARD_LINKSYS_WRT310NV1:
return 8; return 8;
default:
return bcm47xx_nvram_gpio_pin("robo_reset");
} }
} #endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
return bcm47xx_nvram_gpio_pin("robo_reset");
#else #else
static inline int b53_switch_get_reset_gpio(struct b53_device *dev)
{
return -ENOENT; return -ENOENT;
}
#endif #endif
}
#endif #endif

Loading…
Cancel
Save