All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.