#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; } }