All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	linux-mediatek@lists.infradead.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	lee@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, matthias.bgg@gmail.com,
	angelogioacchino.delregno@collabora.com, lgirdwood@gmail.com,
	broonie@kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kernel@collabora.com,
	wenst@chromium.org
Subject: Re: [PATCH v5 4/8] regulator: Add support for MediaTek MT6363 SPMI PMIC Regulators
Date: Wed, 16 Jul 2025 20:24:38 +0800	[thread overview]
Message-ID: <202507162012.qDNKtUiI-lkp@intel.com> (raw)
In-Reply-To: <20250715140224.206329-5-angelogioacchino.delregno@collabora.com>

Hi AngeloGioacchino,

kernel test robot noticed the following build errors:

[auto build test ERROR on broonie-regulator/for-next]
[also build test ERROR on lee-mfd/for-mfd-next lee-mfd/for-mfd-fixes lee-leds/for-leds-next linus/master v6.16-rc6 next-20250715]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/AngeloGioacchino-Del-Regno/dt-bindings-regulator-Document-MediaTek-MT6316-PMIC-Regulators/20250715-222516
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
patch link:    https://lore.kernel.org/r/20250715140224.206329-5-angelogioacchino.delregno%40collabora.com
patch subject: [PATCH v5 4/8] regulator: Add support for MediaTek MT6363 SPMI PMIC Regulators
config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20250716/202507162012.qDNKtUiI-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250716/202507162012.qDNKtUiI-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507162012.qDNKtUiI-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/regulator/mt6363-regulator.c:519:9: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     519 |                 sel = FIELD_PREP(MT6363_RG_VEMC_VOSEL_1_MASK, sel);
         |                       ^
>> drivers/regulator/mt6363-regulator.c:577:10: error: call to undeclared function 'FIELD_GET'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     577 |                 vsel = FIELD_GET(MT6363_RG_VEMC_VOSEL_1_MASK, vosel);
         |                        ^
   2 errors generated.


