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>
openwrt-18.06
Rafał Miłecki 2018-03-13 12:09:20 +01:00
parent 6fe9277d0c
commit 0de2213eea
1 changed files with 8 additions and 6 deletions

View File

@ -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: }
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
return bcm47xx_nvram_gpio_pin("robo_reset"); 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