diff options
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/Kconfig | 2 | ||||
-rw-r--r-- | drivers/mfd/pm8921-core.c | 14 | ||||
-rw-r--r-- | drivers/mfd/wm5102-tables.c | 8 |
3 files changed, 16 insertions, 8 deletions
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index c346941a2515..ca86581d02ce 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig | |||
@@ -991,7 +991,7 @@ config MFD_PM8XXX | |||
991 | 991 | ||
992 | config MFD_PM8921_CORE | 992 | config MFD_PM8921_CORE |
993 | tristate "Qualcomm PM8921 PMIC chip" | 993 | tristate "Qualcomm PM8921 PMIC chip" |
994 | depends on MSM_SSBI | 994 | depends on SSBI && BROKEN |
995 | select MFD_CORE | 995 | select MFD_CORE |
996 | select MFD_PM8XXX | 996 | select MFD_PM8XXX |
997 | help | 997 | help |
diff --git a/drivers/mfd/pm8921-core.c b/drivers/mfd/pm8921-core.c index d4b297cbd801..ecc137ffa8c3 100644 --- a/drivers/mfd/pm8921-core.c +++ b/drivers/mfd/pm8921-core.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
18 | #include <linux/slab.h> | 18 | #include <linux/slab.h> |
19 | #include <linux/err.h> | 19 | #include <linux/err.h> |
20 | #include <linux/msm_ssbi.h> | 20 | #include <linux/ssbi.h> |
21 | #include <linux/mfd/core.h> | 21 | #include <linux/mfd/core.h> |
22 | #include <linux/mfd/pm8xxx/pm8921.h> | 22 | #include <linux/mfd/pm8xxx/pm8921.h> |
23 | #include <linux/mfd/pm8xxx/core.h> | 23 | #include <linux/mfd/pm8xxx/core.h> |
@@ -35,7 +35,7 @@ static int pm8921_readb(const struct device *dev, u16 addr, u8 *val) | |||
35 | const struct pm8xxx_drvdata *pm8921_drvdata = dev_get_drvdata(dev); | 35 | const struct pm8xxx_drvdata *pm8921_drvdata = dev_get_drvdata(dev); |
36 | const struct pm8921 *pmic = pm8921_drvdata->pm_chip_data; | 36 | const struct pm8921 *pmic = pm8921_drvdata->pm_chip_data; |
37 | 37 | ||
38 | return msm_ssbi_read(pmic->dev->parent, addr, val, 1); | 38 | return ssbi_read(pmic->dev->parent, addr, val, 1); |
39 | } | 39 | } |
40 | 40 | ||
41 | static int pm8921_writeb(const struct device *dev, u16 addr, u8 val) | 41 | static int pm8921_writeb(const struct device *dev, u16 addr, u8 val) |
@@ -43,7 +43,7 @@ static int pm8921_writeb(const struct device *dev, u16 addr, u8 val) | |||
43 | const struct pm8xxx_drvdata *pm8921_drvdata = dev_get_drvdata(dev); | 43 | const struct pm8xxx_drvdata *pm8921_drvdata = dev_get_drvdata(dev); |
44 | const struct pm8921 *pmic = pm8921_drvdata->pm_chip_data; | 44 | const struct pm8921 *pmic = pm8921_drvdata->pm_chip_data; |
45 | 45 | ||
46 | return msm_ssbi_write(pmic->dev->parent, addr, &val, 1); | 46 | return ssbi_write(pmic->dev->parent, addr, &val, 1); |
47 | } | 47 | } |
48 | 48 | ||
49 | static int pm8921_read_buf(const struct device *dev, u16 addr, u8 *buf, | 49 | static int pm8921_read_buf(const struct device *dev, u16 addr, u8 *buf, |
@@ -52,7 +52,7 @@ static int pm8921_read_buf(const struct device *dev, u16 addr, u8 *buf, | |||
52 | const struct pm8xxx_drvdata *pm8921_drvdata = dev_get_drvdata(dev); | 52 | const struct pm8xxx_drvdata *pm8921_drvdata = dev_get_drvdata(dev); |
53 | const struct pm8921 *pmic = pm8921_drvdata->pm_chip_data; | 53 | const struct pm8921 *pmic = pm8921_drvdata->pm_chip_data; |
54 | 54 | ||
55 | return msm_ssbi_read(pmic->dev->parent, addr, buf, cnt); | 55 | return ssbi_read(pmic->dev->parent, addr, buf, cnt); |
56 | } | 56 | } |
57 | 57 | ||
58 | static int pm8921_write_buf(const struct device *dev, u16 addr, u8 *buf, | 58 | static int pm8921_write_buf(const struct device *dev, u16 addr, u8 *buf, |
@@ -61,7 +61,7 @@ static int pm8921_write_buf(const struct device *dev, u16 addr, u8 *buf, | |||
61 | const struct pm8xxx_drvdata *pm8921_drvdata = dev_get_drvdata(dev); | 61 | const struct pm8xxx_drvdata *pm8921_drvdata = dev_get_drvdata(dev); |
62 | const struct pm8921 *pmic = pm8921_drvdata->pm_chip_data; | 62 | const struct pm8921 *pmic = pm8921_drvdata->pm_chip_data; |
63 | 63 | ||
64 | return msm_ssbi_write(pmic->dev->parent, addr, buf, cnt); | 64 | return ssbi_write(pmic->dev->parent, addr, buf, cnt); |
65 | } | 65 | } |
66 | 66 | ||
67 | static int pm8921_read_irq_stat(const struct device *dev, int irq) | 67 | static int pm8921_read_irq_stat(const struct device *dev, int irq) |
@@ -124,7 +124,7 @@ static int pm8921_probe(struct platform_device *pdev) | |||
124 | } | 124 | } |
125 | 125 | ||
126 | /* Read PMIC chip revision */ | 126 | /* Read PMIC chip revision */ |
127 | rc = msm_ssbi_read(pdev->dev.parent, REG_HWREV, &val, sizeof(val)); | 127 | rc = ssbi_read(pdev->dev.parent, REG_HWREV, &val, sizeof(val)); |
128 | if (rc) { | 128 | if (rc) { |
129 | pr_err("Failed to read hw rev reg %d:rc=%d\n", REG_HWREV, rc); | 129 | pr_err("Failed to read hw rev reg %d:rc=%d\n", REG_HWREV, rc); |
130 | goto err_read_rev; | 130 | goto err_read_rev; |
@@ -133,7 +133,7 @@ static int pm8921_probe(struct platform_device *pdev) | |||
133 | rev = val; | 133 | rev = val; |
134 | 134 | ||
135 | /* Read PMIC chip revision 2 */ | 135 | /* Read PMIC chip revision 2 */ |
136 | rc = msm_ssbi_read(pdev->dev.parent, REG_HWREV_2, &val, sizeof(val)); | 136 | rc = ssbi_read(pdev->dev.parent, REG_HWREV_2, &val, sizeof(val)); |
137 | if (rc) { | 137 | if (rc) { |
138 | pr_err("Failed to read hw rev 2 reg %d:rc=%d\n", | 138 | pr_err("Failed to read hw rev 2 reg %d:rc=%d\n", |
139 | REG_HWREV_2, rc); | 139 | REG_HWREV_2, rc); |
diff --git a/drivers/mfd/wm5102-tables.c b/drivers/mfd/wm5102-tables.c index a433f580aa4c..ca2aed6bc830 100644 --- a/drivers/mfd/wm5102-tables.c +++ b/drivers/mfd/wm5102-tables.c | |||
@@ -331,6 +331,10 @@ static const struct reg_default wm5102_reg_default[] = { | |||
331 | { 0x000002A3, 0x1102 }, /* R675 - Mic Detect 1 */ | 331 | { 0x000002A3, 0x1102 }, /* R675 - Mic Detect 1 */ |
332 | { 0x000002A4, 0x009F }, /* R676 - Mic Detect 2 */ | 332 | { 0x000002A4, 0x009F }, /* R676 - Mic Detect 2 */ |
333 | { 0x000002A5, 0x0000 }, /* R677 - Mic Detect 3 */ | 333 | { 0x000002A5, 0x0000 }, /* R677 - Mic Detect 3 */ |
334 | { 0x000002A6, 0x3737 }, /* R678 - Mic Detect Level 1 */ | ||
335 | { 0x000002A7, 0x372C }, /* R679 - Mic Detect Level 2 */ | ||
336 | { 0x000002A8, 0x1422 }, /* R680 - Mic Detect Level 3 */ | ||
337 | { 0x000002A9, 0x030A }, /* R681 - Mic Detect Level 4 */ | ||
334 | { 0x000002C3, 0x0000 }, /* R707 - Mic noise mix control 1 */ | 338 | { 0x000002C3, 0x0000 }, /* R707 - Mic noise mix control 1 */ |
335 | { 0x000002CB, 0x0000 }, /* R715 - Isolation control */ | 339 | { 0x000002CB, 0x0000 }, /* R715 - Isolation control */ |
336 | { 0x000002D3, 0x0000 }, /* R723 - Jack detect analogue */ | 340 | { 0x000002D3, 0x0000 }, /* R723 - Jack detect analogue */ |
@@ -1090,6 +1094,10 @@ static bool wm5102_readable_register(struct device *dev, unsigned int reg) | |||
1090 | case ARIZONA_MIC_DETECT_1: | 1094 | case ARIZONA_MIC_DETECT_1: |
1091 | case ARIZONA_MIC_DETECT_2: | 1095 | case ARIZONA_MIC_DETECT_2: |
1092 | case ARIZONA_MIC_DETECT_3: | 1096 | case ARIZONA_MIC_DETECT_3: |
1097 | case ARIZONA_MIC_DETECT_LEVEL_1: | ||
1098 | case ARIZONA_MIC_DETECT_LEVEL_2: | ||
1099 | case ARIZONA_MIC_DETECT_LEVEL_3: | ||
1100 | case ARIZONA_MIC_DETECT_LEVEL_4: | ||
1093 | case ARIZONA_MIC_NOISE_MIX_CONTROL_1: | 1101 | case ARIZONA_MIC_NOISE_MIX_CONTROL_1: |
1094 | case ARIZONA_ISOLATION_CONTROL: | 1102 | case ARIZONA_ISOLATION_CONTROL: |
1095 | case ARIZONA_JACK_DETECT_ANALOGUE: | 1103 | case ARIZONA_JACK_DETECT_ANALOGUE: |