linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [pm:pm-sleep-core 2/3] drivers/base/power/main.c:588:31: warning: initialization of 'const char *' from 'char' makes pointer from integer without a cast
@ 2020-04-05 11:56 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-04-05 11:56 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: kbuild-all, linux-acpi, devel, linux-pm

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git pm-sleep-core
head:   3aa654e1e731ad8f8aff1a937e09fae14380b6e5
commit: f31f24f5fef92e6b50dffdd2c53d2d4c4c8c2fc9 [2/3] PM: sleep: core: Fold functions into their callers
config: nds32-randconfig-a001-20200405 (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout f31f24f5fef92e6b50dffdd2c53d2d4c4c8c2fc9
        # save the attached .config to linux build tree
        GCC_VERSION=9.3.0 make.cross ARCH=nds32 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   In file included from include/linux/compiler_types.h:68,
                    from <command-line>:
   drivers/base/power/main.c: In function 'device_resume_noirq':
>> drivers/base/power/main.c:588:31: warning: initialization of 'const char *' from 'char' makes pointer from integer without a cast [-Wint-conversion]
     588 |  const char uninitialized_var(*info);
         |                               ^
   include/linux/compiler-gcc.h:65:34: note: in definition of macro 'uninitialized_var'
      65 | #define uninitialized_var(x) x = x
         |                                  ^
   drivers/base/power/main.c: In function 'device_resume_early':
   drivers/base/power/main.c:779:31: warning: initialization of 'const char *' from 'char' makes pointer from integer without a cast [-Wint-conversion]
     779 |  const char uninitialized_var(*info);
         |                               ^
   include/linux/compiler-gcc.h:65:34: note: in definition of macro 'uninitialized_var'
      65 | #define uninitialized_var(x) x = x
         |                                  ^
   drivers/base/power/main.c: In function '__device_suspend_noirq':
   drivers/base/power/main.c:1196:31: warning: initialization of 'const char *' from 'char' makes pointer from integer without a cast [-Wint-conversion]
    1196 |  const char uninitialized_var(*info);
         |                               ^
   include/linux/compiler-gcc.h:65:34: note: in definition of macro 'uninitialized_var'
      65 | #define uninitialized_var(x) x = x
         |                                  ^
   drivers/base/power/main.c: In function '__device_suspend_late':
   drivers/base/power/main.c:1381:31: warning: initialization of 'const char *' from 'char' makes pointer from integer without a cast [-Wint-conversion]
    1381 |  const char uninitialized_var(*info);
         |                               ^
   include/linux/compiler-gcc.h:65:34: note: in definition of macro 'uninitialized_var'
      65 | #define uninitialized_var(x) x = x
         |                                  ^
   drivers/base/power/main.c: In function 'device_resume_early':
   drivers/base/power/main.c:779:31: warning: 'info' is used uninitialized in this function [-Wuninitialized]
     779 |  const char uninitialized_var(*info);
         |                               ^
   drivers/base/power/main.c: In function 'device_resume_noirq':
   drivers/base/power/main.c:588:31: warning: 'info' is used uninitialized in this function [-Wuninitialized]
     588 |  const char uninitialized_var(*info);
         |                               ^
   drivers/base/power/main.c: In function '__device_suspend_noirq':
   drivers/base/power/main.c:1196:31: warning: 'info' is used uninitialized in this function [-Wuninitialized]
    1196 |  const char uninitialized_var(*info);
         |                               ^
   drivers/base/power/main.c: In function '__device_suspend_late':
   drivers/base/power/main.c:1381:31: warning: 'info' is used uninitialized in this function [-Wuninitialized]
    1381 |  const char uninitialized_var(*info);
         |                               ^

vim +588 drivers/base/power/main.c

   575	
   576	/**
   577	 * device_resume_noirq - Execute a "noirq resume" callback for given device.
   578	 * @dev: Device to handle.
   579	 * @state: PM transition of the system being carried out.
   580	 * @async: If true, the device is being resumed asynchronously.
   581	 *
   582	 * The driver of @dev will not receive interrupts while this function is being
   583	 * executed.
   584	 */
   585	static int device_resume_noirq(struct device *dev, pm_message_t state, bool async)
   586	{
   587		pm_callback_t callback = NULL;
 > 588		const char uninitialized_var(*info);
   589		bool skip_resume;
   590		int error = 0;
   591	
   592		TRACE_DEVICE(dev);
   593		TRACE_RESUME(0);
   594	
   595		if (dev->power.syscore || dev->power.direct_complete)
   596			goto Out;
   597	
   598		if (!dev->power.is_noirq_suspended)
   599			goto Out;
   600	
   601		if (!dpm_wait_for_superior(dev, async))
   602			goto Out;
   603	
   604		if (dev->pm_domain) {
   605			info = "noirq power domain ";
   606			callback = pm_noirq_op(&dev->pm_domain->ops, state);
   607		} else if (dev->type && dev->type->pm) {
   608			info = "noirq type ";
   609			callback = pm_noirq_op(dev->type->pm, state);
   610		} else if (dev->class && dev->class->pm) {
   611			info = "noirq class ";
   612			callback = pm_noirq_op(dev->class->pm, state);
   613		} else if (dev->bus && dev->bus->pm) {
   614			info = "noirq bus ";
   615			callback = pm_noirq_op(dev->bus->pm, state);
   616		}
   617		if (callback) {
   618			skip_resume = false;
   619			goto Run;
   620		}
   621	
   622		skip_resume = dev_pm_may_skip_resume(dev);
   623		if (skip_resume)
   624			goto Skip;
   625	
   626		/*
   627		 * If "freeze" driver callbacks have been skipped during hibernation,
   628		 * because the device was runtime-suspended in __device_suspend_late(),
   629		 * the corresponding "thaw" callbacks must be skipped too, because
   630		 * running them for a runtime-suspended device may not be valid.
   631		 */
   632		if (dev_pm_smart_suspend_and_suspended(dev) &&
   633		    state.event == PM_EVENT_THAW) {
   634			skip_resume = true;
   635			goto Skip;
   636		}
   637	
   638		if (dev->driver && dev->driver->pm) {
   639			info = "noirq driver ";
   640			callback = pm_noirq_op(dev->driver->pm, state);
   641		}
   642	
   643		/*
   644		 * The device is going to be resumed, so set its PM-runtime status to
   645		 * "active" (that can be done for all devices regardless of whether or
   646		 * not PM-runtime is enabled for them).
   647		 */
   648		pm_runtime_set_active(dev);
   649	
   650	Run:
   651		error = dpm_run_callback(callback, dev, state, info);
   652	
   653	Skip:
   654		dev->power.is_noirq_suspended = false;
   655	
   656		if (skip_resume) {
   657			/* Make the next phases of resume skip the device. */
   658			dev->power.is_late_suspended = false;
   659			dev->power.is_suspended = false;
   660			/*
   661			 * The device is going to be left in suspend, but it might not
   662			 * have been in runtime suspend before the system suspended, so
   663			 * its runtime PM status needs to be updated to avoid confusing
   664			 * the runtime PM framework when runtime PM is enabled for the
   665			 * device again.
   666			 */
   667			pm_runtime_set_suspended(dev);
   668		}
   669	
   670	Out:
   671		complete_all(&dev->power.completion);
   672		TRACE_RESUME(error);
   673		return error;
   674	}
   675	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 23375 bytes --]

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

only message in thread, other threads:[~2020-04-05 11:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-05 11:56 [pm:pm-sleep-core 2/3] drivers/base/power/main.c:588:31: warning: initialization of 'const char *' from 'char' makes pointer from integer without a cast kbuild 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).