#include "bcm47xx_private.h" | |
#include <linux/gpio.h> | |
#include <bcm47xx_board.h> | |
#include <bcm47xx.h> | |
static void __init bcm47xx_workarounds_netgear_wnr3500l(void) | |
{ | |
const int usb_power = 12; | |
int err; | |
err = gpio_request_one(usb_power, GPIOF_OUT_INIT_HIGH, "usb_power"); | |
if (err) | |
pr_err("Failed to request USB power gpio: %d\n", err); | |
else | |
gpio_free(usb_power); | |
} | |
void __init bcm47xx_workarounds(void) | |
{ | |
enum bcm47xx_board board = bcm47xx_board_get(); | |
switch (board) { | |
case BCM47XX_BOARD_NETGEAR_WNR3500L: | |
bcm47xx_workarounds_netgear_wnr3500l(); | |
break; | |
default: | |
/* No workaround(s) needed */ | |
break; | |
} | |
} |