All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: srplinux2008 <srplinux2008@gmail.com>
Cc: kbuild-all@01.org, orjan.eide@arm.com, rui.zhang@intel.com,
	edubezval@gmail.com, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org, srplinux2008@gmail.com
Subject: Re: [PATCH] thermal: devfreq_cooling: add const to struct thermal_cooling_device_ops
Date: Mon, 9 Apr 2018 13:13:09 +0800	[thread overview]
Message-ID: <201804091103.WzWO3uIj%fengguang.wu@intel.com> (raw)
In-Reply-To: <1523242375-3937-1-git-send-email-srplinux2008@gmail.com>

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

Hi srp,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on thermal/next]
[also build test ERROR on v4.16 next-20180406]
[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/srplinux2008/thermal-devfreq_cooling-add-const-to-struct-thermal_cooling_device_ops/20180409-105457
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux.git next
config: x86_64-randconfig-x010-201814 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers//thermal/devfreq_cooling.c: In function 'of_devfreq_cooling_register_power':
>> drivers//thermal/devfreq_cooling.c:522:43: error: assignment of member 'get_requested_power' in read-only object
      devfreq_cooling_ops.get_requested_power =
                                              ^
>> drivers//thermal/devfreq_cooling.c:524:35: error: assignment of member 'state2power' in read-only object
      devfreq_cooling_ops.state2power = devfreq_cooling_state2power;
                                      ^
>> drivers//thermal/devfreq_cooling.c:525:35: error: assignment of member 'power2state' in read-only object
      devfreq_cooling_ops.power2state = devfreq_cooling_power2state;
                                      ^

vim +/get_requested_power +522 drivers//thermal/devfreq_cooling.c

a76caf55 Ørjan Eide     2015-09-10  488  
a76caf55 Ørjan Eide     2015-09-10  489  /**
a76caf55 Ørjan Eide     2015-09-10  490   * of_devfreq_cooling_register_power() - Register devfreq cooling device,
a76caf55 Ørjan Eide     2015-09-10  491   *                                      with OF and power information.
a76caf55 Ørjan Eide     2015-09-10  492   * @np:	Pointer to OF device_node.
a76caf55 Ørjan Eide     2015-09-10  493   * @df:	Pointer to devfreq device.
a76caf55 Ørjan Eide     2015-09-10  494   * @dfc_power:	Pointer to devfreq_cooling_power.
a76caf55 Ørjan Eide     2015-09-10  495   *
a76caf55 Ørjan Eide     2015-09-10  496   * Register a devfreq cooling device.  The available OPPs must be
a76caf55 Ørjan Eide     2015-09-10  497   * registered on the device.
a76caf55 Ørjan Eide     2015-09-10  498   *
a76caf55 Ørjan Eide     2015-09-10  499   * If @dfc_power is provided, the cooling device is registered with the
a76caf55 Ørjan Eide     2015-09-10  500   * power extensions.  For the power extensions to work correctly,
a76caf55 Ørjan Eide     2015-09-10  501   * devfreq should use the simple_ondemand governor, other governors
a76caf55 Ørjan Eide     2015-09-10  502   * are not currently supported.
a76caf55 Ørjan Eide     2015-09-10  503   */
3c99c2ce Javi Merino    2015-11-02  504  struct thermal_cooling_device *
a76caf55 Ørjan Eide     2015-09-10  505  of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df,
a76caf55 Ørjan Eide     2015-09-10  506  				  struct devfreq_cooling_power *dfc_power)
a76caf55 Ørjan Eide     2015-09-10  507  {
a76caf55 Ørjan Eide     2015-09-10  508  	struct thermal_cooling_device *cdev;
a76caf55 Ørjan Eide     2015-09-10  509  	struct devfreq_cooling_device *dfc;
a76caf55 Ørjan Eide     2015-09-10  510  	char dev_name[THERMAL_NAME_LENGTH];
a76caf55 Ørjan Eide     2015-09-10  511  	int err;
a76caf55 Ørjan Eide     2015-09-10  512  
a76caf55 Ørjan Eide     2015-09-10  513  	dfc = kzalloc(sizeof(*dfc), GFP_KERNEL);
a76caf55 Ørjan Eide     2015-09-10  514  	if (!dfc)
a76caf55 Ørjan Eide     2015-09-10  515  		return ERR_PTR(-ENOMEM);
a76caf55 Ørjan Eide     2015-09-10  516  
a76caf55 Ørjan Eide     2015-09-10  517  	dfc->devfreq = df;
a76caf55 Ørjan Eide     2015-09-10  518  
a76caf55 Ørjan Eide     2015-09-10  519  	if (dfc_power) {
a76caf55 Ørjan Eide     2015-09-10  520  		dfc->power_ops = dfc_power;
a76caf55 Ørjan Eide     2015-09-10  521  
a76caf55 Ørjan Eide     2015-09-10 @522  		devfreq_cooling_ops.get_requested_power =
a76caf55 Ørjan Eide     2015-09-10  523  			devfreq_cooling_get_requested_power;
a76caf55 Ørjan Eide     2015-09-10 @524  		devfreq_cooling_ops.state2power = devfreq_cooling_state2power;
a76caf55 Ørjan Eide     2015-09-10 @525  		devfreq_cooling_ops.power2state = devfreq_cooling_power2state;
a76caf55 Ørjan Eide     2015-09-10  526  	}
a76caf55 Ørjan Eide     2015-09-10  527  
a76caf55 Ørjan Eide     2015-09-10  528  	err = devfreq_cooling_gen_tables(dfc);
a76caf55 Ørjan Eide     2015-09-10  529  	if (err)
a76caf55 Ørjan Eide     2015-09-10  530  		goto free_dfc;
a76caf55 Ørjan Eide     2015-09-10  531  
2f96c035 Matthew Wilcox 2016-12-21  532  	err = ida_simple_get(&devfreq_ida, 0, 0, GFP_KERNEL);
2f96c035 Matthew Wilcox 2016-12-21  533  	if (err < 0)
a76caf55 Ørjan Eide     2015-09-10  534  		goto free_tables;
2f96c035 Matthew Wilcox 2016-12-21  535  	dfc->id = err;
a76caf55 Ørjan Eide     2015-09-10  536  
a76caf55 Ørjan Eide     2015-09-10  537  	snprintf(dev_name, sizeof(dev_name), "thermal-devfreq-%d", dfc->id);
a76caf55 Ørjan Eide     2015-09-10  538  
a76caf55 Ørjan Eide     2015-09-10  539  	cdev = thermal_of_cooling_device_register(np, dev_name, dfc,
a76caf55 Ørjan Eide     2015-09-10  540  						  &devfreq_cooling_ops);
a76caf55 Ørjan Eide     2015-09-10  541  	if (IS_ERR(cdev)) {
a76caf55 Ørjan Eide     2015-09-10  542  		err = PTR_ERR(cdev);
a76caf55 Ørjan Eide     2015-09-10  543  		dev_err(df->dev.parent,
a76caf55 Ørjan Eide     2015-09-10  544  			"Failed to register devfreq cooling device (%d)\n",
a76caf55 Ørjan Eide     2015-09-10  545  			err);
2f96c035 Matthew Wilcox 2016-12-21  546  		goto release_ida;
a76caf55 Ørjan Eide     2015-09-10  547  	}
a76caf55 Ørjan Eide     2015-09-10  548  
a76caf55 Ørjan Eide     2015-09-10  549  	dfc->cdev = cdev;
a76caf55 Ørjan Eide     2015-09-10  550  
3c99c2ce Javi Merino    2015-11-02  551  	return cdev;
a76caf55 Ørjan Eide     2015-09-10  552  
2f96c035 Matthew Wilcox 2016-12-21  553  release_ida:
2f96c035 Matthew Wilcox 2016-12-21  554  	ida_simple_remove(&devfreq_ida, dfc->id);
a76caf55 Ørjan Eide     2015-09-10  555  free_tables:
a76caf55 Ørjan Eide     2015-09-10  556  	kfree(dfc->power_table);
a76caf55 Ørjan Eide     2015-09-10  557  	kfree(dfc->freq_table);
a76caf55 Ørjan Eide     2015-09-10  558  free_dfc:
a76caf55 Ørjan Eide     2015-09-10  559  	kfree(dfc);
a76caf55 Ørjan Eide     2015-09-10  560  
a76caf55 Ørjan Eide     2015-09-10  561  	return ERR_PTR(err);
a76caf55 Ørjan Eide     2015-09-10  562  }
a76caf55 Ørjan Eide     2015-09-10  563  EXPORT_SYMBOL_GPL(of_devfreq_cooling_register_power);
a76caf55 Ørjan Eide     2015-09-10  564  

