oe-kbuild-all.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [plbossart-sound:fix/sdw-runtime-pm 1/1] drivers/soundwire/master.c:101:28: error: 'pm_generic_runtime_suspend' undeclared here (not in a function); did you mean 'pm_generic_suspend'?
@ 2023-05-09  4:21 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-05-09  4:21 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: oe-kbuild-all

tree:   https://github.com/plbossart/sound fix/sdw-runtime-pm
head:   a216e8e0a87bbabf7868d6d175dd6919b06675da
commit: a216e8e0a87bbabf7868d6d175dd6919b06675da [1/1] soundwire: master: clean-up pm_runtime support
config: ia64-allyesconfig (https://download.01.org/0day-ci/archive/20230509/202305091257.9PaWvmb3-lkp@intel.com/config)
compiler: ia64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/plbossart/sound/commit/a216e8e0a87bbabf7868d6d175dd6919b06675da
        git remote add plbossart-sound https://github.com/plbossart/sound
        git fetch --no-tags plbossart-sound fix/sdw-runtime-pm
        git checkout a216e8e0a87bbabf7868d6d175dd6919b06675da
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202305091257.9PaWvmb3-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from include/linux/device.h:25,
                    from drivers/soundwire/master.c:4:
>> drivers/soundwire/master.c:101:28: error: 'pm_generic_runtime_suspend' undeclared here (not in a function); did you mean 'pm_generic_suspend'?
     101 |         SET_RUNTIME_PM_OPS(pm_generic_runtime_suspend,
         |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/pm.h:337:28: note: in definition of macro 'RUNTIME_PM_OPS'
     337 |         .runtime_suspend = suspend_fn, \
         |                            ^~~~~~~~~~
   drivers/soundwire/master.c:101:9: note: in expansion of macro 'SET_RUNTIME_PM_OPS'
     101 |         SET_RUNTIME_PM_OPS(pm_generic_runtime_suspend,
         |         ^~~~~~~~~~~~~~~~~~
>> drivers/soundwire/master.c:102:28: error: 'pm_generic_runtime_resume' undeclared here (not in a function); did you mean 'pm_generic_resume'?
     102 |                            pm_generic_runtime_resume, NULL)
         |                            ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/pm.h:338:27: note: in definition of macro 'RUNTIME_PM_OPS'
     338 |         .runtime_resume = resume_fn, \
         |                           ^~~~~~~~~
   drivers/soundwire/master.c:101:9: note: in expansion of macro 'SET_RUNTIME_PM_OPS'
     101 |         SET_RUNTIME_PM_OPS(pm_generic_runtime_suspend,
         |         ^~~~~~~~~~~~~~~~~~


vim +101 drivers/soundwire/master.c

946bab81f3286c Pierre-Louis Bossart 2020-02-24    3  
946bab81f3286c Pierre-Louis Bossart 2020-02-24   @4  #include <linux/device.h>
946bab81f3286c Pierre-Louis Bossart 2020-02-24    5  #include <linux/acpi.h>
946bab81f3286c Pierre-Louis Bossart 2020-02-24    6  #include <linux/soundwire/sdw.h>
946bab81f3286c Pierre-Louis Bossart 2020-02-24    7  #include <linux/soundwire/sdw_type.h>
946bab81f3286c Pierre-Louis Bossart 2020-02-24    8  #include "bus.h"
946bab81f3286c Pierre-Louis Bossart 2020-02-24    9  
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   10  /*
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   11   * The sysfs for properties reflects the MIPI description as given
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   12   * in the MIPI DisCo spec
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   13   *
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   14   * Base file is:
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   15   *	sdw-master-N
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   16   *      |---- revision
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   17   *      |---- clk_stop_modes
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   18   *      |---- max_clk_freq
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   19   *      |---- clk_freq
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   20   *      |---- clk_gears
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   21   *      |---- default_row
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   22   *      |---- default_col
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   23   *      |---- dynamic_shape
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   24   *      |---- err_threshold
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   25   */
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   26  
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   27  #define sdw_master_attr(field, format_string)				\
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   28  static ssize_t field##_show(struct device *dev,				\
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   29  			    struct device_attribute *attr,		\
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   30  			    char *buf)					\
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   31  {									\
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   32  	struct sdw_master_device *md = dev_to_sdw_master_device(dev);	\
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   33  	return sprintf(buf, format_string, md->bus->prop.field);	\
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   34  }									\
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   35  static DEVICE_ATTR_RO(field)
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   36  
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   37  sdw_master_attr(revision, "0x%x\n");
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   38  sdw_master_attr(clk_stop_modes, "0x%x\n");
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   39  sdw_master_attr(max_clk_freq, "%d\n");
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   40  sdw_master_attr(default_row, "%d\n");
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   41  sdw_master_attr(default_col, "%d\n");
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   42  sdw_master_attr(default_frame_rate, "%d\n");
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   43  sdw_master_attr(dynamic_frame, "%d\n");
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   44  sdw_master_attr(err_threshold, "%d\n");
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   45  
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   46  static ssize_t clock_frequencies_show(struct device *dev,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   47  				      struct device_attribute *attr, char *buf)
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   48  {
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   49  	struct sdw_master_device *md = dev_to_sdw_master_device(dev);
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   50  	ssize_t size = 0;
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   51  	int i;
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   52  
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   53  	for (i = 0; i < md->bus->prop.num_clk_freq; i++)
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   54  		size += sprintf(buf + size, "%8d ",
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   55  				md->bus->prop.clk_freq[i]);
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   56  	size += sprintf(buf + size, "\n");
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   57  
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   58  	return size;
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   59  }
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   60  static DEVICE_ATTR_RO(clock_frequencies);
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   61  
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   62  static ssize_t clock_gears_show(struct device *dev,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   63  				struct device_attribute *attr, char *buf)
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   64  {
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   65  	struct sdw_master_device *md = dev_to_sdw_master_device(dev);
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   66  	ssize_t size = 0;
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   67  	int i;
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   68  
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   69  	for (i = 0; i < md->bus->prop.num_clk_gears; i++)
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   70  		size += sprintf(buf + size, "%8d ",
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   71  				md->bus->prop.clk_gears[i]);
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   72  	size += sprintf(buf + size, "\n");
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   73  
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   74  	return size;
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   75  }
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   76  static DEVICE_ATTR_RO(clock_gears);
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   77  
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   78  static struct attribute *master_node_attrs[] = {
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   79  	&dev_attr_revision.attr,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   80  	&dev_attr_clk_stop_modes.attr,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   81  	&dev_attr_max_clk_freq.attr,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   82  	&dev_attr_default_row.attr,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   83  	&dev_attr_default_col.attr,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   84  	&dev_attr_default_frame_rate.attr,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   85  	&dev_attr_dynamic_frame.attr,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   86  	&dev_attr_err_threshold.attr,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   87  	&dev_attr_clock_frequencies.attr,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   88  	&dev_attr_clock_gears.attr,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   89  	NULL,
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   90  };
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   91  ATTRIBUTE_GROUPS(master_node);
ce6dcce753258a Pierre-Louis Bossart 2020-04-09   92  
946bab81f3286c Pierre-Louis Bossart 2020-02-24   93  static void sdw_master_device_release(struct device *dev)
946bab81f3286c Pierre-Louis Bossart 2020-02-24   94  {
946bab81f3286c Pierre-Louis Bossart 2020-02-24   95  	struct sdw_master_device *md = dev_to_sdw_master_device(dev);
946bab81f3286c Pierre-Louis Bossart 2020-02-24   96  
946bab81f3286c Pierre-Louis Bossart 2020-02-24   97  	kfree(md);
946bab81f3286c Pierre-Louis Bossart 2020-02-24   98  }
946bab81f3286c Pierre-Louis Bossart 2020-02-24   99  
26d970225d8764 Bard Liao            2020-05-19  100  static const struct dev_pm_ops master_dev_pm = {
26d970225d8764 Bard Liao            2020-05-19 @101  	SET_RUNTIME_PM_OPS(pm_generic_runtime_suspend,
26d970225d8764 Bard Liao            2020-05-19 @102  			   pm_generic_runtime_resume, NULL)
26d970225d8764 Bard Liao            2020-05-19  103  };
26d970225d8764 Bard Liao            2020-05-19  104  

:::::: The code at line 101 was first introduced by commit
:::::: 26d970225d876437287ec47a60cf4a07fe08733d soundwire: master: add runtime pm support

:::::: TO: Bard Liao <yung-chuan.liao@linux.intel.com>
:::::: CC: Vinod Koul <vkoul@kernel.org>

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

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

only message in thread, other threads:[~2023-05-09  4:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-09  4:21 [plbossart-sound:fix/sdw-runtime-pm 1/1] drivers/soundwire/master.c:101:28: error: 'pm_generic_runtime_suspend' undeclared here (not in a function); did you mean 'pm_generic_suspend'? kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).