From: kbuild test robot <lkp@intel.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: kbuild-all@01.org, lee.jones@linaro.org, mturquette@baylibre.com,
sboyd@kernel.org, broonie@kernel.org, linus.walleij@linaro.org,
robh+dt@kernel.org, mark.rutland@arm.com, lgirdwood@gmail.com,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
patches@opensource.cirrus.com, linux-clk@vger.kernel.org,
linux-gpio@vger.kernel.org
Subject: Re: [PATCH v5 6/8] mfd: lochnagar: Add support for the Cirrus Logic Lochnagar
Date: Fri, 23 Nov 2018 17:00:57 +0800 [thread overview]
Message-ID: <201811231606.fDWBzL7a%fengguang.wu@intel.com> (raw)
In-Reply-To: <20181120141631.18949-6-ckeepax@opensource.cirrus.com>
[-- Attachment #1: Type: text/plain, Size: 26167 bytes --]
Hi Charles,
I love your patch! Yet something to improve:
[auto build test ERROR on ljones-mfd/for-mfd-next]
[also build test ERROR on v4.20-rc3]
[cannot apply to next-20181122]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Charles-Keepax/regulator-lochnagar-Move-driver-to-binding-from-DT/20181123-133943
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
config: sh-allyesconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.2.0 make.cross ARCH=sh
All errors (new ones prefixed by >>):
In file included from arch/sh/include/asm/string.h:3:0,
from include/linux/string.h:20,
from include/linux/bitmap.h:9,
from include/linux/nodemask.h:95,
from include/linux/mmzone.h:17,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from drivers/staging/media/bcm2048/radio-bcm2048.c:33:
drivers/staging/media/bcm2048/radio-bcm2048.c: In function 'bcm2048_vidioc_g_audio':
arch/sh/include/asm/string_32.h:50:42: warning: array subscript is above array bounds [-Warray-bounds]
: "0" (__dest), "1" (__src), "r" (__src+__n)
~~~~~^~~~
drivers/staging/iio/adc/ad7606_par.c: In function 'ad7606_par16_read_block':
drivers/staging/iio/adc/ad7606_par.c:22:23: warning: unused variable 'st' [-Wunused-variable]
struct ad7606_state *st = iio_priv(indio_dev);
^~
drivers/staging/iio/adc/ad7606_par.c: In function 'ad7606_par8_read_block':
drivers/staging/iio/adc/ad7606_par.c:37:23: warning: unused variable 'st' [-Wunused-variable]
struct ad7606_state *st = iio_priv(indio_dev);
^~
drivers/staging/media/bcm2048/radio-bcm2048.c: In function 'bcm2048_vidioc_g_tuner':
arch/sh/include/asm/string_32.h:50:42: warning: array subscript is above array bounds [-Warray-bounds]
: "0" (__dest), "1" (__src), "r" (__src+__n)
~~~~~^~~~
drivers/thermal/broadcom/ns-thermal.c: In function 'ns_thermal_remove':
drivers/thermal/broadcom/ns-thermal.c:81:21: warning: unused variable 'ns_thermal' [-Wunused-variable]
struct ns_thermal *ns_thermal = platform_get_drvdata(pdev);
^~~~~~~~~~
In file included from arch/sh/include/asm/string.h:3:0,
from include/linux/string.h:20,
from include/linux/bitmap.h:9,
from include/linux/nodemask.h:95,
from include/linux/mmzone.h:17,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from drivers/scsi/ch.c:10:
drivers/scsi/ch.c: In function 'ch_ioctl':
arch/sh/include/asm/string_32.h:50:42: warning: array subscript is above array bounds [-Warray-bounds]
: "0" (__dest), "1" (__src), "r" (__src+__n)
~~~~~^~~~
arch/sh/include/asm/string_32.h:50:42: warning: array subscript is above array bounds [-Warray-bounds]
: "0" (__dest), "1" (__src), "r" (__src+__n)
~~~~~^~~~
arch/sh/include/asm/string_32.h:50:42: warning: array subscript is above array bounds [-Warray-bounds]
: "0" (__dest), "1" (__src), "r" (__src+__n)
~~~~~^~~~
arch/sh/include/asm/string_32.h:50:42: warning: array subscript is above array bounds [-Warray-bounds]
: "0" (__dest), "1" (__src), "r" (__src+__n)
~~~~~^~~~
drivers/regulator/lochnagar-regulator.c: In function 'lochnagar_micbias_of_parse':
>> drivers/regulator/lochnagar-regulator.c:115:7: error: 'LOCHNAGAR2_P2_MICBIAS_SRC_SHIFT' undeclared (first use in this function); did you mean 'LOCHNAGAR_DEVICE_ID_SHIFT'?
LOCHNAGAR2_P2_MICBIAS_SRC_SHIFT;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR_DEVICE_ID_SHIFT
drivers/regulator/lochnagar-regulator.c:115:7: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/regulator/lochnagar-regulator.c:116:13: error: 'LOCHNAGAR2_P1_MICBIAS_SRC_MASK' undeclared (first use in this function); did you mean 'LOCHNAGAR2_P2_MICBIAS_SRC_SHIFT'?
int mask = LOCHNAGAR2_P1_MICBIAS_SRC_MASK << shift;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR2_P2_MICBIAS_SRC_SHIFT
In file included from drivers/regulator/lochnagar-regulator.c:18:0:
>> drivers/regulator/lochnagar-regulator.c:124:7: error: 'LOCHNAGAR2_ANALOGUE_PATH_CTRL2' undeclared (first use in this function)
LOCHNAGAR2_ANALOGUE_PATH_CTRL2,
^
include/linux/regmap.h:77:31: note: in definition of macro 'regmap_update_bits'
regmap_update_bits_base(map, reg, mask, val, NULL, false, false)
^~~
drivers/regulator/lochnagar-regulator.c: At top level:
>> drivers/regulator/lochnagar-regulator.c:148:17: error: 'LOCHNAGAR2_MICVDD_CTRL1' undeclared here (not in a function); did you mean 'LOCHNAGAR_MICVDD'?
.enable_reg = LOCHNAGAR2_MICVDD_CTRL1,
^~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR_MICVDD
>> drivers/regulator/lochnagar-regulator.c:149:18: error: 'LOCHNAGAR2_MICVDD_REG_ENA_MASK' undeclared here (not in a function); did you mean 'LOCHNAGAR2_MICVDD_CTRL1'?
.enable_mask = LOCHNAGAR2_MICVDD_REG_ENA_MASK,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR2_MICVDD_CTRL1
>> drivers/regulator/lochnagar-regulator.c:150:15: error: 'LOCHNAGAR2_MICVDD_CTRL2' undeclared here (not in a function); did you mean 'LOCHNAGAR2_MICVDD_CTRL1'?
.vsel_reg = LOCHNAGAR2_MICVDD_CTRL2,
^~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR2_MICVDD_CTRL1
>> drivers/regulator/lochnagar-regulator.c:151:16: error: 'LOCHNAGAR2_MICVDD_VSEL_MASK' undeclared here (not in a function); did you mean 'LOCHNAGAR2_MICVDD_REG_ENA_MASK'?
.vsel_mask = LOCHNAGAR2_MICVDD_VSEL_MASK,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR2_MICVDD_REG_ENA_MASK
>> drivers/regulator/lochnagar-regulator.c:171:17: error: 'LOCHNAGAR2_ANALOGUE_PATH_CTRL2' undeclared here (not in a function); did you mean 'LOCHNAGAR2_MICVDD_CTRL2'?
.enable_reg = LOCHNAGAR2_ANALOGUE_PATH_CTRL2,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR2_MICVDD_CTRL2
>> drivers/regulator/lochnagar-regulator.c:172:18: error: 'LOCHNAGAR2_P1_INPUT_BIAS_ENA_MASK' undeclared here (not in a function); did you mean 'LOCHNAGAR2_MICVDD_REG_ENA_MASK'?
.enable_mask = LOCHNAGAR2_P1_INPUT_BIAS_ENA_MASK,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR2_MICVDD_REG_ENA_MASK
>> drivers/regulator/lochnagar-regulator.c:187:18: error: 'LOCHNAGAR2_P2_INPUT_BIAS_ENA_MASK' undeclared here (not in a function); did you mean 'LOCHNAGAR2_P1_INPUT_BIAS_ENA_MASK'?
.enable_mask = LOCHNAGAR2_P2_INPUT_BIAS_ENA_MASK,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR2_P1_INPUT_BIAS_ENA_MASK
>> drivers/regulator/lochnagar-regulator.c:201:17: error: 'LOCHNAGAR2_VDDCORE_CDC_CTRL1' undeclared here (not in a function); did you mean 'LOCHNAGAR2_MICVDD_CTRL1'?
.enable_reg = LOCHNAGAR2_VDDCORE_CDC_CTRL1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR2_MICVDD_CTRL1
>> drivers/regulator/lochnagar-regulator.c:202:18: error: 'LOCHNAGAR2_VDDCORE_CDC_REG_ENA_MASK' undeclared here (not in a function); did you mean 'LOCHNAGAR2_MICVDD_REG_ENA_MASK'?
.enable_mask = LOCHNAGAR2_VDDCORE_CDC_REG_ENA_MASK,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR2_MICVDD_REG_ENA_MASK
>> drivers/regulator/lochnagar-regulator.c:203:15: error: 'LOCHNAGAR2_VDDCORE_CDC_CTRL2' undeclared here (not in a function); did you mean 'LOCHNAGAR2_VDDCORE_CDC_CTRL1'?
.vsel_reg = LOCHNAGAR2_VDDCORE_CDC_CTRL2,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR2_VDDCORE_CDC_CTRL1
>> drivers/regulator/lochnagar-regulator.c:204:16: error: 'LOCHNAGAR2_VDDCORE_CDC_VSEL_MASK' undeclared here (not in a function); did you mean 'LOCHNAGAR2_VDDCORE_CDC_REG_ENA_MASK'?
.vsel_mask = LOCHNAGAR2_VDDCORE_CDC_VSEL_MASK,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCHNAGAR2_VDDCORE_CDC_REG_ENA_MASK
make[3]: *** [drivers/regulator/lochnagar-regulator.o] Error 1
make[3]: Target '__build' not remade because of errors.
make[2]: *** [drivers/regulator] Error 2
In file included from arch/sh/include/asm/string.h:3:0,
from include/linux/string.h:20,
from include/linux/bitmap.h:9,
from include/linux/cpumask.h:12,
from include/linux/rcupdate.h:44,
from include/linux/radix-tree.h:28,
from include/linux/idr.h:15,
from include/linux/kernfs.h:14,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/device.h:16,
from include/linux/platform_device.h:14,
from drivers/tty/serial/xilinx_uartps.c:16:
drivers/tty/serial/xilinx_uartps.c: In function 'cdns_uart_probe':
arch/sh/include/asm/string_32.h:50:42: warning: array subscript is above array bounds [-Warray-bounds]
: "0" (__dest), "1" (__src), "r" (__src+__n)
~~~~~^~~~
In file included from arch/sh/include/asm/string.h:3:0,
from include/linux/string.h:20,
from include/linux/bitmap.h:9,
from include/linux/nodemask.h:95,
from include/linux/mmzone.h:17,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from drivers/usb/gadget/udc/mv_u3d_core.c:6:
drivers/usb/gadget/udc/mv_u3d_core.c: In function 'mv_u3d_probe':
arch/sh/include/asm/string_32.h:50:42: warning: array subscript is above array bounds [-Warray-bounds]
: "0" (__dest), "1" (__src), "r" (__src+__n)
~~~~~^~~~
In file included from arch/sh/include/asm/string.h:3:0,
from include/linux/string.h:20,
from include/linux/bitmap.h:9,
from include/linux/nodemask.h:95,
from include/linux/mmzone.h:17,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from drivers/usb/gadget/udc/mv_udc_core.c:8:
drivers/usb/gadget/udc/mv_udc_core.c: In function 'mv_udc_probe':
arch/sh/include/asm/string_32.h:50:42: warning: array subscript is above array bounds [-Warray-bounds]
: "0" (__dest), "1" (__src), "r" (__src+__n)
~~~~~^~~~
make[2]: Target '__build' not remade because of errors.
vim +115 drivers/regulator/lochnagar-regulator.c
bef9391c Charles Keepax 2018-10-08 9
bef9391c Charles Keepax 2018-10-08 10 #include <linux/bitops.h>
bef9391c Charles Keepax 2018-10-08 11 #include <linux/device.h>
bef9391c Charles Keepax 2018-10-08 12 #include <linux/err.h>
bef9391c Charles Keepax 2018-10-08 13 #include <linux/module.h>
bef9391c Charles Keepax 2018-10-08 14 #include <linux/mutex.h>
bef9391c Charles Keepax 2018-10-08 15 #include <linux/of.h>
fda7f8cb Charles Keepax 2018-11-20 16 #include <linux/of_device.h>
bef9391c Charles Keepax 2018-10-08 17 #include <linux/platform_device.h>
bef9391c Charles Keepax 2018-10-08 @18 #include <linux/regmap.h>
bef9391c Charles Keepax 2018-10-08 19 #include <linux/regulator/driver.h>
bef9391c Charles Keepax 2018-10-08 20 #include <linux/regulator/machine.h>
bef9391c Charles Keepax 2018-10-08 21 #include <linux/regulator/of_regulator.h>
bef9391c Charles Keepax 2018-10-08 22
bef9391c Charles Keepax 2018-10-08 23 #include <linux/mfd/lochnagar.h>
bef9391c Charles Keepax 2018-10-08 24
bef9391c Charles Keepax 2018-10-08 25 static const struct regulator_ops lochnagar_micvdd_ops = {
bef9391c Charles Keepax 2018-10-08 26 .enable = regulator_enable_regmap,
bef9391c Charles Keepax 2018-10-08 27 .disable = regulator_disable_regmap,
bef9391c Charles Keepax 2018-10-08 28 .is_enabled = regulator_is_enabled_regmap,
bef9391c Charles Keepax 2018-10-08 29
bef9391c Charles Keepax 2018-10-08 30 .list_voltage = regulator_list_voltage_linear_range,
bef9391c Charles Keepax 2018-10-08 31 .map_voltage = regulator_map_voltage_linear_range,
bef9391c Charles Keepax 2018-10-08 32
bef9391c Charles Keepax 2018-10-08 33 .get_voltage_sel = regulator_get_voltage_sel_regmap,
bef9391c Charles Keepax 2018-10-08 34 .set_voltage_sel = regulator_set_voltage_sel_regmap,
bef9391c Charles Keepax 2018-10-08 35 };
bef9391c Charles Keepax 2018-10-08 36
bef9391c Charles Keepax 2018-10-08 37 static const struct regulator_linear_range lochnagar_micvdd_ranges[] = {
bef9391c Charles Keepax 2018-10-08 38 REGULATOR_LINEAR_RANGE(1000000, 0, 0xC, 50000),
bef9391c Charles Keepax 2018-10-08 39 REGULATOR_LINEAR_RANGE(1700000, 0xD, 0x1F, 100000),
bef9391c Charles Keepax 2018-10-08 40 };
bef9391c Charles Keepax 2018-10-08 41
bef9391c Charles Keepax 2018-10-08 42 static int lochnagar_micbias_enable(struct regulator_dev *rdev)
bef9391c Charles Keepax 2018-10-08 43 {
bef9391c Charles Keepax 2018-10-08 44 struct lochnagar *lochnagar = rdev_get_drvdata(rdev);
bef9391c Charles Keepax 2018-10-08 45 int ret;
bef9391c Charles Keepax 2018-10-08 46
bef9391c Charles Keepax 2018-10-08 47 mutex_lock(&lochnagar->analogue_config_lock);
bef9391c Charles Keepax 2018-10-08 48
bef9391c Charles Keepax 2018-10-08 49 ret = regulator_enable_regmap(rdev);
bef9391c Charles Keepax 2018-10-08 50 if (ret < 0)
bef9391c Charles Keepax 2018-10-08 51 goto err;
bef9391c Charles Keepax 2018-10-08 52
bef9391c Charles Keepax 2018-10-08 53 ret = lochnagar_update_config(lochnagar);
bef9391c Charles Keepax 2018-10-08 54
bef9391c Charles Keepax 2018-10-08 55 err:
bef9391c Charles Keepax 2018-10-08 56 mutex_unlock(&lochnagar->analogue_config_lock);
bef9391c Charles Keepax 2018-10-08 57
bef9391c Charles Keepax 2018-10-08 58 return ret;
bef9391c Charles Keepax 2018-10-08 59 }
bef9391c Charles Keepax 2018-10-08 60
bef9391c Charles Keepax 2018-10-08 61 static int lochnagar_micbias_disable(struct regulator_dev *rdev)
bef9391c Charles Keepax 2018-10-08 62 {
bef9391c Charles Keepax 2018-10-08 63 struct lochnagar *lochnagar = rdev_get_drvdata(rdev);
bef9391c Charles Keepax 2018-10-08 64 int ret;
bef9391c Charles Keepax 2018-10-08 65
bef9391c Charles Keepax 2018-10-08 66 mutex_lock(&lochnagar->analogue_config_lock);
bef9391c Charles Keepax 2018-10-08 67
bef9391c Charles Keepax 2018-10-08 68 ret = regulator_disable_regmap(rdev);
bef9391c Charles Keepax 2018-10-08 69 if (ret < 0)
bef9391c Charles Keepax 2018-10-08 70 goto err;
bef9391c Charles Keepax 2018-10-08 71
bef9391c Charles Keepax 2018-10-08 72 ret = lochnagar_update_config(lochnagar);
bef9391c Charles Keepax 2018-10-08 73
bef9391c Charles Keepax 2018-10-08 74 err:
bef9391c Charles Keepax 2018-10-08 75 mutex_unlock(&lochnagar->analogue_config_lock);
bef9391c Charles Keepax 2018-10-08 76
bef9391c Charles Keepax 2018-10-08 77 return ret;
bef9391c Charles Keepax 2018-10-08 78 }
bef9391c Charles Keepax 2018-10-08 79
bef9391c Charles Keepax 2018-10-08 80 static const struct regulator_ops lochnagar_micbias_ops = {
bef9391c Charles Keepax 2018-10-08 81 .enable = lochnagar_micbias_enable,
bef9391c Charles Keepax 2018-10-08 82 .disable = lochnagar_micbias_disable,
bef9391c Charles Keepax 2018-10-08 83 .is_enabled = regulator_is_enabled_regmap,
bef9391c Charles Keepax 2018-10-08 84 };
bef9391c Charles Keepax 2018-10-08 85
bef9391c Charles Keepax 2018-10-08 86 static const struct regulator_ops lochnagar_vddcore_ops = {
bef9391c Charles Keepax 2018-10-08 87 .enable = regulator_enable_regmap,
bef9391c Charles Keepax 2018-10-08 88 .disable = regulator_disable_regmap,
bef9391c Charles Keepax 2018-10-08 89 .is_enabled = regulator_is_enabled_regmap,
bef9391c Charles Keepax 2018-10-08 90
bef9391c Charles Keepax 2018-10-08 91 .list_voltage = regulator_list_voltage_linear_range,
bef9391c Charles Keepax 2018-10-08 92 .map_voltage = regulator_map_voltage_linear_range,
bef9391c Charles Keepax 2018-10-08 93
bef9391c Charles Keepax 2018-10-08 94 .get_voltage_sel = regulator_get_voltage_sel_regmap,
bef9391c Charles Keepax 2018-10-08 95 .set_voltage_sel = regulator_set_voltage_sel_regmap,
bef9391c Charles Keepax 2018-10-08 96 };
bef9391c Charles Keepax 2018-10-08 97
bef9391c Charles Keepax 2018-10-08 98 static const struct regulator_linear_range lochnagar_vddcore_ranges[] = {
bef9391c Charles Keepax 2018-10-08 99 REGULATOR_LINEAR_RANGE(600000, 0x8, 0x41, 12500),
bef9391c Charles Keepax 2018-10-08 100 };
bef9391c Charles Keepax 2018-10-08 101
bef9391c Charles Keepax 2018-10-08 102 enum lochnagar_regulators {
bef9391c Charles Keepax 2018-10-08 103 LOCHNAGAR_MICVDD,
bef9391c Charles Keepax 2018-10-08 104 LOCHNAGAR_MIC1VDD,
bef9391c Charles Keepax 2018-10-08 105 LOCHNAGAR_MIC2VDD,
bef9391c Charles Keepax 2018-10-08 106 LOCHNAGAR_VDDCORE,
bef9391c Charles Keepax 2018-10-08 107 };
bef9391c Charles Keepax 2018-10-08 108
bef9391c Charles Keepax 2018-10-08 109 static int lochnagar_micbias_of_parse(struct device_node *np,
bef9391c Charles Keepax 2018-10-08 110 const struct regulator_desc *desc,
bef9391c Charles Keepax 2018-10-08 111 struct regulator_config *config)
bef9391c Charles Keepax 2018-10-08 112 {
bef9391c Charles Keepax 2018-10-08 113 struct lochnagar *lochnagar = config->driver_data;
bef9391c Charles Keepax 2018-10-08 114 int shift = (desc->id - LOCHNAGAR_MIC1VDD) *
bef9391c Charles Keepax 2018-10-08 @115 LOCHNAGAR2_P2_MICBIAS_SRC_SHIFT;
bef9391c Charles Keepax 2018-10-08 @116 int mask = LOCHNAGAR2_P1_MICBIAS_SRC_MASK << shift;
bef9391c Charles Keepax 2018-10-08 117 unsigned int val;
bef9391c Charles Keepax 2018-10-08 118 int ret;
bef9391c Charles Keepax 2018-10-08 119
bef9391c Charles Keepax 2018-10-08 120 ret = of_property_read_u32(np, "cirrus,micbias-input", &val);
bef9391c Charles Keepax 2018-10-08 121 if (ret >= 0) {
bef9391c Charles Keepax 2018-10-08 122 mutex_lock(&lochnagar->analogue_config_lock);
bef9391c Charles Keepax 2018-10-08 123 ret = regmap_update_bits(lochnagar->regmap,
bef9391c Charles Keepax 2018-10-08 @124 LOCHNAGAR2_ANALOGUE_PATH_CTRL2,
bef9391c Charles Keepax 2018-10-08 125 mask, val << shift);
bef9391c Charles Keepax 2018-10-08 126 mutex_unlock(&lochnagar->analogue_config_lock);
bef9391c Charles Keepax 2018-10-08 127 if (ret < 0) {
bef9391c Charles Keepax 2018-10-08 128 dev_err(lochnagar->dev,
bef9391c Charles Keepax 2018-10-08 129 "Failed to update micbias source: %d\n", ret);
bef9391c Charles Keepax 2018-10-08 130 return ret;
bef9391c Charles Keepax 2018-10-08 131 }
bef9391c Charles Keepax 2018-10-08 132 }
bef9391c Charles Keepax 2018-10-08 133
bef9391c Charles Keepax 2018-10-08 134 return 0;
bef9391c Charles Keepax 2018-10-08 135 }
bef9391c Charles Keepax 2018-10-08 136
bef9391c Charles Keepax 2018-10-08 137 static const struct regulator_desc lochnagar_regulators[] = {
bef9391c Charles Keepax 2018-10-08 138 [LOCHNAGAR_MICVDD] = {
bef9391c Charles Keepax 2018-10-08 139 .name = "MICVDD",
bef9391c Charles Keepax 2018-10-08 140 .supply_name = "SYSVDD",
bef9391c Charles Keepax 2018-10-08 141 .type = REGULATOR_VOLTAGE,
bef9391c Charles Keepax 2018-10-08 142 .n_voltages = 32,
bef9391c Charles Keepax 2018-10-08 143 .ops = &lochnagar_micvdd_ops,
bef9391c Charles Keepax 2018-10-08 144
bef9391c Charles Keepax 2018-10-08 145 .id = LOCHNAGAR_MICVDD,
bef9391c Charles Keepax 2018-10-08 146 .of_match = of_match_ptr("MICVDD"),
bef9391c Charles Keepax 2018-10-08 147
bef9391c Charles Keepax 2018-10-08 @148 .enable_reg = LOCHNAGAR2_MICVDD_CTRL1,
bef9391c Charles Keepax 2018-10-08 @149 .enable_mask = LOCHNAGAR2_MICVDD_REG_ENA_MASK,
bef9391c Charles Keepax 2018-10-08 @150 .vsel_reg = LOCHNAGAR2_MICVDD_CTRL2,
bef9391c Charles Keepax 2018-10-08 @151 .vsel_mask = LOCHNAGAR2_MICVDD_VSEL_MASK,
bef9391c Charles Keepax 2018-10-08 152
bef9391c Charles Keepax 2018-10-08 153 .linear_ranges = lochnagar_micvdd_ranges,
bef9391c Charles Keepax 2018-10-08 154 .n_linear_ranges = ARRAY_SIZE(lochnagar_micvdd_ranges),
bef9391c Charles Keepax 2018-10-08 155
bef9391c Charles Keepax 2018-10-08 156 .enable_time = 3000,
bef9391c Charles Keepax 2018-10-08 157 .ramp_delay = 1000,
bef9391c Charles Keepax 2018-10-08 158
bef9391c Charles Keepax 2018-10-08 159 .owner = THIS_MODULE,
bef9391c Charles Keepax 2018-10-08 160 },
bef9391c Charles Keepax 2018-10-08 161 [LOCHNAGAR_MIC1VDD] = {
bef9391c Charles Keepax 2018-10-08 162 .name = "MIC1VDD",
bef9391c Charles Keepax 2018-10-08 163 .supply_name = "MICBIAS1",
bef9391c Charles Keepax 2018-10-08 164 .type = REGULATOR_VOLTAGE,
bef9391c Charles Keepax 2018-10-08 165 .ops = &lochnagar_micbias_ops,
bef9391c Charles Keepax 2018-10-08 166
bef9391c Charles Keepax 2018-10-08 167 .id = LOCHNAGAR_MIC1VDD,
bef9391c Charles Keepax 2018-10-08 168 .of_match = of_match_ptr("MIC1VDD"),
bef9391c Charles Keepax 2018-10-08 169 .of_parse_cb = lochnagar_micbias_of_parse,
bef9391c Charles Keepax 2018-10-08 170
bef9391c Charles Keepax 2018-10-08 @171 .enable_reg = LOCHNAGAR2_ANALOGUE_PATH_CTRL2,
bef9391c Charles Keepax 2018-10-08 @172 .enable_mask = LOCHNAGAR2_P1_INPUT_BIAS_ENA_MASK,
bef9391c Charles Keepax 2018-10-08 173
bef9391c Charles Keepax 2018-10-08 174 .owner = THIS_MODULE,
bef9391c Charles Keepax 2018-10-08 175 },
bef9391c Charles Keepax 2018-10-08 176 [LOCHNAGAR_MIC2VDD] = {
bef9391c Charles Keepax 2018-10-08 177 .name = "MIC2VDD",
bef9391c Charles Keepax 2018-10-08 178 .supply_name = "MICBIAS2",
bef9391c Charles Keepax 2018-10-08 179 .type = REGULATOR_VOLTAGE,
bef9391c Charles Keepax 2018-10-08 180 .ops = &lochnagar_micbias_ops,
bef9391c Charles Keepax 2018-10-08 181
bef9391c Charles Keepax 2018-10-08 182 .id = LOCHNAGAR_MIC2VDD,
bef9391c Charles Keepax 2018-10-08 183 .of_match = of_match_ptr("MIC2VDD"),
bef9391c Charles Keepax 2018-10-08 184 .of_parse_cb = lochnagar_micbias_of_parse,
bef9391c Charles Keepax 2018-10-08 185
bef9391c Charles Keepax 2018-10-08 186 .enable_reg = LOCHNAGAR2_ANALOGUE_PATH_CTRL2,
bef9391c Charles Keepax 2018-10-08 @187 .enable_mask = LOCHNAGAR2_P2_INPUT_BIAS_ENA_MASK,
bef9391c Charles Keepax 2018-10-08 188
bef9391c Charles Keepax 2018-10-08 189 .owner = THIS_MODULE,
bef9391c Charles Keepax 2018-10-08 190 },
bef9391c Charles Keepax 2018-10-08 191 [LOCHNAGAR_VDDCORE] = {
bef9391c Charles Keepax 2018-10-08 192 .name = "VDDCORE",
bef9391c Charles Keepax 2018-10-08 193 .supply_name = "SYSVDD",
bef9391c Charles Keepax 2018-10-08 194 .type = REGULATOR_VOLTAGE,
bef9391c Charles Keepax 2018-10-08 195 .n_voltages = 57,
bef9391c Charles Keepax 2018-10-08 196 .ops = &lochnagar_vddcore_ops,
bef9391c Charles Keepax 2018-10-08 197
bef9391c Charles Keepax 2018-10-08 198 .id = LOCHNAGAR_VDDCORE,
bef9391c Charles Keepax 2018-10-08 199 .of_match = of_match_ptr("VDDCORE"),
bef9391c Charles Keepax 2018-10-08 200
bef9391c Charles Keepax 2018-10-08 @201 .enable_reg = LOCHNAGAR2_VDDCORE_CDC_CTRL1,
bef9391c Charles Keepax 2018-10-08 @202 .enable_mask = LOCHNAGAR2_VDDCORE_CDC_REG_ENA_MASK,
bef9391c Charles Keepax 2018-10-08 @203 .vsel_reg = LOCHNAGAR2_VDDCORE_CDC_CTRL2,
bef9391c Charles Keepax 2018-10-08 @204 .vsel_mask = LOCHNAGAR2_VDDCORE_CDC_VSEL_MASK,
bef9391c Charles Keepax 2018-10-08 205
bef9391c Charles Keepax 2018-10-08 206 .linear_ranges = lochnagar_vddcore_ranges,
bef9391c Charles Keepax 2018-10-08 207 .n_linear_ranges = ARRAY_SIZE(lochnagar_vddcore_ranges),
bef9391c Charles Keepax 2018-10-08 208
bef9391c Charles Keepax 2018-10-08 209 .enable_time = 3000,
bef9391c Charles Keepax 2018-10-08 210 .ramp_delay = 1000,
bef9391c Charles Keepax 2018-10-08 211
bef9391c Charles Keepax 2018-10-08 212 .owner = THIS_MODULE,
bef9391c Charles Keepax 2018-10-08 213 },
bef9391c Charles Keepax 2018-10-08 214 };
bef9391c Charles Keepax 2018-10-08 215
:::::: The code at line 115 was first introduced by commit
:::::: bef9391cbec547351c6a13e52f3a26bb2d271ec7 regulator: lochnagar: Add support for the Cirrus Logic Lochnagar
:::::: TO: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
:::::: CC: Mark Brown <broonie@kernel.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 50582 bytes --]
next prev parent reply other threads:[~2018-11-23 9:00 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-20 14:16 [PATCH v5 1/8] regulator: lochnagar: Move driver to binding from DT Charles Keepax
2018-11-20 14:16 ` Charles Keepax
2018-11-20 14:16 ` [PATCH v5 2/8] mfd: lochnagar: Add initial binding documentation Charles Keepax
2018-11-20 14:16 ` Charles Keepax
2018-11-28 9:18 ` Lee Jones
2018-11-20 14:16 ` [PATCH v5 3/8] clk: " Charles Keepax
2018-11-20 14:16 ` Charles Keepax
2018-11-26 20:16 ` Rob Herring
2018-11-27 9:34 ` Charles Keepax
2018-11-27 9:34 ` Charles Keepax
2018-11-20 14:16 ` [PATCH v5 4/8] pinctrl: " Charles Keepax
2018-11-20 14:16 ` Charles Keepax
2018-12-07 17:07 ` Rob Herring
2018-12-16 0:16 ` Linus Walleij
2018-12-16 0:16 ` Linus Walleij
2018-11-20 14:16 ` [PATCH v5 5/8] regulator: " Charles Keepax
2018-11-20 14:16 ` Charles Keepax
2018-11-20 14:16 ` [PATCH v5 6/8] mfd: lochnagar: Add support for the Cirrus Logic Lochnagar Charles Keepax
2018-11-20 14:16 ` Charles Keepax
2018-11-23 9:00 ` kbuild test robot [this message]
2018-11-23 9:15 ` Charles Keepax
2018-11-23 9:15 ` Charles Keepax
2018-11-28 9:22 ` Lee Jones
2018-11-20 14:16 ` [PATCH v5 7/8] clk: " Charles Keepax
2018-11-20 14:16 ` Charles Keepax
2018-11-30 7:53 ` Stephen Boyd
2018-12-21 13:50 ` Charles Keepax
2018-12-21 13:50 ` Charles Keepax
2018-12-21 15:28 ` Charles Keepax
2018-12-21 15:28 ` Charles Keepax
2018-12-21 20:44 ` Stephen Boyd
2018-11-20 14:16 ` [PATCH v5 8/8] pinctrl: " Charles Keepax
2018-11-20 14:16 ` Charles Keepax
2018-11-24 16:11 ` kbuild test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201811231606.fDWBzL7a%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=devicetree@vger.kernel.org \
--cc=kbuild-all@01.org \
--cc=lee.jones@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mturquette@baylibre.com \
--cc=patches@opensource.cirrus.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.