:::::: The code at line 522 was first introduced by commit
:::::: a76caf55e5b356ba20a5a43ac4d9f7a04b20941d thermal: Add devfreq cooling

:::::: TO: Ørjan Eide <orjan.eide@arm.com>
:::::: CC: Eduardo Valentin <edubezval@gmail.com>

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

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, orjan.eide@arm.com, rui.zhang@intel.com,
	edubezval@gmail.com, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org, srplinux2008@gmail.com
Subject: Re: [PATCH] thermal: devfreq_cooling: add const to struct thermal_cooling_device_ops
Date: Mon, 9 Apr 2018 13:13:09 +0800	[thread overview]
Message-ID: <201804091103.WzWO3uIj%fengguang.wu@intel.com> (raw)
In-Reply-To: <1523242375-3937-1-git-send-email-srplinux2008@gmail.com>

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

Hi srp,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on thermal/next]
[also build test ERROR on v4.16 next-20180406]
[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/srplinux2008/thermal-devfreq_cooling-add-const-to-struct-thermal_cooling_device_ops/20180409-105457
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux.git next
config: x86_64-randconfig-x010-201814 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers//thermal/devfreq_cooling.c: In function 'of_devfreq_cooling_register_power':
>> drivers//thermal/devfreq_cooling.c:522:43: error: assignment of member 'get_requested_power' in read-only object
      devfreq_cooling_ops.get_requested_power =
                                              ^
>> drivers//thermal/devfreq_cooling.c:524:35: error: assignment of member 'state2power' in read-only object
      devfreq_cooling_ops.state2power = devfreq_cooling_state2power;
                                      ^
>> drivers//thermal/devfreq_cooling.c:525:35: error: assignment of member 'power2state' in read-only object
      devfreq_cooling_ops.power2state = devfreq_cooling_power2state;
                                      ^

vim +/get_requested_power +522 drivers//thermal/devfreq_cooling.c

a76caf55 Ørjan Eide     2015-09-10  488  
a76caf55 Ørjan Eide     2015-09-10  489  /**
a76caf55 Ørjan Eide     2015-09-10  490   * of_devfreq_cooling_register_power() - Register devfreq cooling device,
a76caf55 Ørjan Eide     2015-09-10  491   *                                      with OF and power information.
a76caf55 Ørjan Eide     2015-09-10  492   * @np:	Pointer to OF device_node.
a76caf55 Ørjan Eide     2015-09-10  493   * @df:	Pointer to devfreq device.
a76caf55 Ørjan Eide     2015-09-10  494   * @dfc_power:	Pointer to devfreq_cooling_power.
a76caf55 Ørjan Eide     2015-09-10  495   *
a76caf55 Ørjan Eide     2015-09-10  496   * Register a devfreq cooling device.  The available OPPs must be
a76caf55 Ørjan Eide     2015-09-10  497   * registered on the device.
a76caf55 Ørjan Eide     2015-09-10  498   *
a76caf55 Ørjan Eide     2015-09-10  499   * If @dfc_power is provided, the cooling device is registered with the
a76caf55 Ørjan Eide     2015-09-10  500   * power extensions.  For the power extensions to work correctly,
a76caf55 Ørjan Eide     2015-09-10  501   * devfreq should use the simple_ondemand governor, other governors
a76caf55 Ørjan Eide     2015-09-10  502   * are not currently supported.
a76caf55 Ørjan Eide     2015-09-10  503   */
3c99c2ce Javi Merino    2015-11-02  504  struct thermal_cooling_device *
a76caf55 Ørjan Eide     2015-09-10  505  of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df,
a76caf55 Ørjan Eide     2015-09-10  506  				  struct devfreq_cooling_power *dfc_power)
a76caf55 Ørjan Eide     2015-09-10  507  {
a76caf55 Ørjan Eide     2015-09-10  508  	struct thermal_cooling_device *cdev;
a76caf55 Ørjan Eide     2015-09-10  509  	struct devfreq_cooling_device *dfc;
a76caf55 Ørjan Eide     2015-09-10  510  	char dev_name[THERMAL_NAME_LENGTH];
a76caf55 Ørjan Eide     2015-09-10  511  	int err;
a76caf55 Ørjan Eide     2015-09-10  512  
a76caf55 Ørjan Eide     2015-09-10  513  	dfc = kzalloc(sizeof(*dfc), GFP_KERNEL);
a76caf55 Ørjan Eide     2015-09-10  514  	if (!dfc)
a76caf55 Ørjan Eide     2015-09-10  515  		return ERR_PTR(-ENOMEM);
a76caf55 Ørjan Eide     2015-09-10  516  
a76caf55 Ørjan Eide     2015-09-10  517  	dfc->devfreq = df;
a76caf55 Ørjan Eide     2015-09-10  518  
a76caf55 Ørjan Eide     2015-09-10  519  	if (dfc_power) {
a76caf55 Ørjan Eide     2015-09-10  520  		dfc->power_ops = dfc_power;
a76caf55 Ørjan Eide     2015-09-10  521  
a76caf55 Ørjan Eide     2015-09-10 @522  		devfreq_cooling_ops.get_requested_power =
a76caf55 Ørjan Eide     2015-09-10  523  			devfreq_cooling_get_requested_power;
a76caf55 Ørjan Eide     2015-09-10 @524  		devfreq_cooling_ops.state2power = devfreq_cooling_state2power;
a76caf55 Ørjan Eide     2015-09-10 @525  		devfreq_cooling_ops.power2state = devfreq_cooling_power2state;
a76caf55 Ørjan Eide     2015-09-10  526  	}
a76caf55 Ørjan Eide     2015-09-10  527  
a76caf55 Ørjan Eide     2015-09-10  528  	err = devfreq_cooling_gen_tables(dfc);
a76caf55 Ørjan Eide     2015-09-10  529  	if (err)
a76caf55 Ørjan Eide     2015-09-10  530  		goto free_dfc;
a76caf55 Ørjan Eide     2015-09-10  531  
2f96c035 Matthew Wilcox 2016-12-21  532  	err = ida_simple_get(&devfreq_ida, 0, 0, GFP_KERNEL);
2f96c035 Matthew Wilcox 2016-12-21  533  	if (err < 0)
a76caf55 Ørjan Eide     2015-09-10  534  		goto free_tables;
2f96c035 Matthew Wilcox 2016-12-21  535  	dfc->id = err;
a76caf55 Ørjan Eide     2015-09-10  536  
a76caf55 Ørjan Eide     2015-09-10  537  	snprintf(dev_name, sizeof(dev_name), "thermal-devfreq-%d", dfc->id);
a76caf55 Ørjan Eide     2015-09-10  538  
a76caf55 Ørjan Eide     2015-09-10  539  	cdev = thermal_of_cooling_device_register(np, dev_name, dfc,
a76caf55 Ørjan Eide     2015-09-10  540  						  &devfreq_cooling_ops);
a76caf55 Ørjan Eide     2015-09-10  541  	if (IS_ERR(cdev)) {
a76caf55 Ørjan Eide     2015-09-10  542  		err = PTR_ERR(cdev);
a76caf55 Ørjan Eide     2015-09-10  543  		dev_err(df->dev.parent,
a76caf55 Ørjan Eide     2015-09-10  544  			"Failed to register devfreq cooling device (%d)\n",
a76caf55 Ørjan Eide     2015-09-10  545  			err);
2f96c035 Matthew Wilcox 2016-12-21  546  		goto release_ida;
a76caf55 Ørjan Eide     2015-09-10  547  	}
a76caf55 Ørjan Eide     2015-09-10  548  
a76caf55 Ørjan Eide     2015-09-10  549  	dfc->cdev = cdev;
a76caf55 Ørjan Eide     2015-09-10  550  
3c99c2ce Javi Merino    2015-11-02  551  	return cdev;
a76caf55 Ørjan Eide     2015-09-10  552  
2f96c035 Matthew Wilcox 2016-12-21  553  release_ida:
2f96c035 Matthew Wilcox 2016-12-21  554  	ida_simple_remove(&devfreq_ida, dfc->id);
a76caf55 Ørjan Eide     2015-09-10  555  free_tables:
a76caf55 Ørjan Eide     2015-09-10  556  	kfree(dfc->power_table);
a76caf55 Ørjan Eide     2015-09-10  557  	kfree(dfc->freq_table);
a76caf55 Ørjan Eide     2015-09-10  558  free_dfc:
a76caf55 Ørjan Eide     2015-09-10  559  	kfree(dfc);
a76caf55 Ørjan Eide     2015-09-10  560  
a76caf55 Ørjan Eide     2015-09-10  561  	return ERR_PTR(err);
a76caf55 Ørjan Eide     2015-09-10  562  }
a76caf55 Ørjan Eide     2015-09-10  563  EXPORT_SYMBOL_GPL(of_devfreq_cooling_register_power);
a76caf55 Ørjan Eide     2015-09-10  564  

:::::: The code at line 522 was first introduced by commit
:::::: a76caf55e5b356ba20a5a43ac4d9f7a04b20941d thermal: Add devfreq cooling

:::::: TO: Ørjan Eide <orjan.eide@arm.com>
:::::: CC: Eduardo Valentin <edubezval@gmail.com>

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

  reply	other threads:[~2018-04-09  5:13 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-09  2:52 [PATCH] thermal: devfreq_cooling: add const to struct thermal_cooling_device_ops srplinux2008
2018-04-09  5:13 ` kbuild test robot [this message]
2018-04-09  5:13   ` 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=201804091103.WzWO3uIj%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=edubezval@gmail.com \
    --cc=kbuild-all@01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=orjan.eide@arm.com \
    --cc=rui.zhang@intel.com \
    --cc=srplinux2008@gmail.com \
    /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.