vim +/FIELD_PREP +519 drivers/regulator/mt6363-regulator.c

   481	
   482	static int mt6363_vemc_set_voltage_sel(struct regulator_dev *rdev, unsigned int sel)
   483	{
   484		const u16 tma_unlock_key = MT6363_TMA_UNLOCK_VALUE;
   485		const struct regulator_desc *rdesc = rdev->desc;
   486		struct regmap *regmap = rdev->regmap;
   487		unsigned int range, val;
   488		int i, ret;
   489		u16 mask;
   490	
   491		for (i = 0; i < rdesc->n_linear_ranges; i++) {
   492			const struct linear_range *r = &rdesc->linear_ranges[i];
   493			unsigned int voltages_in_range = linear_range_values_in_range(r);
   494	
   495			if (sel < voltages_in_range)
   496				break;
   497			sel -= voltages_in_range;
   498		}
   499	
   500		if (i == rdesc->n_linear_ranges)
   501			return -EINVAL;
   502	
   503		ret = regmap_read(rdev->regmap, MT6363_TOP_TRAP, &val);
   504		if (ret)
   505			return ret;
   506	
   507		if (val > 1)
   508			return -EINVAL;
   509	
   510		/* Unlock TMA for writing */
   511		ret = regmap_bulk_write(rdev->regmap, MT6363_TOP_TMA_KEY_L,
   512					&tma_unlock_key, sizeof(tma_unlock_key));
   513		if (ret)
   514			return ret;
   515	
   516		/* If HW trapping value is 1, use VEMC_VOSEL_1 instead of VEMC_VOSEL_0 */
   517		if (val == 1) {
   518			mask = MT6363_RG_VEMC_VOSEL_1_MASK;
 > 519			sel = FIELD_PREP(MT6363_RG_VEMC_VOSEL_1_MASK, sel);
   520		} else {
   521			mask = rdesc->vsel_mask;
   522		}
   523	
   524		sel <<= ffs(rdesc->vsel_mask) - 1;
   525		sel += rdesc->linear_ranges[i].min_sel;
   526	
   527		range = rdesc->linear_range_selectors_bitfield[i];
   528		range <<= ffs(rdesc->vsel_range_mask) - 1;
   529	
   530		/* Write to the vreg calibration register for voltage finetuning */
   531		ret = regmap_update_bits(regmap, rdesc->vsel_range_reg,
   532					 rdesc->vsel_range_mask, range);
   533		if (ret)
   534			goto lock_tma;
   535	
   536		/* Function must return the result of this write operation */
   537		ret = regmap_update_bits(regmap, rdesc->vsel_reg, mask, sel);
   538	
   539	lock_tma:
   540		/* Unconditionally re-lock TMA */
   541		val = 0;
   542		regmap_bulk_write(rdev->regmap, MT6363_TOP_TMA_KEY_L, &val, 2);
   543	
   544		return ret;
   545	}
   546	
   547	static int mt6363_vemc_get_voltage_sel(struct regulator_dev *rdev)
   548	{
   549		const struct regulator_desc *rdesc = rdev->desc;
   550		unsigned int vosel, trap, calsel;
   551		int vcal, vsel, range, ret;
   552	
   553		ret = regmap_read(rdev->regmap, rdesc->vsel_reg, &vosel);
   554		if (ret)
   555			return ret;
   556	
   557		ret = regmap_read(rdev->regmap, rdesc->vsel_range_reg, &calsel);
   558		if (ret)
   559			return ret;
   560	
   561		calsel &= rdesc->vsel_range_mask;
   562		for (range = 0; range < rdesc->n_linear_ranges; range++)
   563			if (rdesc->linear_range_selectors_bitfield[range] != calsel)
   564				break;
   565	
   566		if (range == rdesc->n_linear_ranges)
   567			return -EINVAL;
   568	
   569		ret = regmap_read(rdev->regmap, MT6363_TOP_TRAP, &trap);
   570		if (ret)
   571			return ret;
   572	
   573		/* If HW trapping value is 1, use VEMC_VOSEL_1 instead of VEMC_VOSEL_0 */
   574		if (trap > 1)
   575			return -EINVAL;
   576		else if (trap == 1)
 > 577			vsel = FIELD_GET(MT6363_RG_VEMC_VOSEL_1_MASK, vosel);
   578		else
   579			vsel = vosel & rdesc->vsel_mask;
   580	
   581		vcal = linear_range_values_in_range_array(rdesc->linear_ranges, range);
   582	
   583		return vsel + vcal;
   584	}
   585	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


  reply	other threads:[~2025-07-16 12:30 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-15 14:02 [PATCH v5 0/8] Add support MT6316/6363/MT6373 PMICs regulators and MFD AngeloGioacchino Del Regno
2025-07-15 14:02 ` [PATCH v5 1/8] dt-bindings: regulator: Document MediaTek MT6316 PMIC Regulators AngeloGioacchino Del Regno
2025-07-22  4:58   ` Chen-Yu Tsai
2025-07-22  5:11     ` Chen-Yu Tsai
2025-07-15 14:02 ` [PATCH v5 2/8] regulator: Add support for MediaTek MT6316 SPMI " AngeloGioacchino Del Regno
2025-07-22  5:18   ` Chen-Yu Tsai
2025-07-15 14:02 ` [PATCH v5 3/8] dt-bindings: regulator: Document MediaTek MT6363 " AngeloGioacchino Del Regno
2025-07-15 15:41   ` Rob Herring (Arm)
2025-07-17 15:29   ` Rob Herring
2025-07-22  5:24     ` Chen-Yu Tsai
2025-07-15 14:02 ` [PATCH v5 4/8] regulator: Add support for MediaTek MT6363 SPMI " AngeloGioacchino Del Regno
2025-07-16 12:24   ` kernel test robot [this message]
2025-07-15 14:02 ` [PATCH v5 5/8] dt-bindings: regulator: Document MediaTek MT6373 " AngeloGioacchino Del Regno
2025-07-15 15:41   ` Rob Herring (Arm)
2025-07-15 14:02 ` [PATCH v5 6/8] regulator: Add support for MediaTek MT6373 SPMI " AngeloGioacchino Del Regno
2025-07-15 14:02 ` [PATCH v5 7/8] dt-bindings: mfd: Add binding for MediaTek MT6363 series SPMI PMIC AngeloGioacchino Del Regno
2025-07-15 15:41   ` Rob Herring (Arm)
2025-07-15 14:02 ` [PATCH v5 8/8] drivers: mfd: Add support for MediaTek SPMI PMICs and MT6363/73 AngeloGioacchino Del Regno
2025-09-29 13:07 ` [PATCH v5 0/8] Add support MT6316/6363/MT6373 PMICs regulators and MFD Igor Belwon
2025-09-30  9:30   ` AngeloGioacchino Del Regno
2025-09-30 13:25     ` Igor Belwon

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=202507162012.qDNKtUiI-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kernel@collabora.com \
    --cc=krzk+dt@kernel.org \
    --cc=lee@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=llvm@lists.linux.dev \
    --cc=matthias.bgg@gmail.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=robh@kernel.org \
    --cc=wenst@chromium.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.