Merge remote-tracking branch 'regulator/topic/tps65218' into regulator-next
[linux-2.6-microblaze.git] / arch / mips / bcm47xx / workarounds.c
1 // SPDX-License-Identifier: GPL-2.0
2 #include "bcm47xx_private.h"
3
4 #include <linux/gpio.h>
5 #include <bcm47xx_board.h>
6 #include <bcm47xx.h>
7
8 static void __init bcm47xx_workarounds_netgear_wnr3500l(void)
9 {
10         const int usb_power = 12;
11         int err;
12
13         err = gpio_request_one(usb_power, GPIOF_OUT_INIT_HIGH, "usb_power");
14         if (err)
15                 pr_err("Failed to request USB power gpio: %d\n", err);
16         else
17                 gpio_free(usb_power);
18 }
19
20 void __init bcm47xx_workarounds(void)
21 {
22         enum bcm47xx_board board = bcm47xx_board_get();
23
24         switch (board) {
25         case BCM47XX_BOARD_NETGEAR_WNR3500L:
26                 bcm47xx_workarounds_netgear_wnr3500l();
27                 break;
28         default:
29                 /* No workaround(s) needed */
30                 break;
31         }
32 }