All of lore.kernel.org
 help / color / mirror / Atom feed
* [chenxing:mstar_v6_5_reorder 6/700] drivers/clk/mstar/clk-msc313-mux.c:27:9: error: implicit declaration of function 'regmap_field_read'; did you mean 'regmap_field_write'?
@ 2026-07-29 10:51 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-29 10:51 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: oe-kbuild-all

tree:   https://github.com/linux-chenxing/linux.git mstar_v6_5_reorder
head:   1a5c60e65ea399670a5384b869c4958338af2799
commit: b4e750e9c28b84519ef454234db2feb4664b72af [6/700] clk: mstar: msc313 clock mux base
config: nios2-allnoconfig (https://download.01.org/0day-ci/archive/20260729/202607291817.T3BHMhL0-lkp@intel.com/config)
compiler: nios2-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260729/202607291817.T3BHMhL0-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/202607291817.T3BHMhL0-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

   drivers/clk/mstar/clk-msc313-mux.c: In function 'msc313_mux_mux_get_parent':
>> drivers/clk/mstar/clk-msc313-mux.c:27:9: error: implicit declaration of function 'regmap_field_read'; did you mean 'regmap_field_write'? [-Werror=implicit-function-declaration]
      27 |         regmap_field_read(mux->mux, &index);
         |         ^~~~~~~~~~~~~~~~~
         |         regmap_field_write
   drivers/clk/mstar/clk-msc313-mux.c: In function 'msc313_mux_register_muxes':
>> drivers/clk/mstar/clk-msc313-mux.c:163:30: error: variable 'gate_field' has initializer but incomplete type
     163 |                 const struct reg_field gate_field = REG_FIELD(mux_data->offset,
         |                              ^~~~~~~~~
>> drivers/clk/mstar/clk-msc313-mux.c:163:53: error: implicit declaration of function 'REG_FIELD' [-Werror=implicit-function-declaration]
     163 |                 const struct reg_field gate_field = REG_FIELD(mux_data->offset,
         |                                                     ^~~~~~~~~
>> drivers/clk/mstar/clk-msc313-mux.c:163:40: error: storage size of 'gate_field' isn't known
     163 |                 const struct reg_field gate_field = REG_FIELD(mux_data->offset,
         |                                        ^~~~~~~~~~
>> drivers/clk/mstar/clk-msc313-mux.c:165:30: error: variable 'mux_field' has initializer but incomplete type
     165 |                 const struct reg_field mux_field = REG_FIELD(mux_data->offset,
         |                              ^~~~~~~~~
>> drivers/clk/mstar/clk-msc313-mux.c:165:40: error: storage size of 'mux_field' isn't known
     165 |                 const struct reg_field mux_field = REG_FIELD(mux_data->offset,
         |                                        ^~~~~~~~~
>> drivers/clk/mstar/clk-msc313-mux.c:167:30: error: variable 'deglitch_field' has initializer but incomplete type
     167 |                 const struct reg_field deglitch_field = REG_FIELD(mux_data->offset,
         |                              ^~~~~~~~~
>> drivers/clk/mstar/clk-msc313-mux.c:167:40: error: storage size of 'deglitch_field' isn't known
     167 |                 const struct reg_field deglitch_field = REG_FIELD(mux_data->offset,
         |                                        ^~~~~~~~~~~~~~
>> drivers/clk/mstar/clk-msc313-mux.c:174:37: error: implicit declaration of function 'devm_regmap_field_alloc' [-Werror=implicit-function-declaration]
     174 |                         mux->gate = devm_regmap_field_alloc(dev, regmap, gate_field);
         |                                     ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/clk/mstar/clk-msc313-mux.c:167:40: warning: unused variable 'deglitch_field' [-Wunused-variable]
     167 |                 const struct reg_field deglitch_field = REG_FIELD(mux_data->offset,
         |                                        ^~~~~~~~~~~~~~
>> drivers/clk/mstar/clk-msc313-mux.c:165:40: warning: unused variable 'mux_field' [-Wunused-variable]
     165 |                 const struct reg_field mux_field = REG_FIELD(mux_data->offset,
         |                                        ^~~~~~~~~
>> drivers/clk/mstar/clk-msc313-mux.c:163:40: warning: unused variable 'gate_field' [-Wunused-variable]
     163 |                 const struct reg_field gate_field = REG_FIELD(mux_data->offset,
         |                                        ^~~~~~~~~~
   cc1: some warnings being treated as errors


vim +27 drivers/clk/mstar/clk-msc313-mux.c

    21	
    22	static u8 msc313_mux_mux_get_parent(struct clk_hw *hw)
    23	{
    24		struct msc313_mux *mux = mux_to_mux(hw);
    25		unsigned int index;
    26	
  > 27		regmap_field_read(mux->mux, &index);
    28	
    29		return index;
    30	}
    31	
    32	static int msc313_mux_mux_determine_rate(struct clk_hw *hw, struct clk_rate_request *req)
    33	{
    34		struct msc313_mux *mux = mux_to_mux(hw);
    35	
    36		return clk_mux_determine_rate_flags(hw, req, clk_hw_get_flags(&mux->mux_hw));
    37	}
    38	
    39	static const struct clk_ops msc313_mux_mux_ops = {
    40		.set_parent = msc313_mux_mux_set_parent,
    41		.get_parent = msc313_mux_mux_get_parent,
    42		.determine_rate = msc313_mux_mux_determine_rate,
    43	};
    44	
    45	static int msc313_mux_deglitch_enable(struct clk_hw *hw)
    46	{
    47		struct msc313_mux *mux = deglitch_to_mux(hw);
    48	
    49		if (mux->gate)
    50			regmap_field_write(mux->gate, 0);
    51	
    52		return 0;
    53	}
    54	
    55	static void msc313_mux_deglitch_disable(struct clk_hw *hw)
    56	{
    57		struct msc313_mux *mux = deglitch_to_mux(hw);
    58	
    59		if (mux->gate)
    60			regmap_field_write(mux->gate, 1);
    61	}
    62	
    63	static int msc313_mux_deglitch_is_enabled(struct clk_hw *hw)
    64	{
    65		struct msc313_mux *mux = deglitch_to_mux(hw);
    66		unsigned int notgated;
    67	
    68		if (mux->gate) {
    69			regmap_field_read(mux->gate, &notgated);
    70			return !notgated;
    71		}
    72	
    73		return 1;
    74	}
    75	
    76	static int msc313_mux_deglitch_set_parent(struct clk_hw *hw, u8 index)
    77	{
    78		struct msc313_mux *mux = deglitch_to_mux(hw);
    79	
    80		if (!mux->deglitch)
    81			return -ENOTSUPP;
    82	
    83		return regmap_field_write(mux->deglitch, index);
    84	}
    85	
    86	static u8 msc313_mux_deglitch_get_parent(struct clk_hw *hw)
    87	{
    88		struct msc313_mux *mux = deglitch_to_mux(hw);
    89		unsigned int index = 0;
    90	
    91		if (mux->deglitch) {
    92			regmap_field_read(mux->deglitch, &index);
    93		}
    94	
    95		return index;
    96	}
    97	
    98	static int msc313_mux_deglitch_determine_rate(struct clk_hw *hw,
    99			struct clk_rate_request *req)
   100	{
   101		struct msc313_mux *mux = deglitch_to_mux(hw);
   102	
   103		return clk_mux_determine_rate_flags(hw, req, clk_hw_get_flags(&mux->deglitch_hw));
   104	}
   105	
   106	static const struct clk_ops msc313_mux_deglitch_ops = {
   107		.enable = msc313_mux_deglitch_enable,
   108		.disable = msc313_mux_deglitch_disable,
   109		.is_enabled = msc313_mux_deglitch_is_enabled,
   110		.set_parent = msc313_mux_deglitch_set_parent,
   111		.get_parent = msc313_mux_deglitch_get_parent,
   112		.determine_rate = msc313_mux_deglitch_determine_rate,
   113	};
   114	
   115	struct clk_hw *msc313_mux_xlate(struct of_phandle_args *clkspec, void *data)
   116	{
   117		struct msc313_muxes *muxes = data;
   118		unsigned int of_idx = clkspec->args[0];
   119		unsigned int idx = of_idx / 2;
   120	
   121		/* mux, deglitch, mux, deglitch,.. */
   122		if (of_idx >= muxes->muxes_data->num_muxes * 2)
   123			return ERR_PTR(-EINVAL);
   124	
   125		if (of_idx % 2)
   126			return &muxes->muxes[idx].deglitch_hw;
   127	
   128		return &muxes->muxes[idx].mux_hw;
   129	}
   130	
   131	struct msc313_muxes *msc313_mux_register_muxes(struct device *dev,
   132			struct regmap *regmap, const struct msc313_muxes_data *muxes_data,
   133			int (*fill_clk_parent_data)(struct clk_parent_data*, void*, const void*, const struct msc313_muxes*, unsigned int, unsigned int), void *data)
   134	{
   135		const struct msc313_mux_data *mux_data = muxes_data->muxes;
   136		struct clk_init_data mux_init = {
   137			.ops = &msc313_mux_mux_ops,
   138		};
   139		struct clk_init_data deglitch_init = {
   140			.ops = &msc313_mux_deglitch_ops,
   141		};
   142		struct clk_parent_data *dynamic_parent_data = NULL;
   143		struct msc313_muxes *muxes;
   144		struct msc313_mux *mux;
   145		struct clk_hw *clk_hw;
   146		int i, ret, mux_parent;
   147	
   148		/*
   149		 * If using the dynamic clk_parent_data mode you have to have both
   150		 * a callback and data.
   151		 */
   152		if ((fill_clk_parent_data && !data) || (!fill_clk_parent_data && data))
   153			return ERR_PTR(-EINVAL);
   154	
   155		muxes = devm_kzalloc(dev, struct_size(muxes, muxes, muxes_data->num_muxes), GFP_KERNEL);
   156		if (!muxes)
   157			return ERR_PTR(-ENOMEM);
   158	
   159		muxes->muxes_data = muxes_data;
   160		mux = muxes->muxes;
   161	
   162		for (i = 0; i < muxes_data->num_muxes; i++, mux++, mux_data++) {
 > 163			const struct reg_field gate_field = REG_FIELD(mux_data->offset,
   164					mux_data->gate_shift, mux_data->gate_shift);
 > 165			const struct reg_field mux_field = REG_FIELD(mux_data->offset,
   166					mux_data->mux_shift, mux_data->mux_shift + (mux_data->mux_width - 1));
 > 167			const struct reg_field deglitch_field = REG_FIELD(mux_data->offset,
   168					mux_data->deglitch_shift, mux_data->deglitch_shift);
   169	
   170			if(!mux_data->name)
   171				continue;
   172	
   173			if (mux_data->gate_shift != -1) {
 > 174				mux->gate = devm_regmap_field_alloc(dev, regmap, gate_field);

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-29 10:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-29 10:51 [chenxing:mstar_v6_5_reorder 6/700] drivers/clk/mstar/clk-msc313-mux.c:27:9: error: implicit declaration of function 'regmap_field_read'; did you mean 'regmap_field_write'? kernel test robot

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.