All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Axel Lin <axel.lin@ingics.com>
Cc: kbuild-all@01.org, Mark Brown <broonie@kernel.org>,
	Keerthy <j-keerthy@ti.com>, Liam Girdwood <lgirdwood@gmail.com>,
	linux-kernel@vger.kernel.org, Axel Lin <axel.lin@ingics.com>
Subject: Re: [PATCH] regulator: lp87565: Convert to use regulator_set/get_current_limit_regmap
Date: Fri, 1 Mar 2019 19:31:53 +0800	[thread overview]
Message-ID: <201903011929.WkN8JU5R%fengguang.wu@intel.com> (raw)
In-Reply-To: <20190301062432.2322-1-axel.lin@ingics.com>

[-- Attachment #1: Type: text/plain, Size: 10235 bytes --]

Hi Axel,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on regulator/for-next]
[also build test ERROR on next-20190228]
[cannot apply to v5.0-rc8]
[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/Axel-Lin/regulator-lp87565-Convert-to-use-regulator_set-get_current_limit_regmap/20190301-190141
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
config: i386-randconfig-x013-201908 (attached as .config)
compiler: gcc-8 (Debian 8.2.0-21) 8.2.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

>> drivers//regulator/lp87565-regulator.c:120:23: error: 'regulator_set_current_limit_regmap' undeclared here (not in a function); did you mean 'regulator_set_current_limit'?
     .set_current_limit = regulator_set_current_limit_regmap,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          regulator_set_current_limit
>> drivers//regulator/lp87565-regulator.c:121:23: error: 'regulator_get_current_limit_regmap' undeclared here (not in a function); did you mean 'regulator_get_current_limit'?
     .get_current_limit = regulator_get_current_limit_regmap,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          regulator_get_current_limit
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:125:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK0", LP87565_BUCK_0, "buck0", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:125:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK0", LP87565_BUCK_0, "buck0", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:130:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK1", LP87565_BUCK_1, "buck1", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:130:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK1", LP87565_BUCK_1, "buck1", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:135:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK2", LP87565_BUCK_2, "buck2", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:135:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK2", LP87565_BUCK_2, "buck2", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:140:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK3", LP87565_BUCK_3, "buck3", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:140:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK3", LP87565_BUCK_3, "buck3", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:145:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK10", LP87565_BUCK_10, "buck10", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:145:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK10", LP87565_BUCK_10, "buck10", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:151:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK23", LP87565_BUCK_23, "buck23", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:151:2: note: in expansion of macro 'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK23", LP87565_BUCK_23, "buck23", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~

vim +120 drivers//regulator/lp87565-regulator.c

    16	
    17	#define LP87565_REGULATOR(_name, _id, _of, _ops, _n, _vr, _vm, _er, _em, \
    18				 _delay, _lr, _cr)				\
    19		[_id] = {							\
    20			.desc = {						\
    21				.name			= _name,		\
    22				.supply_name		= _of "-in",		\
    23				.id			= _id,			\
    24				.of_match		= of_match_ptr(_of),	\
    25				.regulators_node	= of_match_ptr("regulators"),\
    26				.ops			= &_ops,		\
    27				.n_voltages		= _n,			\
    28				.type			= REGULATOR_VOLTAGE,	\
    29				.owner			= THIS_MODULE,		\
    30				.vsel_reg		= _vr,			\
    31				.vsel_mask		= _vm,			\
    32				.enable_reg		= _er,			\
    33				.enable_mask		= _em,			\
    34				.ramp_delay		= _delay,		\
    35				.linear_ranges		= _lr,			\
    36				.n_linear_ranges	= ARRAY_SIZE(_lr),	\
  > 37				.curr_table = lp87565_buck_uA,			\
  > 38				.n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
    39				.csel_reg = (_cr),				\
    40				.csel_mask = LP87565_BUCK_CTRL_2_ILIM,		\
    41			},							\
    42			.ctrl2_reg = _cr,					\
    43		}
    44	
    45	struct lp87565_regulator {
    46		struct regulator_desc desc;
    47		unsigned int ctrl2_reg;
    48	};
    49	
    50	static const struct lp87565_regulator regulators[];
    51	
    52	static const struct regulator_linear_range buck0_1_2_3_ranges[] = {
    53		REGULATOR_LINEAR_RANGE(600000, 0xA, 0x17, 10000),
    54		REGULATOR_LINEAR_RANGE(735000, 0x18, 0x9d, 5000),
    55		REGULATOR_LINEAR_RANGE(1420000, 0x9e, 0xff, 20000),
    56	};
    57	
    58	static const unsigned int lp87565_buck_ramp_delay[] = {
    59		30000, 15000, 10000, 7500, 3800, 1900, 940, 470
    60	};
    61	
    62	/* LP87565 BUCK current limit */
    63	static const unsigned int lp87565_buck_uA[] = {
    64		1500000, 2000000, 2500000, 3000000, 3500000, 4000000, 4500000, 5000000,
    65	};
    66	
    67	static int lp87565_buck_set_ramp_delay(struct regulator_dev *rdev,
    68					       int ramp_delay)
    69	{
    70		int id = rdev_get_id(rdev);
    71		struct lp87565 *lp87565 = rdev_get_drvdata(rdev);
    72		unsigned int reg;
    73		int ret;
    74	
    75		if (ramp_delay <= 470)
    76			reg = 7;
    77		else if (ramp_delay <= 940)
    78			reg = 6;
    79		else if (ramp_delay <= 1900)
    80			reg = 5;
    81		else if (ramp_delay <= 3800)
    82			reg = 4;
    83		else if (ramp_delay <= 7500)
    84			reg = 3;
    85		else if (ramp_delay <= 10000)
    86			reg = 2;
    87		else if (ramp_delay <= 15000)
    88			reg = 1;
    89		else
    90			reg = 0;
    91	
    92		ret = regmap_update_bits(lp87565->regmap, regulators[id].ctrl2_reg,
    93					 LP87565_BUCK_CTRL_2_SLEW_RATE,
    94					 reg << __ffs(LP87565_BUCK_CTRL_2_SLEW_RATE));
    95		if (ret) {
    96			dev_err(lp87565->dev, "SLEW RATE write failed: %d\n", ret);
    97			return ret;
    98		}
    99	
   100		rdev->constraints->ramp_delay = lp87565_buck_ramp_delay[reg];
   101	
   102		/* Conservatively give a 15% margin */
   103		rdev->constraints->ramp_delay =
   104					rdev->constraints->ramp_delay * 85 / 100;
   105	
   106		return 0;
   107	}
   108	
   109	/* Operations permitted on BUCKs */
   110	static const struct regulator_ops lp87565_buck_ops = {
   111		.is_enabled		= regulator_is_enabled_regmap,
   112		.enable			= regulator_enable_regmap,
   113		.disable		= regulator_disable_regmap,
   114		.get_voltage_sel	= regulator_get_voltage_sel_regmap,
   115		.set_voltage_sel	= regulator_set_voltage_sel_regmap,
   116		.list_voltage		= regulator_list_voltage_linear_range,
   117		.map_voltage		= regulator_map_voltage_linear_range,
   118		.set_voltage_time_sel	= regulator_set_voltage_time_sel,
   119		.set_ramp_delay		= lp87565_buck_set_ramp_delay,
 > 120		.set_current_limit	= regulator_set_current_limit_regmap,
 > 121		.get_current_limit	= regulator_get_current_limit_regmap,
   122	};
   123	

---
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: 31646 bytes --]

  reply	other threads:[~2019-03-01 11:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-01  6:24 [PATCH] regulator: lp87565: Convert to use regulator_set/get_current_limit_regmap Axel Lin
2019-03-01 11:31 ` kbuild test robot [this message]
2019-03-01 14:34   ` Axel Lin
2019-03-01 15:31     ` [kbuild-all] " Li, Philip
2019-03-01 12:53 ` 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=201903011929.WkN8JU5R%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=axel.lin@ingics.com \
    --cc=broonie@kernel.org \
    --cc=j-keerthy@ti.com \
    --cc=kbuild-all@01.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.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.