1 // SPDX-License-Identifier: GPL-2.0
2 #include "bcm47xx_private.h"
4 #include <linux/gpio.h>
5 #include <bcm47xx_board.h>
8 static void __init
bcm47xx_workarounds_enable_usb_power(int usb_power
)
12 err
= gpio_request_one(usb_power
, GPIOF_OUT_INIT_HIGH
, "usb_power");
14 pr_err("Failed to request USB power gpio: %d\n", err
);
19 void __init
bcm47xx_workarounds(void)
21 enum bcm47xx_board board
= bcm47xx_board_get();
24 case BCM47XX_BOARD_NETGEAR_WNR3500L
:
25 case BCM47XX_BOARD_NETGEAR_WNR3500L_V2
:
26 bcm47xx_workarounds_enable_usb_power(12);
28 case BCM47XX_BOARD_NETGEAR_WNDR3400V2
:
29 case BCM47XX_BOARD_NETGEAR_WNDR3400_V3
:
30 bcm47xx_workarounds_enable_usb_power(21);
33 /* No workaround(s) needed */