ralink: various i2c related fixes
[oweals/openwrt.git] / target / linux / ipq806x / patches / 0149-pinctrl-qcom-Add-BUS_HOLD-Keeper-bias.patch
1 From b1325bfad3ad0e543ce90a6b08d74500dc96f4b9 Mon Sep 17 00:00:00 2001
2 From: Andy Gross <agross@codeaurora.org>
3 Date: Mon, 16 Jun 2014 16:52:55 -0500
4 Subject: [PATCH 149/182] pinctrl: qcom: Add BUS_HOLD/Keeper bias
5
6 This patch adds the bus_hold bias option for pins.
7
8 Signed-off-by: Andy Gross <agross@codeaurora.org>
9 ---
10  drivers/pinctrl/pinctrl-msm.c |    8 ++++++++
11  1 file changed, 8 insertions(+)
12
13 --- a/drivers/pinctrl/pinctrl-msm.c
14 +++ b/drivers/pinctrl/pinctrl-msm.c
15 @@ -207,6 +207,7 @@ static int msm_config_reg(struct msm_pin
16         case PIN_CONFIG_BIAS_DISABLE:
17         case PIN_CONFIG_BIAS_PULL_DOWN:
18         case PIN_CONFIG_BIAS_PULL_UP:
19 +       case PIN_CONFIG_BIAS_BUS_HOLD:
20                 *bit = g->pull_bit;
21                 *mask = 3;
22                 break;
23 @@ -243,6 +244,7 @@ static int msm_config_set(struct pinctrl
24  
25  #define MSM_NO_PULL    0
26  #define MSM_PULL_DOWN  1
27 +#define MSM_KEEPER     2
28  #define MSM_PULL_UP    3
29  
30  static unsigned msm_regval_to_drive(u32 val)
31 @@ -280,6 +282,9 @@ static int msm_config_group_get(struct p
32         case PIN_CONFIG_BIAS_PULL_DOWN:
33                 arg = arg == MSM_PULL_DOWN;
34                 break;
35 +       case PIN_CONFIG_BIAS_BUS_HOLD:
36 +               arg = arg == MSM_KEEPER;
37 +               break;
38         case PIN_CONFIG_BIAS_PULL_UP:
39                 arg = arg == MSM_PULL_UP;
40                 break;
41 @@ -339,6 +344,9 @@ static int msm_config_group_set(struct p
42                 case PIN_CONFIG_BIAS_PULL_DOWN:
43                         arg = MSM_PULL_DOWN;
44                         break;
45 +               case PIN_CONFIG_BIAS_BUS_HOLD:
46 +                       arg = MSM_KEEPER;
47 +                       break;
48                 case PIN_CONFIG_BIAS_PULL_UP:
49                         arg = MSM_PULL_UP;
50                         break;