* [PATCH 0/2][RFC] Add more trace point for runtime usage count
@ 2020-06-05 19:05 Chen Yu
2020-06-05 19:05 ` [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c Chen Yu
2020-06-05 19:05 ` [PATCH 2/2][RFC] PM-runtime: add tracepoints to cover all usage_count changes Chen Yu
0 siblings, 2 replies; 13+ messages in thread
From: Chen Yu @ 2020-06-05 19:05 UTC (permalink / raw)
To: Rafael J . Wysocki, Len Brown, Greg Kroah-Hartman, Michal Miroslaw
Cc: linux-pm, linux-kernel, Chen Yu
Currentlt some code flow of runtime usage count changes is not covered by
the tracepoints. Add corresponding tracepoints to monitor all the usage_count
changes.
Chen Yu (2):
PM-runtime: Move all runtime usage related function to runtime.c
PM-runtime: add more tracepoints for usage_count changes
drivers/base/power/runtime.c | 49 +++++++++++++++++++++++++-----------
include/linux/pm_runtime.h | 14 +++--------
2 files changed, 39 insertions(+), 24 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c
2020-06-05 19:05 [PATCH 0/2][RFC] Add more trace point for runtime usage count Chen Yu
@ 2020-06-05 19:05 ` Chen Yu
2020-06-06 0:17 ` kernel test robot
` (3 more replies)
2020-06-05 19:05 ` [PATCH 2/2][RFC] PM-runtime: add tracepoints to cover all usage_count changes Chen Yu
1 sibling, 4 replies; 13+ messages in thread
From: Chen Yu @ 2020-06-05 19:05 UTC (permalink / raw)
To: Rafael J . Wysocki, Len Brown, Greg Kroah-Hartman, Michal Miroslaw
Cc: linux-pm, linux-kernel, Chen Yu
In order to track all the runtime usage count change, move the code
related to runtime usage count change from pm_runtime.h to runtime.c,
so that in runtime.c we can leverage trace event to do the tracking.
Meanwhile export pm_runtime_get_noresume() and pm_runtime_put_noidle()
so the module can use them.
No functional change.
Signed-off-by: Chen Yu <yu.c.chen@intel.com>
---
drivers/base/power/runtime.c | 12 ++++++++++++
include/linux/pm_runtime.h | 14 ++++----------
2 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index 9f62790f644c..85a248e196ca 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -1738,6 +1738,18 @@ void pm_runtime_drop_link(struct device *dev)
spin_unlock_irq(&dev->power.lock);
}
+void pm_runtime_get_noresume(struct device *dev)
+{
+ atomic_inc(&dev->power.usage_count);
+}
+EXPORT_SYMBOL_GPL(pm_runtime_get_noresume);
+
+void pm_runtime_put_noidle(struct device *dev)
+{
+ atomic_add_unless(&dev->power.usage_count, -1, 0);
+}
+EXPORT_SYMBOL_GPL(pm_runtime_put_noidle);
+
static bool pm_runtime_need_not_resume(struct device *dev)
{
return atomic_read(&dev->power.usage_count) <= 1 &&
diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h
index 3dbc207bff53..57afdb122d8a 100644
--- a/include/linux/pm_runtime.h
+++ b/include/linux/pm_runtime.h
@@ -59,6 +59,8 @@ extern void pm_runtime_get_suppliers(struct device *dev);
extern void pm_runtime_put_suppliers(struct device *dev);
extern void pm_runtime_new_link(struct device *dev);
extern void pm_runtime_drop_link(struct device *dev);
+extern void pm_runtime_get_noresume(struct device *dev);
+extern void pm_runtime_put_noidle(struct device *dev);
static inline int pm_runtime_get_if_in_use(struct device *dev)
{
@@ -70,16 +72,6 @@ static inline void pm_suspend_ignore_children(struct device *dev, bool enable)
dev->power.ignore_children = enable;
}
-static inline void pm_runtime_get_noresume(struct device *dev)
-{
- atomic_inc(&dev->power.usage_count);
-}
-
-static inline void pm_runtime_put_noidle(struct device *dev)
-{
- atomic_add_unless(&dev->power.usage_count, -1, 0);
-}
-
static inline bool pm_runtime_suspended(struct device *dev)
{
return dev->power.runtime_status == RPM_SUSPENDED
@@ -188,6 +180,8 @@ static inline void pm_runtime_get_suppliers(struct device *dev) {}
static inline void pm_runtime_put_suppliers(struct device *dev) {}
static inline void pm_runtime_new_link(struct device *dev) {}
static inline void pm_runtime_drop_link(struct device *dev) {}
+static inline void pm_runtime_get_noresume(struct device *dev) {}
+static inline void pm_runtime_put_noidle(struct device *dev) {}
#endif /* !CONFIG_PM */
--
2.20.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/2][RFC] PM-runtime: add tracepoints to cover all usage_count changes
2020-06-05 19:05 [PATCH 0/2][RFC] Add more trace point for runtime usage count Chen Yu
2020-06-05 19:05 ` [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c Chen Yu
@ 2020-06-05 19:05 ` Chen Yu
2020-06-05 19:33 ` Michal Miroslaw
1 sibling, 1 reply; 13+ messages in thread
From: Chen Yu @ 2020-06-05 19:05 UTC (permalink / raw)
To: Rafael J . Wysocki, Len Brown, Greg Kroah-Hartman, Michal Miroslaw
Cc: linux-pm, linux-kernel, Chen Yu
Commit d229290689ae ("PM-runtime: add tracepoints for usage_count changes")
has added some tracepoints to monitor the change of runtime usage, and
there is something to improve:
1. There are some places that adjust the usage count have not
been traced yet. For example, pm_runtime_get_noresume() and
pm_runtime_put_noidle()
2. The change of the usage count will not be tracked if decreased
from 1 to 0.
This patch address above issues by tracking the usage count whenever
it has been modified. And these changes has helped track down the
e1000e runtime issue.
Signed-off-by: Chen Yu <yu.c.chen@intel.com>
---
drivers/base/power/runtime.c | 37 ++++++++++++++++++++++--------------
1 file changed, 23 insertions(+), 14 deletions(-)
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index 85a248e196ca..4aa2b5aa0bb8 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -1004,10 +1004,11 @@ int __pm_runtime_idle(struct device *dev, int rpmflags)
int retval;
if (rpmflags & RPM_GET_PUT) {
- if (!atomic_dec_and_test(&dev->power.usage_count)) {
- trace_rpm_usage_rcuidle(dev, rpmflags);
+ bool non_zero = !atomic_dec_and_test(&dev->power.usage_count);
+
+ trace_rpm_usage_rcuidle(dev, rpmflags);
+ if (non_zero)
return 0;
- }
}
might_sleep_if(!(rpmflags & RPM_ASYNC) && !dev->power.irq_safe);
@@ -1038,10 +1039,12 @@ int __pm_runtime_suspend(struct device *dev, int rpmflags)
int retval;
if (rpmflags & RPM_GET_PUT) {
- if (!atomic_dec_and_test(&dev->power.usage_count)) {
- trace_rpm_usage_rcuidle(dev, rpmflags);
+ bool non_zero = !atomic_dec_and_test(&dev->power.usage_count);
+
+ trace_rpm_usage_rcuidle(dev, rpmflags);
+ if (non_zero)
return 0;
- }
+
}
might_sleep_if(!(rpmflags & RPM_ASYNC) && !dev->power.irq_safe);
@@ -1073,8 +1076,10 @@ int __pm_runtime_resume(struct device *dev, int rpmflags)
might_sleep_if(!(rpmflags & RPM_ASYNC) && !dev->power.irq_safe &&
dev->power.runtime_status != RPM_ACTIVE);
- if (rpmflags & RPM_GET_PUT)
+ if (rpmflags & RPM_GET_PUT) {
atomic_inc(&dev->power.usage_count);
+ trace_rpm_usage_rcuidle(dev, rpmflags);
+ }
spin_lock_irqsave(&dev->power.lock, flags);
retval = rpm_resume(dev, rpmflags);
@@ -1448,16 +1453,17 @@ EXPORT_SYMBOL_GPL(pm_runtime_forbid);
*/
void pm_runtime_allow(struct device *dev)
{
+ bool is_zero;
+
spin_lock_irq(&dev->power.lock);
if (dev->power.runtime_auto)
goto out;
dev->power.runtime_auto = true;
- if (atomic_dec_and_test(&dev->power.usage_count))
+ is_zero = atomic_dec_and_test(&dev->power.usage_count);
+ trace_rpm_usage_rcuidle(dev, RPM_AUTO | RPM_ASYNC);
+ if (is_zero)
rpm_idle(dev, RPM_AUTO | RPM_ASYNC);
- else
- trace_rpm_usage_rcuidle(dev, RPM_AUTO | RPM_ASYNC);
-
out:
spin_unlock_irq(&dev->power.lock);
}
@@ -1523,9 +1529,8 @@ static void update_autosuspend(struct device *dev, int old_delay, int old_use)
/* If it used to be allowed then prevent it. */
if (!old_use || old_delay >= 0) {
atomic_inc(&dev->power.usage_count);
- rpm_resume(dev, 0);
- } else {
trace_rpm_usage_rcuidle(dev, 0);
+ rpm_resume(dev, 0);
}
}
@@ -1533,8 +1538,10 @@ static void update_autosuspend(struct device *dev, int old_delay, int old_use)
else {
/* If it used to be prevented then allow it. */
- if (old_use && old_delay < 0)
+ if (old_use && old_delay < 0) {
atomic_dec(&dev->power.usage_count);
+ trace_rpm_usage_rcuidle(dev, 0);
+ }
/* Maybe we can autosuspend now. */
rpm_idle(dev, RPM_AUTO);
@@ -1741,12 +1748,14 @@ void pm_runtime_drop_link(struct device *dev)
void pm_runtime_get_noresume(struct device *dev)
{
atomic_inc(&dev->power.usage_count);
+ trace_rpm_usage_rcuidle(dev, 0);
}
EXPORT_SYMBOL_GPL(pm_runtime_get_noresume);
void pm_runtime_put_noidle(struct device *dev)
{
atomic_add_unless(&dev->power.usage_count, -1, 0);
+ trace_rpm_usage_rcuidle(dev, 0);
}
EXPORT_SYMBOL_GPL(pm_runtime_put_noidle);
--
2.20.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2][RFC] PM-runtime: add tracepoints to cover all usage_count changes
2020-06-05 19:05 ` [PATCH 2/2][RFC] PM-runtime: add tracepoints to cover all usage_count changes Chen Yu
@ 2020-06-05 19:33 ` Michal Miroslaw
2020-06-06 7:14 ` Chen Yu
0 siblings, 1 reply; 13+ messages in thread
From: Michal Miroslaw @ 2020-06-05 19:33 UTC (permalink / raw)
To: Chen Yu
Cc: Rafael J . Wysocki, Len Brown, Greg Kroah-Hartman, linux-pm,
linux-kernel
On Sat, Jun 06, 2020 at 03:05:52AM +0800, Chen Yu wrote:
> Commit d229290689ae ("PM-runtime: add tracepoints for usage_count changes")
> has added some tracepoints to monitor the change of runtime usage, and
> there is something to improve:
> 1. There are some places that adjust the usage count have not
> been traced yet. For example, pm_runtime_get_noresume() and
> pm_runtime_put_noidle()
> 2. The change of the usage count will not be tracked if decreased
> from 1 to 0.
[...]
> @@ -1448,16 +1453,17 @@ EXPORT_SYMBOL_GPL(pm_runtime_forbid);
> */
> void pm_runtime_allow(struct device *dev)
> {
> + bool is_zero;
> +
> spin_lock_irq(&dev->power.lock);
> if (dev->power.runtime_auto)
> goto out;
>
> dev->power.runtime_auto = true;
> - if (atomic_dec_and_test(&dev->power.usage_count))
> + is_zero = atomic_dec_and_test(&dev->power.usage_count);
> + trace_rpm_usage_rcuidle(dev, RPM_AUTO | RPM_ASYNC);
> + if (is_zero)
> rpm_idle(dev, RPM_AUTO | RPM_ASYNC);
> - else
> - trace_rpm_usage_rcuidle(dev, RPM_AUTO | RPM_ASYNC);
> -
[...]
IIRC, rpm_idle() has a tracepoint already.
> @@ -1523,9 +1529,8 @@ static void update_autosuspend(struct device *dev, int old_delay, int old_use)
> /* If it used to be allowed then prevent it. */
> if (!old_use || old_delay >= 0) {
> atomic_inc(&dev->power.usage_count);
> - rpm_resume(dev, 0);
> - } else {
> trace_rpm_usage_rcuidle(dev, 0);
> + rpm_resume(dev, 0);
> }
> }
[...]
This actually changes logic, so it doesn't match the patch description.
Best Regards
Michał Mirosław
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c
2020-06-05 19:05 ` [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c Chen Yu
@ 2020-06-06 0:17 ` kernel test robot
2020-06-06 12:00 ` kernel test robot
` (2 subsequent siblings)
3 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2020-06-06 0:17 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 4406 bytes --]
Hi Chen,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on pm/linux-next]
[also build test ERROR on v5.7 next-20200605]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Chen-Yu/Add-more-trace-point-for-runtime-usage-count/20200606-030705
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
config: x86_64-allnoconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 6dd738e2f0609f7d3313b574a1d471263d2d3ba1)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
In file included from drivers/base/core.c:26:
>> include/linux/pm_runtime.h:183:20: error: redefinition of 'pm_runtime_get_noresume'
static inline void pm_runtime_get_noresume(struct device *dev) {}
^
include/linux/pm_runtime.h:157:20: note: previous definition is here
static inline void pm_runtime_get_noresume(struct device *dev) {}
^
>> include/linux/pm_runtime.h:184:20: error: redefinition of 'pm_runtime_put_noidle'
static inline void pm_runtime_put_noidle(struct device *dev) {}
^
include/linux/pm_runtime.h:158:20: note: previous definition is here
static inline void pm_runtime_put_noidle(struct device *dev) {}
^
2 errors generated.
--
In file included from drivers/base/platform.c:22:
>> include/linux/pm_runtime.h:183:20: error: redefinition of 'pm_runtime_get_noresume'
static inline void pm_runtime_get_noresume(struct device *dev) {}
^
include/linux/pm_runtime.h:157:20: note: previous definition is here
static inline void pm_runtime_get_noresume(struct device *dev) {}
^
>> include/linux/pm_runtime.h:184:20: error: redefinition of 'pm_runtime_put_noidle'
static inline void pm_runtime_put_noidle(struct device *dev) {}
^
include/linux/pm_runtime.h:158:20: note: previous definition is here
static inline void pm_runtime_put_noidle(struct device *dev) {}
^
drivers/base/platform.c:1340:20: warning: no previous prototype for function 'early_platform_cleanup' [-Wmissing-prototypes]
void __weak __init early_platform_cleanup(void) { }
^
drivers/base/platform.c:1340:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak __init early_platform_cleanup(void) { }
^
static
1 warning and 2 errors generated.
vim +/pm_runtime_get_noresume +183 include/linux/pm_runtime.h
167
168 static inline bool pm_runtime_callbacks_present(struct device *dev) { return false; }
169 static inline void pm_runtime_mark_last_busy(struct device *dev) {}
170 static inline void __pm_runtime_use_autosuspend(struct device *dev,
171 bool use) {}
172 static inline void pm_runtime_set_autosuspend_delay(struct device *dev,
173 int delay) {}
174 static inline u64 pm_runtime_autosuspend_expiration(
175 struct device *dev) { return 0; }
176 static inline void pm_runtime_set_memalloc_noio(struct device *dev,
177 bool enable){}
178 static inline void pm_runtime_clean_up_links(struct device *dev) {}
179 static inline void pm_runtime_get_suppliers(struct device *dev) {}
180 static inline void pm_runtime_put_suppliers(struct device *dev) {}
181 static inline void pm_runtime_new_link(struct device *dev) {}
182 static inline void pm_runtime_drop_link(struct device *dev) {}
> 183 static inline void pm_runtime_get_noresume(struct device *dev) {}
> 184 static inline void pm_runtime_put_noidle(struct device *dev) {}
185
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 7441 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2][RFC] PM-runtime: add tracepoints to cover all usage_count changes
2020-06-05 19:33 ` Michal Miroslaw
@ 2020-06-06 7:14 ` Chen Yu
2020-06-07 4:55 ` Michal Miroslaw
0 siblings, 1 reply; 13+ messages in thread
From: Chen Yu @ 2020-06-06 7:14 UTC (permalink / raw)
To: Michal Miroslaw
Cc: Rafael J . Wysocki, Len Brown, Greg Kroah-Hartman, linux-pm,
linux-kernel
Hi,
On Fri, Jun 05, 2020 at 09:33:11PM +0200, Michal Miroslaw wrote:
> On Sat, Jun 06, 2020 at 03:05:52AM +0800, Chen Yu wrote:
> > Commit d229290689ae ("PM-runtime: add tracepoints for usage_count changes")
> > has added some tracepoints to monitor the change of runtime usage, and
> > there is something to improve:
> > 1. There are some places that adjust the usage count have not
> > been traced yet. For example, pm_runtime_get_noresume() and
> > pm_runtime_put_noidle()
> > 2. The change of the usage count will not be tracked if decreased
> > from 1 to 0.
> [...]
> > @@ -1448,16 +1453,17 @@ EXPORT_SYMBOL_GPL(pm_runtime_forbid);
> > */
> > void pm_runtime_allow(struct device *dev)
> > {
> > + bool is_zero;
> > +
> > spin_lock_irq(&dev->power.lock);
> > if (dev->power.runtime_auto)
> > goto out;
> >
> > dev->power.runtime_auto = true;
> > - if (atomic_dec_and_test(&dev->power.usage_count))
> > + is_zero = atomic_dec_and_test(&dev->power.usage_count);
> > + trace_rpm_usage_rcuidle(dev, RPM_AUTO | RPM_ASYNC);
> > + if (is_zero)
> > rpm_idle(dev, RPM_AUTO | RPM_ASYNC);
> > - else
> > - trace_rpm_usage_rcuidle(dev, RPM_AUTO | RPM_ASYNC);
> > -
> [...]
>
> IIRC, rpm_idle() has a tracepoint already.
>
Yes, this is what I concerned previously. If someone
want to track the change of usage_count, then he might
have to enable both trace rpm_usage and rpm_idle so
as to track the moment when the counter drops from 1 to
0. It might be more consistent if we only enable
trace rpm_usage to track the whole process.
> > @@ -1523,9 +1529,8 @@ static void update_autosuspend(struct device *dev, int old_delay, int old_use)
> > /* If it used to be allowed then prevent it. */
> > if (!old_use || old_delay >= 0) {
> > atomic_inc(&dev->power.usage_count);
> > - rpm_resume(dev, 0);
> > - } else {
> > trace_rpm_usage_rcuidle(dev, 0);
> > + rpm_resume(dev, 0);
> > }
> > }
> [...]
>
> This actually changes logic, so it doesn't match the patch description.
>
This patch intends to adjust the logic to be consistent with
the change of usage_counter, that is to say, only after the
counter has been possibly modified, we record it. In current
logic above, it tracks the usage count where the latter does
not change.
Thanks,
Chenyu
> Best Regards
> Michał Mirosław
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c
2020-06-05 19:05 ` [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c Chen Yu
2020-06-06 0:17 ` kernel test robot
@ 2020-06-06 12:00 ` kernel test robot
2020-06-06 17:18 ` Chen Yu
2020-06-08 15:11 ` kernel test robot
3 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2020-06-06 12:00 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 15509 bytes --]
Hi Chen,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on pm/linux-next]
[also build test WARNING on v5.7 next-20200605]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Chen-Yu/Add-more-trace-point-for-runtime-usage-count/20200606-030705
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
config: x86_64-randconfig-a005-20200606 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project e429cffd4f228f70c1d9df0e5d77c08590dd9766)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
In file included from drivers/misc/mei/pci-me.c:17:
include/linux/pm_runtime.h:183:20: error: redefinition of 'pm_runtime_get_noresume'
static inline void pm_runtime_get_noresume(struct device *dev) {}
^
include/linux/pm_runtime.h:157:20: note: previous definition is here
static inline void pm_runtime_get_noresume(struct device *dev) {}
^
include/linux/pm_runtime.h:184:20: error: redefinition of 'pm_runtime_put_noidle'
static inline void pm_runtime_put_noidle(struct device *dev) {}
^
include/linux/pm_runtime.h:158:20: note: previous definition is here
static inline void pm_runtime_put_noidle(struct device *dev) {}
^
>> drivers/misc/mei/pci-me.c:185:31: warning: shift count >= width of type [-Wshift-count-overflow]
if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) ||
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
drivers/misc/mei/pci-me.c:186:40: warning: shift count >= width of type [-Wshift-count-overflow]
dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) {
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
2 warnings and 2 errors generated.
--
In file included from drivers/block/mtip32xx/mtip32xx.c:29:
In file included from include/../drivers/ata/ahci.h:25:
In file included from include/linux/phy/phy.h:16:
include/linux/pm_runtime.h:183:20: error: redefinition of 'pm_runtime_get_noresume'
static inline void pm_runtime_get_noresume(struct device *dev) {}
^
include/linux/pm_runtime.h:157:20: note: previous definition is here
static inline void pm_runtime_get_noresume(struct device *dev) {}
^
include/linux/pm_runtime.h:184:20: error: redefinition of 'pm_runtime_put_noidle'
static inline void pm_runtime_put_noidle(struct device *dev) {}
^
include/linux/pm_runtime.h:158:20: note: previous definition is here
static inline void pm_runtime_put_noidle(struct device *dev) {}
^
>> drivers/block/mtip32xx/mtip32xx.c:4043:45: warning: shift count >= width of type [-Wshift-count-overflow]
rv = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
1 warning and 2 errors generated.
--
In file included from sound/soc/intel/skylake/skl.c:18:
include/linux/pm_runtime.h:183:20: error: redefinition of 'pm_runtime_get_noresume'
static inline void pm_runtime_get_noresume(struct device *dev) {}
^
include/linux/pm_runtime.h:157:20: note: previous definition is here
static inline void pm_runtime_get_noresume(struct device *dev) {}
^
include/linux/pm_runtime.h:184:20: error: redefinition of 'pm_runtime_put_noidle'
static inline void pm_runtime_put_noidle(struct device *dev) {}
^
include/linux/pm_runtime.h:158:20: note: previous definition is here
static inline void pm_runtime_put_noidle(struct device *dev) {}
^
>> sound/soc/intel/skylake/skl.c:953:30: warning: shift count >= width of type [-Wshift-count-overflow]
if (!dma_set_mask(bus->dev, DMA_BIT_MASK(64))) {
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
sound/soc/intel/skylake/skl.c:954:35: warning: shift count >= width of type [-Wshift-count-overflow]
dma_set_coherent_mask(bus->dev, DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
2 warnings and 2 errors generated.
vim +185 drivers/misc/mei/pci-me.c
c919951d940f28 Tomas Winkler 2014-05-13 146
2703d4b2e673cc Tomas Winkler 2013-02-06 147 /**
ce23139c6c2ee9 Alexander Usyskin 2014-09-29 148 * mei_me_probe - Device Initialization Routine
2703d4b2e673cc Tomas Winkler 2013-02-06 149 *
2703d4b2e673cc Tomas Winkler 2013-02-06 150 * @pdev: PCI device structure
2703d4b2e673cc Tomas Winkler 2013-02-06 151 * @ent: entry in kcs_pci_tbl
2703d4b2e673cc Tomas Winkler 2013-02-06 152 *
a8605ea2c20c2b Alexander Usyskin 2014-09-29 153 * Return: 0 on success, <0 on failure.
2703d4b2e673cc Tomas Winkler 2013-02-06 154 */
b68301e9acd30f Tomas Winkler 2013-03-27 155 static int mei_me_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
2703d4b2e673cc Tomas Winkler 2013-02-06 156 {
f5ac3c49ff0b36 Tomas Winkler 2017-06-14 157 const struct mei_cfg *cfg;
2703d4b2e673cc Tomas Winkler 2013-02-06 158 struct mei_device *dev;
52c34561415b42 Tomas Winkler 2013-02-06 159 struct mei_me_hw *hw;
1fa55b4e0e161b Alexander Usyskin 2015-08-02 160 unsigned int irqflags;
2703d4b2e673cc Tomas Winkler 2013-02-06 161 int err;
2703d4b2e673cc Tomas Winkler 2013-02-06 162
f5ac3c49ff0b36 Tomas Winkler 2017-06-14 163 cfg = mei_me_get_cfg(ent->driver_data);
f5ac3c49ff0b36 Tomas Winkler 2017-06-14 164 if (!cfg)
f5ac3c49ff0b36 Tomas Winkler 2017-06-14 165 return -ENODEV;
2703d4b2e673cc Tomas Winkler 2013-02-06 166
c919951d940f28 Tomas Winkler 2014-05-13 167 if (!mei_me_quirk_probe(pdev, cfg))
c919951d940f28 Tomas Winkler 2014-05-13 168 return -ENODEV;
2703d4b2e673cc Tomas Winkler 2013-02-06 169
2703d4b2e673cc Tomas Winkler 2013-02-06 170 /* enable pci dev */
f8a096059fc5f7 Tomas Winkler 2017-01-26 171 err = pcim_enable_device(pdev);
2703d4b2e673cc Tomas Winkler 2013-02-06 172 if (err) {
2703d4b2e673cc Tomas Winkler 2013-02-06 173 dev_err(&pdev->dev, "failed to enable pci device.\n");
2703d4b2e673cc Tomas Winkler 2013-02-06 174 goto end;
2703d4b2e673cc Tomas Winkler 2013-02-06 175 }
2703d4b2e673cc Tomas Winkler 2013-02-06 176 /* set PCI host mastering */
2703d4b2e673cc Tomas Winkler 2013-02-06 177 pci_set_master(pdev);
f8a096059fc5f7 Tomas Winkler 2017-01-26 178 /* pci request regions and mapping IO device memory for mei driver */
f8a096059fc5f7 Tomas Winkler 2017-01-26 179 err = pcim_iomap_regions(pdev, BIT(0), KBUILD_MODNAME);
2703d4b2e673cc Tomas Winkler 2013-02-06 180 if (err) {
2703d4b2e673cc Tomas Winkler 2013-02-06 181 dev_err(&pdev->dev, "failed to get pci regions.\n");
f8a096059fc5f7 Tomas Winkler 2017-01-26 182 goto end;
2703d4b2e673cc Tomas Winkler 2013-02-06 183 }
3ecfb168a51ddf Tomas Winkler 2013-12-17 184
3ecfb168a51ddf Tomas Winkler 2013-12-17 @185 if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) ||
3ecfb168a51ddf Tomas Winkler 2013-12-17 186 dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) {
3ecfb168a51ddf Tomas Winkler 2013-12-17 187
3ecfb168a51ddf Tomas Winkler 2013-12-17 188 err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
3ecfb168a51ddf Tomas Winkler 2013-12-17 189 if (err)
3ecfb168a51ddf Tomas Winkler 2013-12-17 190 err = dma_set_coherent_mask(&pdev->dev,
3ecfb168a51ddf Tomas Winkler 2013-12-17 191 DMA_BIT_MASK(32));
3ecfb168a51ddf Tomas Winkler 2013-12-17 192 }
3ecfb168a51ddf Tomas Winkler 2013-12-17 193 if (err) {
3ecfb168a51ddf Tomas Winkler 2013-12-17 194 dev_err(&pdev->dev, "No usable DMA configuration, aborting\n");
f8a096059fc5f7 Tomas Winkler 2017-01-26 195 goto end;
3ecfb168a51ddf Tomas Winkler 2013-12-17 196 }
3ecfb168a51ddf Tomas Winkler 2013-12-17 197
2703d4b2e673cc Tomas Winkler 2013-02-06 198 /* allocates and initializes the mei dev structure */
907b471ca228a5 Tomas Winkler 2019-11-07 199 dev = mei_me_dev_init(&pdev->dev, cfg);
2703d4b2e673cc Tomas Winkler 2013-02-06 200 if (!dev) {
2703d4b2e673cc Tomas Winkler 2013-02-06 201 err = -ENOMEM;
f8a096059fc5f7 Tomas Winkler 2017-01-26 202 goto end;
2703d4b2e673cc Tomas Winkler 2013-02-06 203 }
52c34561415b42 Tomas Winkler 2013-02-06 204 hw = to_me_hw(dev);
f8a096059fc5f7 Tomas Winkler 2017-01-26 205 hw->mem_addr = pcim_iomap_table(pdev)[0];
261e071acd9bcb Tomas Winkler 2019-11-07 206 hw->read_fws = mei_me_read_fws;
f8a096059fc5f7 Tomas Winkler 2017-01-26 207
2703d4b2e673cc Tomas Winkler 2013-02-06 208 pci_enable_msi(pdev);
2703d4b2e673cc Tomas Winkler 2013-02-06 209
fec874a81b3ec2 Benjamin Lee 2020-04-17 210 hw->irq = pdev->irq;
fec874a81b3ec2 Benjamin Lee 2020-04-17 211
2703d4b2e673cc Tomas Winkler 2013-02-06 212 /* request and enable interrupt */
1fa55b4e0e161b Alexander Usyskin 2015-08-02 213 irqflags = pci_dev_msi_enabled(pdev) ? IRQF_ONESHOT : IRQF_SHARED;
1fa55b4e0e161b Alexander Usyskin 2015-08-02 214
2703d4b2e673cc Tomas Winkler 2013-02-06 215 err = request_threaded_irq(pdev->irq,
06ecd645980096 Tomas Winkler 2013-02-06 216 mei_me_irq_quick_handler,
06ecd645980096 Tomas Winkler 2013-02-06 217 mei_me_irq_thread_handler,
1fa55b4e0e161b Alexander Usyskin 2015-08-02 218 irqflags, KBUILD_MODNAME, dev);
2703d4b2e673cc Tomas Winkler 2013-02-06 219 if (err) {
2703d4b2e673cc Tomas Winkler 2013-02-06 220 dev_err(&pdev->dev, "request_threaded_irq failure. irq = %d\n",
2703d4b2e673cc Tomas Winkler 2013-02-06 221 pdev->irq);
f8a096059fc5f7 Tomas Winkler 2017-01-26 222 goto end;
2703d4b2e673cc Tomas Winkler 2013-02-06 223 }
2703d4b2e673cc Tomas Winkler 2013-02-06 224
c4d589be4405d4 Tomas Winkler 2013-03-27 225 if (mei_start(dev)) {
2703d4b2e673cc Tomas Winkler 2013-02-06 226 dev_err(&pdev->dev, "init hw failure.\n");
2703d4b2e673cc Tomas Winkler 2013-02-06 227 err = -ENODEV;
2703d4b2e673cc Tomas Winkler 2013-02-06 228 goto release_irq;
2703d4b2e673cc Tomas Winkler 2013-02-06 229 }
2703d4b2e673cc Tomas Winkler 2013-02-06 230
180ea05bcedbd6 Tomas Winkler 2014-03-18 231 pm_runtime_set_autosuspend_delay(&pdev->dev, MEI_ME_RPM_TIMEOUT);
180ea05bcedbd6 Tomas Winkler 2014-03-18 232 pm_runtime_use_autosuspend(&pdev->dev);
180ea05bcedbd6 Tomas Winkler 2014-03-18 233
f3d8e8788b4efb Alexander Usyskin 2014-06-23 234 err = mei_register(dev, &pdev->dev);
2703d4b2e673cc Tomas Winkler 2013-02-06 235 if (err)
1f7e489a285c8b Alexander Usyskin 2016-02-07 236 goto stop;
2703d4b2e673cc Tomas Winkler 2013-02-06 237
2703d4b2e673cc Tomas Winkler 2013-02-06 238 pci_set_drvdata(pdev, dev);
2703d4b2e673cc Tomas Winkler 2013-02-06 239
557909e195aea2 Alexander Usyskin 2017-08-03 240 /*
557909e195aea2 Alexander Usyskin 2017-08-03 241 * MEI requires to resume from runtime suspend mode
557909e195aea2 Alexander Usyskin 2017-08-03 242 * in order to perform link reset flow upon system suspend.
557909e195aea2 Alexander Usyskin 2017-08-03 243 */
e07515563d010d Rafael J. Wysocki 2020-04-18 244 dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NO_DIRECT_COMPLETE);
557909e195aea2 Alexander Usyskin 2017-08-03 245
e13fa90ce42d8e Tomas Winkler 2014-03-18 246 /*
b42dc0635bf0a6 Alexander Usyskin 2017-09-26 247 * ME maps runtime suspend/resume to D0i states,
b42dc0635bf0a6 Alexander Usyskin 2017-09-26 248 * hence we need to go around native PCI runtime service which
b42dc0635bf0a6 Alexander Usyskin 2017-09-26 249 * eventually brings the device into D3cold/hot state,
b42dc0635bf0a6 Alexander Usyskin 2017-09-26 250 * but the mei device cannot wake up from D3 unlike from D0i3.
b42dc0635bf0a6 Alexander Usyskin 2017-09-26 251 * To get around the PCI device native runtime pm,
b42dc0635bf0a6 Alexander Usyskin 2017-09-26 252 * ME uses runtime pm domain handlers which take precedence
b42dc0635bf0a6 Alexander Usyskin 2017-09-26 253 * over the driver's pm handlers.
e13fa90ce42d8e Tomas Winkler 2014-03-18 254 */
e13fa90ce42d8e Tomas Winkler 2014-03-18 255 mei_me_set_pm_domain(dev);
e13fa90ce42d8e Tomas Winkler 2014-03-18 256
cc365dcf0e5627 Tomas Winkler 2018-01-02 257 if (mei_pg_is_enabled(dev)) {
180ea05bcedbd6 Tomas Winkler 2014-03-18 258 pm_runtime_put_noidle(&pdev->dev);
cc365dcf0e5627 Tomas Winkler 2018-01-02 259 if (hw->d0i3_supported)
cc365dcf0e5627 Tomas Winkler 2018-01-02 260 pm_runtime_allow(&pdev->dev);
cc365dcf0e5627 Tomas Winkler 2018-01-02 261 }
180ea05bcedbd6 Tomas Winkler 2014-03-18 262
c4e87b525936da Alexander Usyskin 2013-10-21 263 dev_dbg(&pdev->dev, "initialization successful.\n");
2703d4b2e673cc Tomas Winkler 2013-02-06 264
2703d4b2e673cc Tomas Winkler 2013-02-06 265 return 0;
2703d4b2e673cc Tomas Winkler 2013-02-06 266
1f7e489a285c8b Alexander Usyskin 2016-02-07 267 stop:
1f7e489a285c8b Alexander Usyskin 2016-02-07 268 mei_stop(dev);
2703d4b2e673cc Tomas Winkler 2013-02-06 269 release_irq:
dc844b0d99b853 Tomas Winkler 2013-11-11 270 mei_cancel_work(dev);
2703d4b2e673cc Tomas Winkler 2013-02-06 271 mei_disable_interrupts(dev);
2703d4b2e673cc Tomas Winkler 2013-02-06 272 free_irq(pdev->irq, dev);
2703d4b2e673cc Tomas Winkler 2013-02-06 273 end:
2703d4b2e673cc Tomas Winkler 2013-02-06 274 dev_err(&pdev->dev, "initialization failed.\n");
2703d4b2e673cc Tomas Winkler 2013-02-06 275 return err;
2703d4b2e673cc Tomas Winkler 2013-02-06 276 }
2703d4b2e673cc Tomas Winkler 2013-02-06 277
:::::: The code at line 185 was first introduced by commit
:::::: 3ecfb168a51ddf0226abe245065516bc2ebfdef5 mei: me: set dma mask using DMA mapping API
:::::: TO: Tomas Winkler <tomas.winkler@intel.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 35649 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c
2020-06-05 19:05 ` [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c Chen Yu
2020-06-06 0:17 ` kernel test robot
2020-06-06 12:00 ` kernel test robot
@ 2020-06-06 17:18 ` Chen Yu
2020-06-08 15:11 ` kernel test robot
3 siblings, 0 replies; 13+ messages in thread
From: Chen Yu @ 2020-06-06 17:18 UTC (permalink / raw)
To: Rafael J . Wysocki, Len Brown, Greg Kroah-Hartman, Michal Miroslaw
Cc: linux-pm, linux-kernel
On Sat, Jun 06, 2020 at 03:05:35AM +0800, Chen Yu wrote:
> In order to track all the runtime usage count change, move the code
> related to runtime usage count change from pm_runtime.h to runtime.c,
> so that in runtime.c we can leverage trace event to do the tracking.
> Meanwhile export pm_runtime_get_noresume() and pm_runtime_put_noidle()
> so the module can use them.
>
> No functional change.
>
There is a compile issue found by lkp, will send a
new version out.
Thanks,
Chenyu
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2][RFC] PM-runtime: add tracepoints to cover all usage_count changes
2020-06-06 7:14 ` Chen Yu
@ 2020-06-07 4:55 ` Michal Miroslaw
2020-06-08 6:53 ` Chen Yu
0 siblings, 1 reply; 13+ messages in thread
From: Michal Miroslaw @ 2020-06-07 4:55 UTC (permalink / raw)
To: Chen Yu
Cc: Rafael J . Wysocki, Len Brown, Greg Kroah-Hartman, linux-pm,
linux-kernel
On Sat, Jun 06, 2020 at 03:14:59PM +0800, Chen Yu wrote:
> Hi,
> On Fri, Jun 05, 2020 at 09:33:11PM +0200, Michal Miroslaw wrote:
> > On Sat, Jun 06, 2020 at 03:05:52AM +0800, Chen Yu wrote:
> > > Commit d229290689ae ("PM-runtime: add tracepoints for usage_count changes")
> > > has added some tracepoints to monitor the change of runtime usage, and
> > > there is something to improve:
> > > 1. There are some places that adjust the usage count have not
> > > been traced yet. For example, pm_runtime_get_noresume() and
> > > pm_runtime_put_noidle()
> > > 2. The change of the usage count will not be tracked if decreased
> > > from 1 to 0.
> > [...]
> > > @@ -1448,16 +1453,17 @@ EXPORT_SYMBOL_GPL(pm_runtime_forbid);
> > > */
> > > void pm_runtime_allow(struct device *dev)
> > > {
> > > + bool is_zero;
> > > +
> > > spin_lock_irq(&dev->power.lock);
> > > if (dev->power.runtime_auto)
> > > goto out;
> > >
> > > dev->power.runtime_auto = true;
> > > - if (atomic_dec_and_test(&dev->power.usage_count))
> > > + is_zero = atomic_dec_and_test(&dev->power.usage_count);
> > > + trace_rpm_usage_rcuidle(dev, RPM_AUTO | RPM_ASYNC);
> > > + if (is_zero)
> > > rpm_idle(dev, RPM_AUTO | RPM_ASYNC);
> > > - else
> > > - trace_rpm_usage_rcuidle(dev, RPM_AUTO | RPM_ASYNC);
> > > -
> > [...]
> >
> > IIRC, rpm_idle() has a tracepoint already.
> >
> Yes, this is what I concerned previously. If someone
> want to track the change of usage_count, then he might
> have to enable both trace rpm_usage and rpm_idle so
> as to track the moment when the counter drops from 1 to
> 0. It might be more consistent if we only enable
> trace rpm_usage to track the whole process.
> > > @@ -1523,9 +1529,8 @@ static void update_autosuspend(struct device *dev, int old_delay, int old_use)
> > > /* If it used to be allowed then prevent it. */
> > > if (!old_use || old_delay >= 0) {
> > > atomic_inc(&dev->power.usage_count);
> > > - rpm_resume(dev, 0);
> > > - } else {
> > > trace_rpm_usage_rcuidle(dev, 0);
> > > + rpm_resume(dev, 0);
> > > }
> > > }
> > [...]
> >
> > This actually changes logic, so it doesn't match the patch description.
> >
> This patch intends to adjust the logic to be consistent with
> the change of usage_counter, that is to say, only after the
> counter has been possibly modified, we record it. In current
> logic above, it tracks the usage count where the latter does
> not change.
I see now what you intended. I think it would be nice to put the idea
(that all usage changes be shown using rpm_usage even if included in
other trace points) into the commit message. Otherwise, looks ok.
Best Regards
Michał Mirosław
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2][RFC] PM-runtime: add tracepoints to cover all usage_count changes
2020-06-07 4:55 ` Michal Miroslaw
@ 2020-06-08 6:53 ` Chen Yu
0 siblings, 0 replies; 13+ messages in thread
From: Chen Yu @ 2020-06-08 6:53 UTC (permalink / raw)
To: Michal Miroslaw
Cc: Rafael J . Wysocki, Len Brown, Greg Kroah-Hartman, linux-pm,
linux-kernel
On Sun, Jun 07, 2020 at 06:55:35AM +0200, Michal Miroslaw wrote:
> On Sat, Jun 06, 2020 at 03:14:59PM +0800, Chen Yu wrote:
> > Hi,
> > On Fri, Jun 05, 2020 at 09:33:11PM +0200, Michal Miroslaw wrote:
> > > On Sat, Jun 06, 2020 at 03:05:52AM +0800, Chen Yu wrote:
> > > > Commit d229290689ae ("PM-runtime: add tracepoints for usage_count changes")
> > > > has added some tracepoints to monitor the change of runtime usage, and
> > > > there is something to improve:
> > > > 1. There are some places that adjust the usage count have not
> > > > been traced yet. For example, pm_runtime_get_noresume() and
> > > > pm_runtime_put_noidle()
> > > > 2. The change of the usage count will not be tracked if decreased
> > > > from 1 to 0.
> > > [...]
> > > > @@ -1448,16 +1453,17 @@ EXPORT_SYMBOL_GPL(pm_runtime_forbid);
> > > > */
> > > > void pm_runtime_allow(struct device *dev)
> > > > {
> > > > + bool is_zero;
> > > > +
> > > > spin_lock_irq(&dev->power.lock);
> > > > if (dev->power.runtime_auto)
> > > > goto out;
> > > >
> > > > dev->power.runtime_auto = true;
> > > > - if (atomic_dec_and_test(&dev->power.usage_count))
> > > > + is_zero = atomic_dec_and_test(&dev->power.usage_count);
> > > > + trace_rpm_usage_rcuidle(dev, RPM_AUTO | RPM_ASYNC);
> > > > + if (is_zero)
> > > > rpm_idle(dev, RPM_AUTO | RPM_ASYNC);
> > > > - else
> > > > - trace_rpm_usage_rcuidle(dev, RPM_AUTO | RPM_ASYNC);
> > > > -
> > > [...]
> > >
> > > IIRC, rpm_idle() has a tracepoint already.
> > >
> > Yes, this is what I concerned previously. If someone
> > want to track the change of usage_count, then he might
> > have to enable both trace rpm_usage and rpm_idle so
> > as to track the moment when the counter drops from 1 to
> > 0. It might be more consistent if we only enable
> > trace rpm_usage to track the whole process.
> > > > @@ -1523,9 +1529,8 @@ static void update_autosuspend(struct device *dev, int old_delay, int old_use)
> > > > /* If it used to be allowed then prevent it. */
> > > > if (!old_use || old_delay >= 0) {
> > > > atomic_inc(&dev->power.usage_count);
> > > > - rpm_resume(dev, 0);
> > > > - } else {
> > > > trace_rpm_usage_rcuidle(dev, 0);
> > > > + rpm_resume(dev, 0);
> > > > }
> > > > }
> > > [...]
> > >
> > > This actually changes logic, so it doesn't match the patch description.
> > >
> > This patch intends to adjust the logic to be consistent with
> > the change of usage_counter, that is to say, only after the
> > counter has been possibly modified, we record it. In current
> > logic above, it tracks the usage count where the latter does
> > not change.
>
> I see now what you intended. I think it would be nice to put the idea
> (that all usage changes be shown using rpm_usage even if included in
> other trace points) into the commit message. Otherwise, looks ok.
>
Okay, will do in next version, thanks!
Chenyu
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c
2020-06-05 19:05 ` [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c Chen Yu
` (2 preceding siblings ...)
2020-06-06 17:18 ` Chen Yu
@ 2020-06-08 15:11 ` kernel test robot
2020-06-08 15:11 ` Chen, Yu C
3 siblings, 1 reply; 13+ messages in thread
From: kernel test robot @ 2020-06-08 15:11 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 74419 bytes --]
Hi Chen,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on pm/linux-next]
[also build test WARNING on v5.7 next-20200605]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Chen-Yu/Add-more-trace-point-for-runtime-usage-count/20200606-030705
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
:::::: branch date: 4 hours ago
:::::: commit date: 4 hours ago
config: arc-randconfig-s032-20200605 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-246-g41f651b4-dirty
# save the attached .config to linux build tree
make W=1 C=1 ARCH=arc CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/tty/serial/xilinx_uartps.c:553:28: sparse: sparse: context imbalance in 'cdns_uart_clk_notifier_cb' - different lock contexts for basic block
include/linux/spinlock.h:408:9: sparse: sparse: context imbalance in 'cdns_uart_console_write' - unexpected unlock
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/tty/serial/8250/8250_port.c:1881:5: sparse: sparse: context imbalance in 'serial8250_handle_irq' - different lock contexts for basic block
drivers/tty/serial/8250/8250_port.c:3290:9: sparse: sparse: context imbalance in 'serial8250_console_write' - different lock contexts for basic block
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/misc/lis3lv02d/lis3lv02d.c:182:52: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
arch/arc/include/asm/irqflags-arcv2.h:80:31: sparse: sparse: undefined identifier '__builtin_arc_lr'
arch/arc/include/asm/irqflags-arcv2.h:83:17: sparse: sparse: undefined identifier '__builtin_arc_sr'
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/i2c/busses/i2c-viperboard.c:123:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] addr @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:123:35: sparse: expected unsigned short [usertype] addr
drivers/i2c/busses/i2c-viperboard.c:123:35: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:196:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] tf1 @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:196:34: sparse: expected unsigned short [usertype] tf1
drivers/i2c/busses/i2c-viperboard.c:196:34: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:197:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] tf2 @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:197:34: sparse: expected unsigned short [usertype] tf2
drivers/i2c/busses/i2c-viperboard.c:197:34: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:232:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] addr @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:232:35: sparse: expected unsigned short [usertype] addr
drivers/i2c/busses/i2c-viperboard.c:232:35: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:295:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] len @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:295:35: sparse: expected unsigned short [usertype] len
drivers/i2c/busses/i2c-viperboard.c:295:35: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:320:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] len @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:320:35: sparse: expected unsigned short [usertype] len
drivers/i2c/busses/i2c-viperboard.c:320:35: sparse: got restricted __le16 [usertype]
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/bluetooth/hci_intel.c:696:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:701:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:702:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:703:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:725:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:730:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:731:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:732:26: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/bluetooth/btusb.c:2155:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2164:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2165:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2166:25: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/cdns3/drd.c:43:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:43:31: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:43:31: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:45:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:45:25: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:45:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:47:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:47:31: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:47:31: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:49:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:49:25: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:49:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:71:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:71:14: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:71:14: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:81:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:81:19: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:81:19: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:114:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:114:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:114:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:123:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:123:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:123:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:141:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:141:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:141:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:144:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:144:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:144:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:144:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:144:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:144:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:152:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:152:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:152:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:156:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:156:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:156:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:156:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:156:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:156:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:178:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:178:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:178:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:182:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:182:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:182:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:182:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:182:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:182:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:195:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:195:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:195:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:199:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:199:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:199:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:199:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:199:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:199:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:219:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:219:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:219:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:284:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:284:15: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:284:15: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:303:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:303:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:303:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:326:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_legacy_regs *otg_v0_regs @@ got void [noderef] <asn:2> *[assigned] regs @@
drivers/usb/cdns3/drd.c:326:27: sparse: expected struct cdns3_otg_legacy_regs *otg_v0_regs
drivers/usb/cdns3/drd.c:326:27: sparse: got void [noderef] <asn:2> *[assigned] regs
drivers/usb/cdns3/drd.c:327:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:327:14: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:327:14: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:330:32: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_common_regs *otg_regs @@ got void [noderef] <asn:2> *[assigned] regs @@
drivers/usb/cdns3/drd.c:330:32: sparse: expected struct cdns3_otg_common_regs *otg_regs
drivers/usb/cdns3/drd.c:330:32: sparse: got void [noderef] <asn:2> *[assigned] regs
drivers/usb/cdns3/drd.c:331:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:331:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:331:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:332:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:332:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:332:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:336:35: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_regs *otg_v1_regs @@ got void [noderef] <asn:2> *[assigned] regs @@
drivers/usb/cdns3/drd.c:336:35: sparse: expected struct cdns3_otg_regs *otg_v1_regs
drivers/usb/cdns3/drd.c:336:35: sparse: got void [noderef] <asn:2> *[assigned] regs
drivers/usb/cdns3/drd.c:339:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:339:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:339:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:340:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:340:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:340:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:340:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:340:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:340:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:345:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:345:17: sparse: expected void const volatile [noderef] <asn:2> *addr
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/cdns3/gadget.c:1157:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1157:35: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1157:35: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1173:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1173:29: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:1173:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1188:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1188:29: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/gadget.c:1188:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1191:37: sparse: sparse: invalid assignment: |=
drivers/usb/cdns3/gadget.c:1191:37: sparse: left side has type restricted __le32
drivers/usb/cdns3/gadget.c:1191:37: sparse: right side has type unsigned long
drivers/usb/cdns3/gadget.c:1213:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int [assigned] [usertype] control @@
drivers/usb/cdns3/gadget.c:1213:38: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1213:38: sparse: got unsigned int [assigned] [usertype] control
drivers/usb/cdns3/gadget.c:1215:48: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int [assigned] [usertype] control @@
drivers/usb/cdns3/gadget.c:1215:48: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1215:48: sparse: got unsigned int [assigned] [usertype] control
drivers/usb/cdns3/gadget.c:1229:30: sparse: sparse: invalid assignment: |=
drivers/usb/cdns3/gadget.c:1229:30: sparse: left side has type restricted __le32
drivers/usb/cdns3/gadget.c:1229:30: sparse: right side has type unsigned long
drivers/usb/cdns3/gadget.c:1255:36: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:1255:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int @@
drivers/usb/cdns3/gadget.c:1255:30: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1255:30: sparse: got unsigned int
drivers/usb/cdns3/gadget.c:1010:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1010:29: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:1010:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1013:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1013:29: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:1013:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1019:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1019:21: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/gadget.c:1019:21: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1029:37: sparse: sparse: invalid assignment: |=
drivers/usb/cdns3/gadget.c:1029:37: sparse: left side has type restricted __le32
drivers/usb/cdns3/gadget.c:1029:37: sparse: right side has type unsigned long
drivers/usb/cdns3/gadget.c:1033:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int [assigned] [usertype] control @@
drivers/usb/cdns3/gadget.c:1033:22: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1033:22: sparse: got unsigned int [assigned] [usertype] control
drivers/usb/cdns3/gadget.c:263:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:263:34: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:263:34: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:264:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:264:35: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:264:35: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:849:49: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:848:51: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int @@
drivers/usb/cdns3/gadget.c:848:51: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:848:51: sparse: got unsigned int
drivers/usb/cdns3/gadget.c:852:49: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:851:51: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int @@
drivers/usb/cdns3/gadget.c:851:51: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:851:51: sparse: got unsigned int
drivers/usb/cdns3/gadget.c:1393:17: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:1442:21: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:1574:35: sparse: sparse: dubious: x | !y
drivers/usb/cdns3/gadget.c:2552:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2552:34: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:2552:34: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:2554:46: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:2554:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2554:35: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:2554:35: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:2610:43: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:2610:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2610:38: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:2610:38: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:2625:43: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:2625:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2625:38: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:2625:38: sparse: got unsigned long
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/cdns3/ep0.c:40:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:40:37: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/ep0.c:40:37: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:41:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:41:37: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/ep0.c:41:37: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:44:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:44:46: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/ep0.c:44:46: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:45:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:45:45: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/ep0.c:45:45: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:46:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:46:45: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/ep0.c:46:45: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:47:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:47:46: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/ep0.c:47:46: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:50:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:50:46: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/ep0.c:50:46: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:267:52: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned char [usertype] ep_addr @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:267:52: sparse: expected unsigned char [usertype] ep_addr
drivers/usb/cdns3/ep0.c:267:52: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:271:47: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] ep @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:271:47: sparse: expected unsigned int [usertype] ep
drivers/usb/cdns3/ep0.c:271:47: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:387:19: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/cdns3/ep0.c:390:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned char [usertype] ep_addr @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:390:44: sparse: expected unsigned char [usertype] ep_addr
drivers/usb/cdns3/ep0.c:390:44: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:393:39: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] ep @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:393:39: sparse: expected unsigned int [usertype] ep
drivers/usb/cdns3/ep0.c:393:39: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:454:21: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/cdns3/ep0.c:478:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] isoch_delay @@ got restricted __le16 [usertype] wValue @@
drivers/usb/cdns3/ep0.c:478:31: sparse: expected unsigned short [usertype] isoch_delay
drivers/usb/cdns3/ep0.c:478:31: sparse: got restricted __le16 [usertype] wValue
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/host/oxu210hp-hcd.c:890:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] wHubCharacteristics @@ got unsigned short [usertype] @@
drivers/usb/host/oxu210hp-hcd.c:890:35: sparse: expected restricted __le16 [usertype] wHubCharacteristics
drivers/usb/host/oxu210hp-hcd.c:890:35: sparse: got unsigned short [usertype]
drivers/usb/host/oxu210hp-hcd.c:942:32: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:966:33: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:1013:24: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:1037:20: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:1070:23: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:1171:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [noderef] <asn:2> @@ got restricted __le32 [usertype] @@
drivers/usb/host/oxu210hp-hcd.c:1171:41: sparse: expected unsigned int [noderef] <asn:2>
drivers/usb/host/oxu210hp-hcd.c:1171:41: sparse: got restricted __le32 [usertype]
drivers/usb/host/oxu210hp-hcd.c:1188:26: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:2027:44: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/host/oxu210hp-hcd.c:2027:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hw_token @@ got unsigned int @@
drivers/usb/host/oxu210hp-hcd.c:2027:41: sparse: expected restricted __le32 [usertype] hw_token
drivers/usb/host/oxu210hp-hcd.c:2027:41: sparse: got unsigned int
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/host/sl811-hcd.c:1788:24: sparse: sparse: symbol 'sl811h_driver' was not declared. Should it be static?
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/hid/hid-roccat-kone.c:103:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] checksum @@ got restricted __le16 [usertype] @@
drivers/hid/hid-roccat-kone.c:103:28: sparse: expected unsigned short [usertype] checksum
drivers/hid/hid-roccat-kone.c:103:28: sparse: got restricted __le16 [usertype]
drivers/hid/hid-roccat-kone.c:262:19: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/gadget/udc/dummy_hcd.c:460:25: sparse: sparse: context imbalance in 'set_link_state' - unexpected unlock
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/gadget/udc/pxa27x_udc.c:2093:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [assigned] [usertype] wValue @@ got int config @@
drivers/usb/gadget/udc/pxa27x_udc.c:2093:20: sparse: expected restricted __le16 [assigned] [usertype] wValue
drivers/usb/gadget/udc/pxa27x_udc.c:2093:20: sparse: got int config
drivers/usb/gadget/udc/pxa27x_udc.c:2122:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [assigned] [usertype] wValue @@ got int alt @@
drivers/usb/gadget/udc/pxa27x_udc.c:2122:20: sparse: expected restricted __le16 [assigned] [usertype] wValue
drivers/usb/gadget/udc/pxa27x_udc.c:2122:20: sparse: got int alt
drivers/usb/gadget/udc/pxa27x_udc.c:2123:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [assigned] [usertype] wIndex @@ got int iface @@
drivers/usb/gadget/udc/pxa27x_udc.c:2123:20: sparse: expected restricted __le16 [assigned] [usertype] wIndex
drivers/usb/gadget/udc/pxa27x_udc.c:2123:20: sparse: got int iface
drivers/usb/gadget/udc/pxa27x_udc.c:2306:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2306:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2306:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2307:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2307:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2307:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2308:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2308:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2308:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2309:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2309:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2309:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2310:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2310:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2310:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2311:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2311:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2311:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:680:39: sparse: sparse: context imbalance in 'req_done' - unexpected unlock
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got int @@
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: got int
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr0 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: expected unsigned int [usertype] buff_ptr0
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr1 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: expected unsigned int [usertype] buff_ptr1
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr2 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: expected unsigned int [usertype] buff_ptr2
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr3 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: expected unsigned int [usertype] buff_ptr3
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr4 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: expected unsigned int [usertype] buff_ptr4
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got unsigned int * @@
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: got unsigned int *
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got unsigned int * @@
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: got unsigned int *
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: expected unsigned short [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: got restricted __le16 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:1516:26: sparse: sparse: cast from restricted __le16
drivers/usb/gadget/udc/mv_udc_core.c:1546:31: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1547:35: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1568:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1579:39: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1580:43: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1616:34: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1625:52: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1634:39: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1635:43: sparse: sparse: restricted __le16 degrades to integer
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/usbip/usbip_common.c:418:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] command @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:418:33: sparse: expected unsigned int [usertype] command
drivers/usb/usbip/usbip_common.c:418:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:419:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] seqnum @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:419:33: sparse: expected unsigned int [usertype] seqnum
drivers/usb/usbip/usbip_common.c:419:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:420:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] devid @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:420:33: sparse: expected unsigned int [usertype] devid
drivers/usb/usbip/usbip_common.c:420:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:421:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] direction @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:421:33: sparse: expected unsigned int [usertype] direction
drivers/usb/usbip/usbip_common.c:421:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:422:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] ep @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:422:33: sparse: expected unsigned int [usertype] ep
drivers/usb/usbip/usbip_common.c:422:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:436:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] transfer_flags @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:436:37: sparse: expected unsigned int [usertype] transfer_flags
drivers/usb/usbip/usbip_common.c:436:37: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:474:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] seqnum @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:474:29: sparse: expected unsigned int [usertype] seqnum
drivers/usb/usbip/usbip_common.c:474:29: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:526:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] offset @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:526:33: sparse: expected unsigned int [usertype] offset
drivers/usb/usbip/usbip_common.c:526:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:527:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] length @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:527:33: sparse: expected unsigned int [usertype] length
drivers/usb/usbip/usbip_common.c:527:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:528:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] status @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:528:33: sparse: expected unsigned int [usertype] status
drivers/usb/usbip/usbip_common.c:528:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:529:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] actual_length @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:529:36: sparse: expected unsigned int [usertype] actual_length
drivers/usb/usbip/usbip_common.c:529:36: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/usbip/vhci_hcd.c:295:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] DeviceRemovable @@ got int @@
drivers/usb/usbip/vhci_hcd.c:295:36: sparse: expected restricted __le16 [usertype] DeviceRemovable
drivers/usb/usbip/vhci_hcd.c:295:36: sparse: got int
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
kernel/irq/irqdesc.c:875:17: sparse: sparse: context imbalance in '__irq_get_desc_lock' - wrong count at exit
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/gpio/gpio-viperboard.c:261:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:261:20: sparse: expected unsigned short [usertype] val
drivers/gpio/gpio-viperboard.c:261:20: sparse: got restricted __be16 [usertype]
drivers/gpio/gpio-viperboard.c:262:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] mask @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:262:21: sparse: expected unsigned short [usertype] mask
drivers/gpio/gpio-viperboard.c:262:21: sparse: got restricted __be16 [usertype]
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:324:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:324:28: sparse: expected unsigned short [usertype] val
drivers/gpio/gpio-viperboard.c:324:28: sparse: got restricted __be16 [usertype]
drivers/gpio/gpio-viperboard.c:325:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] mask @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:325:29: sparse: expected unsigned short [usertype] mask
drivers/gpio/gpio-viperboard.c:325:29: sparse: got restricted __be16 [usertype]
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/pci/pci.c:899:13: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:899:21: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:899:31: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:899:39: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:908:35: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:908:54: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:909:19: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:909:37: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:939:23: sparse: sparse: invalid assignment: |=
drivers/pci/pci.c:939:23: sparse: left side has type unsigned short
drivers/pci/pci.c:939:23: sparse: right side has type restricted pci_power_t
drivers/pci/pci.c:944:57: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:966:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted pci_power_t [usertype] current_state @@ got int @@
drivers/pci/pci.c:966:28: sparse: expected restricted pci_power_t [usertype] current_state
drivers/pci/pci.c:966:28: sparse: got int
drivers/pci/pci.c:1015:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted pci_power_t [usertype] current_state @@ got int @@
drivers/pci/pci.c:1015:36: sparse: expected restricted pci_power_t [usertype] current_state
drivers/pci/pci.c:1015:36: sparse: got int
drivers/pci/pci.c:1193:13: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1193:21: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1195:18: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1195:26: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1218:13: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1218:22: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1225:46: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1225:54: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1768:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted pci_power_t [usertype] current_state @@ got int @@
drivers/pci/pci.c:1768:36: sparse: expected restricted pci_power_t [usertype] current_state
drivers/pci/pci.c:1768:36: sparse: got int
drivers/pci/pci.c:2156:44: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2457:61: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2458:45: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2624:20: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2624:38: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2647:49: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2647:67: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:4647:13: sparse: sparse: invalid assignment: |=
drivers/pci/pci.c:4647:13: sparse: left side has type unsigned short
drivers/pci/pci.c:4647:13: sparse: right side has type restricted pci_power_t
drivers/pci/pci.c:4652:13: sparse: sparse: invalid assignment: |=
drivers/pci/pci.c:4652:13: sparse: left side has type unsigned short
drivers/pci/pci.c:4652:13: sparse: right side has type restricted pci_power_t
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/pci/pci-driver.c:494:42: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci-driver.c:494:61: sparse: sparse: restricted pci_power_t degrades to integer
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/pci/quirks.c:2287:57: sparse: sparse: restricted pci_power_t degrades to integer
include/asm-generic/io.h:479:15: sparse: sparse: cast to restricted __le16
include/asm-generic/io.h:513:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:513:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:513:22: sparse: got restricted __le16 [usertype]
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/video/fbdev/udlfb.c:1008:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got char [noderef] <asn:2> *screen_base @@
drivers/video/fbdev/udlfb.c:1008:19: sparse: expected void const *addr
drivers/video/fbdev/udlfb.c:1008:19: sparse: got char [noderef] <asn:2> *screen_base
drivers/video/fbdev/udlfb.c:1121:36: sparse: sparse: cast removes address space '<asn:2>' of expression
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/clk/clk.c:159:22: sparse: sparse: context imbalance in 'clk_enable_lock' - different lock contexts for basic block
# https://github.com/0day-ci/linux/commit/89b94bda61375feace001bf5567bae6293277bd9
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 89b94bda61375feace001bf5567bae6293277bd9
vim +157 include/linux/pm_runtime.h
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 155
372a12ed9d99c0 Ulf Hansson 2016-04-08 156 static inline void pm_suspend_ignore_children(struct device *dev, bool enable) {}
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 @157 static inline void pm_runtime_get_noresume(struct device *dev) {}
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 158 static inline void pm_runtime_put_noidle(struct device *dev) {}
d690b2cd222afc Rafael J. Wysocki 2010-03-06 159 static inline bool pm_runtime_suspended(struct device *dev) { return false; }
fbadc58dd3a52c ShuoX Liu 2013-01-23 160 static inline bool pm_runtime_active(struct device *dev) { return true; }
f3393b62f157cc Kevin Hilman 2011-07-12 161 static inline bool pm_runtime_status_suspended(struct device *dev) { return false; }
4b31db8a16fa0d Rafael J. Wysocki 2010-12-24 162 static inline bool pm_runtime_enabled(struct device *dev) { return false; }
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 163
7490e44239e602 Alan Stern 2010-09-25 164 static inline void pm_runtime_no_callbacks(struct device *dev) {}
c7b61de5b7b17f Alan Stern 2010-12-01 165 static inline void pm_runtime_irq_safe(struct device *dev) {}
3fb1581ea1ab0a Krzysztof Kozlowski 2014-11-14 166 static inline bool pm_runtime_is_irq_safe(struct device *dev) { return false; }
2f60ba706bd9af Rafael J. Wysocki 2010-05-10 167
cb8f51bdadb796 Rafael J. Wysocki 2011-02-08 168 static inline bool pm_runtime_callbacks_present(struct device *dev) { return false; }
15bcb91d7e607d Alan Stern 2010-09-25 169 static inline void pm_runtime_mark_last_busy(struct device *dev) {}
15bcb91d7e607d Alan Stern 2010-09-25 170 static inline void __pm_runtime_use_autosuspend(struct device *dev,
15bcb91d7e607d Alan Stern 2010-09-25 171 bool use) {}
15bcb91d7e607d Alan Stern 2010-09-25 172 static inline void pm_runtime_set_autosuspend_delay(struct device *dev,
15bcb91d7e607d Alan Stern 2010-09-25 173 int delay) {}
8234f6734c5d74 Vincent Guittot 2018-12-14 174 static inline u64 pm_runtime_autosuspend_expiration(
15bcb91d7e607d Alan Stern 2010-09-25 175 struct device *dev) { return 0; }
e823407f7b11fa Ming Lei 2013-02-22 176 static inline void pm_runtime_set_memalloc_noio(struct device *dev,
e823407f7b11fa Ming Lei 2013-02-22 177 bool enable){}
21d5c57b372616 Rafael J. Wysocki 2016-10-30 178 static inline void pm_runtime_clean_up_links(struct device *dev) {}
b06c0b2f087ab4 Rafael J. Wysocki 2018-06-12 179 static inline void pm_runtime_get_suppliers(struct device *dev) {}
b06c0b2f087ab4 Rafael J. Wysocki 2018-06-12 180 static inline void pm_runtime_put_suppliers(struct device *dev) {}
baa8809f60971d Rafael J. Wysocki 2016-10-30 181 static inline void pm_runtime_new_link(struct device *dev) {}
baa8809f60971d Rafael J. Wysocki 2016-10-30 182 static inline void pm_runtime_drop_link(struct device *dev) {}
89b94bda61375f Chen Yu 2020-06-06 @183 static inline void pm_runtime_get_noresume(struct device *dev) {}
89b94bda61375f Chen Yu 2020-06-06 184 static inline void pm_runtime_put_noidle(struct device *dev) {}
15bcb91d7e607d Alan Stern 2010-09-25 185
:::::: The code at line 157 was first introduced by commit
:::::: 5e928f77a09a07f9dd595bb8a489965d69a83458 PM: Introduce core framework for run-time PM of I/O devices (rev. 17)
:::::: TO: Rafael J. Wysocki <rjw@sisk.pl>
:::::: CC: Rafael J. Wysocki <rjw@sisk.pl>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26266 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c
2020-06-08 15:11 ` kernel test robot
@ 2020-06-08 15:11 ` Chen, Yu C
0 siblings, 0 replies; 13+ messages in thread
From: Chen, Yu C @ 2020-06-08 15:11 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 74817 bytes --]
Thanks for reporting this.
I've sent the v2 patch to the mailing list at
https://patchwork.kernel.org/patch/11592687/
Thanks,
Chenyu
-----Original Message-----
From: lkp <lkp@intel.com>
Sent: Monday, June 8, 2020 11:11 PM
To: Chen, Yu C <yu.c.chen@intel.com>
Cc: kbuild-all(a)lists.01.org
Subject: Re: [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c
Hi Chen,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on pm/linux-next]
[also build test WARNING on v5.7 next-20200605]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Chen-Yu/Add-more-trace-point-for-runtime-usage-count/20200606-030705
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
:::::: branch date: 4 hours ago
:::::: commit date: 4 hours ago
config: arc-randconfig-s032-20200605 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-246-g41f651b4-dirty
# save the attached .config to linux build tree
make W=1 C=1 ARCH=arc CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/tty/serial/xilinx_uartps.c:553:28: sparse: sparse: context imbalance in 'cdns_uart_clk_notifier_cb' - different lock contexts for basic block
include/linux/spinlock.h:408:9: sparse: sparse: context imbalance in 'cdns_uart_console_write' - unexpected unlock
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/tty/serial/8250/8250_port.c:1881:5: sparse: sparse: context imbalance in 'serial8250_handle_irq' - different lock contexts for basic block
drivers/tty/serial/8250/8250_port.c:3290:9: sparse: sparse: context imbalance in 'serial8250_console_write' - different lock contexts for basic block
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/misc/lis3lv02d/lis3lv02d.c:182:52: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
arch/arc/include/asm/irqflags-arcv2.h:80:31: sparse: sparse: undefined identifier '__builtin_arc_lr'
arch/arc/include/asm/irqflags-arcv2.h:83:17: sparse: sparse: undefined identifier '__builtin_arc_sr'
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/i2c/busses/i2c-viperboard.c:123:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] addr @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:123:35: sparse: expected unsigned short [usertype] addr
drivers/i2c/busses/i2c-viperboard.c:123:35: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:196:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] tf1 @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:196:34: sparse: expected unsigned short [usertype] tf1
drivers/i2c/busses/i2c-viperboard.c:196:34: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:197:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] tf2 @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:197:34: sparse: expected unsigned short [usertype] tf2
drivers/i2c/busses/i2c-viperboard.c:197:34: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:232:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] addr @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:232:35: sparse: expected unsigned short [usertype] addr
drivers/i2c/busses/i2c-viperboard.c:232:35: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:295:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] len @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:295:35: sparse: expected unsigned short [usertype] len
drivers/i2c/busses/i2c-viperboard.c:295:35: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:320:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] len @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:320:35: sparse: expected unsigned short [usertype] len
drivers/i2c/busses/i2c-viperboard.c:320:35: sparse: got restricted __le16 [usertype]
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/bluetooth/hci_intel.c:696:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:701:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:702:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:703:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:725:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:730:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:731:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:732:26: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/bluetooth/btusb.c:2155:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2164:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2165:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2166:25: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/cdns3/drd.c:43:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:43:31: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:43:31: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:45:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:45:25: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:45:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:47:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:47:31: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:47:31: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:49:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:49:25: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:49:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:71:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:71:14: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:71:14: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:81:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:81:19: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:81:19: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:114:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:114:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:114:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:123:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:123:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:123:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:141:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:141:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:141:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:144:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:144:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:144:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:144:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:144:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:144:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:152:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:152:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:152:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:156:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:156:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:156:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:156:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:156:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:156:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:178:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:178:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:178:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:182:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:182:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:182:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:182:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:182:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:182:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:195:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:195:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:195:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:199:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:199:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:199:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:199:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:199:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:199:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:219:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:219:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:219:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:284:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:284:15: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:284:15: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:303:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:303:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:303:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:326:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_legacy_regs *otg_v0_regs @@ got void [noderef] <asn:2> *[assigned] regs @@
drivers/usb/cdns3/drd.c:326:27: sparse: expected struct cdns3_otg_legacy_regs *otg_v0_regs
drivers/usb/cdns3/drd.c:326:27: sparse: got void [noderef] <asn:2> *[assigned] regs
drivers/usb/cdns3/drd.c:327:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:327:14: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:327:14: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:330:32: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_common_regs *otg_regs @@ got void [noderef] <asn:2> *[assigned] regs @@
drivers/usb/cdns3/drd.c:330:32: sparse: expected struct cdns3_otg_common_regs *otg_regs
drivers/usb/cdns3/drd.c:330:32: sparse: got void [noderef] <asn:2> *[assigned] regs
drivers/usb/cdns3/drd.c:331:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:331:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:331:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:332:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:332:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:332:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:336:35: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_regs *otg_v1_regs @@ got void [noderef] <asn:2> *[assigned] regs @@
drivers/usb/cdns3/drd.c:336:35: sparse: expected struct cdns3_otg_regs *otg_v1_regs
drivers/usb/cdns3/drd.c:336:35: sparse: got void [noderef] <asn:2> *[assigned] regs
drivers/usb/cdns3/drd.c:339:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:339:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:339:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:340:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:340:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:340:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:340:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:340:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:340:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:345:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:345:17: sparse: expected void const volatile [noderef] <asn:2> *addr
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/cdns3/gadget.c:1157:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1157:35: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1157:35: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1173:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1173:29: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:1173:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1188:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1188:29: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/gadget.c:1188:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1191:37: sparse: sparse: invalid assignment: |=
drivers/usb/cdns3/gadget.c:1191:37: sparse: left side has type restricted __le32
drivers/usb/cdns3/gadget.c:1191:37: sparse: right side has type unsigned long
drivers/usb/cdns3/gadget.c:1213:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int [assigned] [usertype] control @@
drivers/usb/cdns3/gadget.c:1213:38: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1213:38: sparse: got unsigned int [assigned] [usertype] control
drivers/usb/cdns3/gadget.c:1215:48: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int [assigned] [usertype] control @@
drivers/usb/cdns3/gadget.c:1215:48: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1215:48: sparse: got unsigned int [assigned] [usertype] control
drivers/usb/cdns3/gadget.c:1229:30: sparse: sparse: invalid assignment: |=
drivers/usb/cdns3/gadget.c:1229:30: sparse: left side has type restricted __le32
drivers/usb/cdns3/gadget.c:1229:30: sparse: right side has type unsigned long
drivers/usb/cdns3/gadget.c:1255:36: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:1255:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int @@
drivers/usb/cdns3/gadget.c:1255:30: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1255:30: sparse: got unsigned int
drivers/usb/cdns3/gadget.c:1010:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1010:29: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:1010:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1013:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1013:29: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:1013:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1019:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1019:21: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/gadget.c:1019:21: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1029:37: sparse: sparse: invalid assignment: |=
drivers/usb/cdns3/gadget.c:1029:37: sparse: left side has type restricted __le32
drivers/usb/cdns3/gadget.c:1029:37: sparse: right side has type unsigned long
drivers/usb/cdns3/gadget.c:1033:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int [assigned] [usertype] control @@
drivers/usb/cdns3/gadget.c:1033:22: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1033:22: sparse: got unsigned int [assigned] [usertype] control
drivers/usb/cdns3/gadget.c:263:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:263:34: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:263:34: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:264:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:264:35: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:264:35: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:849:49: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:848:51: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int @@
drivers/usb/cdns3/gadget.c:848:51: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:848:51: sparse: got unsigned int
drivers/usb/cdns3/gadget.c:852:49: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:851:51: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int @@
drivers/usb/cdns3/gadget.c:851:51: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:851:51: sparse: got unsigned int
drivers/usb/cdns3/gadget.c:1393:17: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:1442:21: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:1574:35: sparse: sparse: dubious: x | !y
drivers/usb/cdns3/gadget.c:2552:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2552:34: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:2552:34: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:2554:46: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:2554:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2554:35: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:2554:35: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:2610:43: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:2610:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2610:38: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:2610:38: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:2625:43: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:2625:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2625:38: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:2625:38: sparse: got unsigned long
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/cdns3/ep0.c:40:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:40:37: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/ep0.c:40:37: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:41:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:41:37: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/ep0.c:41:37: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:44:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:44:46: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/ep0.c:44:46: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:45:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:45:45: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/ep0.c:45:45: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:46:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:46:45: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/ep0.c:46:45: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:47:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:47:46: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/ep0.c:47:46: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:50:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:50:46: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/ep0.c:50:46: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:267:52: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned char [usertype] ep_addr @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:267:52: sparse: expected unsigned char [usertype] ep_addr
drivers/usb/cdns3/ep0.c:267:52: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:271:47: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] ep @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:271:47: sparse: expected unsigned int [usertype] ep
drivers/usb/cdns3/ep0.c:271:47: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:387:19: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/cdns3/ep0.c:390:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned char [usertype] ep_addr @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:390:44: sparse: expected unsigned char [usertype] ep_addr
drivers/usb/cdns3/ep0.c:390:44: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:393:39: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] ep @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:393:39: sparse: expected unsigned int [usertype] ep
drivers/usb/cdns3/ep0.c:393:39: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:454:21: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/cdns3/ep0.c:478:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] isoch_delay @@ got restricted __le16 [usertype] wValue @@
drivers/usb/cdns3/ep0.c:478:31: sparse: expected unsigned short [usertype] isoch_delay
drivers/usb/cdns3/ep0.c:478:31: sparse: got restricted __le16 [usertype] wValue
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/host/oxu210hp-hcd.c:890:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] wHubCharacteristics @@ got unsigned short [usertype] @@
drivers/usb/host/oxu210hp-hcd.c:890:35: sparse: expected restricted __le16 [usertype] wHubCharacteristics
drivers/usb/host/oxu210hp-hcd.c:890:35: sparse: got unsigned short [usertype]
drivers/usb/host/oxu210hp-hcd.c:942:32: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:966:33: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:1013:24: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:1037:20: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:1070:23: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:1171:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [noderef] <asn:2> @@ got restricted __le32 [usertype] @@
drivers/usb/host/oxu210hp-hcd.c:1171:41: sparse: expected unsigned int [noderef] <asn:2>
drivers/usb/host/oxu210hp-hcd.c:1171:41: sparse: got restricted __le32 [usertype]
drivers/usb/host/oxu210hp-hcd.c:1188:26: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:2027:44: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/host/oxu210hp-hcd.c:2027:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hw_token @@ got unsigned int @@
drivers/usb/host/oxu210hp-hcd.c:2027:41: sparse: expected restricted __le32 [usertype] hw_token
drivers/usb/host/oxu210hp-hcd.c:2027:41: sparse: got unsigned int
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/host/sl811-hcd.c:1788:24: sparse: sparse: symbol 'sl811h_driver' was not declared. Should it be static?
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/hid/hid-roccat-kone.c:103:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] checksum @@ got restricted __le16 [usertype] @@
drivers/hid/hid-roccat-kone.c:103:28: sparse: expected unsigned short [usertype] checksum
drivers/hid/hid-roccat-kone.c:103:28: sparse: got restricted __le16 [usertype]
drivers/hid/hid-roccat-kone.c:262:19: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/gadget/udc/dummy_hcd.c:460:25: sparse: sparse: context imbalance in 'set_link_state' - unexpected unlock
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/gadget/udc/pxa27x_udc.c:2093:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [assigned] [usertype] wValue @@ got int config @@
drivers/usb/gadget/udc/pxa27x_udc.c:2093:20: sparse: expected restricted __le16 [assigned] [usertype] wValue
drivers/usb/gadget/udc/pxa27x_udc.c:2093:20: sparse: got int config
drivers/usb/gadget/udc/pxa27x_udc.c:2122:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [assigned] [usertype] wValue @@ got int alt @@
drivers/usb/gadget/udc/pxa27x_udc.c:2122:20: sparse: expected restricted __le16 [assigned] [usertype] wValue
drivers/usb/gadget/udc/pxa27x_udc.c:2122:20: sparse: got int alt
drivers/usb/gadget/udc/pxa27x_udc.c:2123:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [assigned] [usertype] wIndex @@ got int iface @@
drivers/usb/gadget/udc/pxa27x_udc.c:2123:20: sparse: expected restricted __le16 [assigned] [usertype] wIndex
drivers/usb/gadget/udc/pxa27x_udc.c:2123:20: sparse: got int iface
drivers/usb/gadget/udc/pxa27x_udc.c:2306:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2306:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2306:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2307:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2307:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2307:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2308:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2308:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2308:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2309:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2309:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2309:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2310:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2310:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2310:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2311:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2311:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2311:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:680:39: sparse: sparse: context imbalance in 'req_done' - unexpected unlock
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got int @@
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: got int
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr0 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: expected unsigned int [usertype] buff_ptr0
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr1 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: expected unsigned int [usertype] buff_ptr1
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr2 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: expected unsigned int [usertype] buff_ptr2
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr3 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: expected unsigned int [usertype] buff_ptr3
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr4 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: expected unsigned int [usertype] buff_ptr4
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got unsigned int * @@
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: got unsigned int *
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got unsigned int * @@
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: got unsigned int *
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: expected unsigned short [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: got restricted __le16 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:1516:26: sparse: sparse: cast from restricted __le16
drivers/usb/gadget/udc/mv_udc_core.c:1546:31: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1547:35: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1568:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1579:39: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1580:43: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1616:34: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1625:52: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1634:39: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1635:43: sparse: sparse: restricted __le16 degrades to integer
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/usbip/usbip_common.c:418:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] command @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:418:33: sparse: expected unsigned int [usertype] command
drivers/usb/usbip/usbip_common.c:418:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:419:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] seqnum @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:419:33: sparse: expected unsigned int [usertype] seqnum
drivers/usb/usbip/usbip_common.c:419:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:420:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] devid @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:420:33: sparse: expected unsigned int [usertype] devid
drivers/usb/usbip/usbip_common.c:420:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:421:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] direction @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:421:33: sparse: expected unsigned int [usertype] direction
drivers/usb/usbip/usbip_common.c:421:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:422:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] ep @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:422:33: sparse: expected unsigned int [usertype] ep
drivers/usb/usbip/usbip_common.c:422:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:436:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] transfer_flags @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:436:37: sparse: expected unsigned int [usertype] transfer_flags
drivers/usb/usbip/usbip_common.c:436:37: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:474:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] seqnum @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:474:29: sparse: expected unsigned int [usertype] seqnum
drivers/usb/usbip/usbip_common.c:474:29: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:526:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] offset @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:526:33: sparse: expected unsigned int [usertype] offset
drivers/usb/usbip/usbip_common.c:526:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:527:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] length @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:527:33: sparse: expected unsigned int [usertype] length
drivers/usb/usbip/usbip_common.c:527:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:528:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] status @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:528:33: sparse: expected unsigned int [usertype] status
drivers/usb/usbip/usbip_common.c:528:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:529:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] actual_length @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:529:36: sparse: expected unsigned int [usertype] actual_length
drivers/usb/usbip/usbip_common.c:529:36: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/usbip/vhci_hcd.c:295:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] DeviceRemovable @@ got int @@
drivers/usb/usbip/vhci_hcd.c:295:36: sparse: expected restricted __le16 [usertype] DeviceRemovable
drivers/usb/usbip/vhci_hcd.c:295:36: sparse: got int
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
kernel/irq/irqdesc.c:875:17: sparse: sparse: context imbalance in '__irq_get_desc_lock' - wrong count at exit
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/gpio/gpio-viperboard.c:261:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:261:20: sparse: expected unsigned short [usertype] val
drivers/gpio/gpio-viperboard.c:261:20: sparse: got restricted __be16 [usertype]
drivers/gpio/gpio-viperboard.c:262:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] mask @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:262:21: sparse: expected unsigned short [usertype] mask
drivers/gpio/gpio-viperboard.c:262:21: sparse: got restricted __be16 [usertype]
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:324:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:324:28: sparse: expected unsigned short [usertype] val
drivers/gpio/gpio-viperboard.c:324:28: sparse: got restricted __be16 [usertype]
drivers/gpio/gpio-viperboard.c:325:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] mask @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:325:29: sparse: expected unsigned short [usertype] mask
drivers/gpio/gpio-viperboard.c:325:29: sparse: got restricted __be16 [usertype]
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/pci/pci.c:899:13: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:899:21: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:899:31: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:899:39: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:908:35: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:908:54: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:909:19: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:909:37: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:939:23: sparse: sparse: invalid assignment: |=
drivers/pci/pci.c:939:23: sparse: left side has type unsigned short
drivers/pci/pci.c:939:23: sparse: right side has type restricted pci_power_t
drivers/pci/pci.c:944:57: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:966:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted pci_power_t [usertype] current_state @@ got int @@
drivers/pci/pci.c:966:28: sparse: expected restricted pci_power_t [usertype] current_state
drivers/pci/pci.c:966:28: sparse: got int
drivers/pci/pci.c:1015:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted pci_power_t [usertype] current_state @@ got int @@
drivers/pci/pci.c:1015:36: sparse: expected restricted pci_power_t [usertype] current_state
drivers/pci/pci.c:1015:36: sparse: got int
drivers/pci/pci.c:1193:13: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1193:21: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1195:18: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1195:26: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1218:13: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1218:22: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1225:46: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1225:54: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1768:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted pci_power_t [usertype] current_state @@ got int @@
drivers/pci/pci.c:1768:36: sparse: expected restricted pci_power_t [usertype] current_state
drivers/pci/pci.c:1768:36: sparse: got int
drivers/pci/pci.c:2156:44: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2457:61: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2458:45: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2624:20: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2624:38: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2647:49: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2647:67: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:4647:13: sparse: sparse: invalid assignment: |=
drivers/pci/pci.c:4647:13: sparse: left side has type unsigned short
drivers/pci/pci.c:4647:13: sparse: right side has type restricted pci_power_t
drivers/pci/pci.c:4652:13: sparse: sparse: invalid assignment: |=
drivers/pci/pci.c:4652:13: sparse: left side has type unsigned short
drivers/pci/pci.c:4652:13: sparse: right side has type restricted pci_power_t
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/pci/pci-driver.c:494:42: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci-driver.c:494:61: sparse: sparse: restricted pci_power_t degrades to integer
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/pci/quirks.c:2287:57: sparse: sparse: restricted pci_power_t degrades to integer
include/asm-generic/io.h:479:15: sparse: sparse: cast to restricted __le16
include/asm-generic/io.h:513:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:513:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:513:22: sparse: got restricted __le16 [usertype]
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/video/fbdev/udlfb.c:1008:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got char [noderef] <asn:2> *screen_base @@
drivers/video/fbdev/udlfb.c:1008:19: sparse: expected void const *addr
drivers/video/fbdev/udlfb.c:1008:19: sparse: got char [noderef] <asn:2> *screen_base
drivers/video/fbdev/udlfb.c:1121:36: sparse: sparse: cast removes address space '<asn:2>' of expression
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/clk/clk.c:159:22: sparse: sparse: context imbalance in 'clk_enable_lock' - different lock contexts for basic block
# https://github.com/0day-ci/linux/commit/89b94bda61375feace001bf5567bae6293277bd9
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 89b94bda61375feace001bf5567bae6293277bd9
vim +157 include/linux/pm_runtime.h
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 155
372a12ed9d99c0 Ulf Hansson 2016-04-08 156 static inline void pm_suspend_ignore_children(struct device *dev, bool enable) {}
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 @157 static inline void pm_runtime_get_noresume(struct device *dev) {}
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 158 static inline void pm_runtime_put_noidle(struct device *dev) {}
d690b2cd222afc Rafael J. Wysocki 2010-03-06 159 static inline bool pm_runtime_suspended(struct device *dev) { return false; }
fbadc58dd3a52c ShuoX Liu 2013-01-23 160 static inline bool pm_runtime_active(struct device *dev) { return true; }
f3393b62f157cc Kevin Hilman 2011-07-12 161 static inline bool pm_runtime_status_suspended(struct device *dev) { return false; }
4b31db8a16fa0d Rafael J. Wysocki 2010-12-24 162 static inline bool pm_runtime_enabled(struct device *dev) { return false; }
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 163
7490e44239e602 Alan Stern 2010-09-25 164 static inline void pm_runtime_no_callbacks(struct device *dev) {}
c7b61de5b7b17f Alan Stern 2010-12-01 165 static inline void pm_runtime_irq_safe(struct device *dev) {}
3fb1581ea1ab0a Krzysztof Kozlowski 2014-11-14 166 static inline bool pm_runtime_is_irq_safe(struct device *dev) { return false; }
2f60ba706bd9af Rafael J. Wysocki 2010-05-10 167
cb8f51bdadb796 Rafael J. Wysocki 2011-02-08 168 static inline bool pm_runtime_callbacks_present(struct device *dev) { return false; }
15bcb91d7e607d Alan Stern 2010-09-25 169 static inline void pm_runtime_mark_last_busy(struct device *dev) {}
15bcb91d7e607d Alan Stern 2010-09-25 170 static inline void __pm_runtime_use_autosuspend(struct device *dev,
15bcb91d7e607d Alan Stern 2010-09-25 171 bool use) {}
15bcb91d7e607d Alan Stern 2010-09-25 172 static inline void pm_runtime_set_autosuspend_delay(struct device *dev,
15bcb91d7e607d Alan Stern 2010-09-25 173 int delay) {}
8234f6734c5d74 Vincent Guittot 2018-12-14 174 static inline u64 pm_runtime_autosuspend_expiration(
15bcb91d7e607d Alan Stern 2010-09-25 175 struct device *dev) { return 0; }
e823407f7b11fa Ming Lei 2013-02-22 176 static inline void pm_runtime_set_memalloc_noio(struct device *dev,
e823407f7b11fa Ming Lei 2013-02-22 177 bool enable){}
21d5c57b372616 Rafael J. Wysocki 2016-10-30 178 static inline void pm_runtime_clean_up_links(struct device *dev) {}
b06c0b2f087ab4 Rafael J. Wysocki 2018-06-12 179 static inline void pm_runtime_get_suppliers(struct device *dev) {}
b06c0b2f087ab4 Rafael J. Wysocki 2018-06-12 180 static inline void pm_runtime_put_suppliers(struct device *dev) {}
baa8809f60971d Rafael J. Wysocki 2016-10-30 181 static inline void pm_runtime_new_link(struct device *dev) {}
baa8809f60971d Rafael J. Wysocki 2016-10-30 182 static inline void pm_runtime_drop_link(struct device *dev) {}
89b94bda61375f Chen Yu 2020-06-06 @183 static inline void pm_runtime_get_noresume(struct device *dev) {}
89b94bda61375f Chen Yu 2020-06-06 184 static inline void pm_runtime_put_noidle(struct device *dev) {}
15bcb91d7e607d Alan Stern 2010-09-25 185
:::::: The code at line 157 was first introduced by commit
:::::: 5e928f77a09a07f9dd595bb8a489965d69a83458 PM: Introduce core framework for run-time PM of I/O devices (rev. 17)
:::::: TO: Rafael J. Wysocki <rjw@sisk.pl>
:::::: CC: Rafael J. Wysocki <rjw@sisk.pl>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c
@ 2020-06-05 23:35 kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2020-06-05 23:35 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 74670 bytes --]
CC: kbuild-all(a)lists.01.org
In-Reply-To: <3e7c571eb9e444c6e326d5cbb1f6e2dce4bb52fe.1591380524.git.yu.c.chen@intel.com>
References: <3e7c571eb9e444c6e326d5cbb1f6e2dce4bb52fe.1591380524.git.yu.c.chen@intel.com>
TO: Chen Yu <yu.c.chen@intel.com>
Hi Chen,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on pm/linux-next]
[also build test WARNING on v5.7 next-20200605]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Chen-Yu/Add-more-trace-point-for-runtime-usage-count/20200606-030705
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
:::::: branch date: 4 hours ago
:::::: commit date: 4 hours ago
config: arc-randconfig-s032-20200605 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-246-g41f651b4-dirty
# save the attached .config to linux build tree
make W=1 C=1 ARCH=arc CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/tty/serial/xilinx_uartps.c:553:28: sparse: sparse: context imbalance in 'cdns_uart_clk_notifier_cb' - different lock contexts for basic block
include/linux/spinlock.h:408:9: sparse: sparse: context imbalance in 'cdns_uart_console_write' - unexpected unlock
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/tty/serial/8250/8250_port.c:1881:5: sparse: sparse: context imbalance in 'serial8250_handle_irq' - different lock contexts for basic block
drivers/tty/serial/8250/8250_port.c:3290:9: sparse: sparse: context imbalance in 'serial8250_console_write' - different lock contexts for basic block
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/misc/lis3lv02d/lis3lv02d.c:182:52: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
arch/arc/include/asm/irqflags-arcv2.h:80:31: sparse: sparse: undefined identifier '__builtin_arc_lr'
arch/arc/include/asm/irqflags-arcv2.h:83:17: sparse: sparse: undefined identifier '__builtin_arc_sr'
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/i2c/busses/i2c-viperboard.c:123:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] addr @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:123:35: sparse: expected unsigned short [usertype] addr
drivers/i2c/busses/i2c-viperboard.c:123:35: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:196:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] tf1 @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:196:34: sparse: expected unsigned short [usertype] tf1
drivers/i2c/busses/i2c-viperboard.c:196:34: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:197:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] tf2 @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:197:34: sparse: expected unsigned short [usertype] tf2
drivers/i2c/busses/i2c-viperboard.c:197:34: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:232:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] addr @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:232:35: sparse: expected unsigned short [usertype] addr
drivers/i2c/busses/i2c-viperboard.c:232:35: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:295:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] len @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:295:35: sparse: expected unsigned short [usertype] len
drivers/i2c/busses/i2c-viperboard.c:295:35: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-viperboard.c:320:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] len @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-viperboard.c:320:35: sparse: expected unsigned short [usertype] len
drivers/i2c/busses/i2c-viperboard.c:320:35: sparse: got restricted __le16 [usertype]
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/bluetooth/hci_intel.c:696:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:701:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:702:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:703:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:725:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:730:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:731:26: sparse: sparse: cast to restricted __le16
drivers/bluetooth/hci_intel.c:732:26: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/bluetooth/btusb.c:2155:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2164:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2165:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2166:25: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/cdns3/drd.c:43:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:43:31: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:43:31: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:45:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:45:25: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:45:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:47:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:47:31: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:47:31: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:49:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:49:25: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:49:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:71:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:71:14: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:71:14: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:81:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:81:19: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:81:19: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:114:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:114:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:114:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:123:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:123:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:123:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:141:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:141:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:141:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:144:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:144:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:144:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:144:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:144:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:144:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:152:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:152:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:152:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:156:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:156:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:156:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:156:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:156:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:156:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:178:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:178:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:178:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:182:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:182:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:182:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:182:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:182:23: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:182:23: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:195:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:195:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:195:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:199:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:199:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:199:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:199:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:199:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:199:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:219:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:219:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:219:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:284:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:284:15: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:284:15: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:303:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:303:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:303:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:326:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_legacy_regs *otg_v0_regs @@ got void [noderef] <asn:2> *[assigned] regs @@
drivers/usb/cdns3/drd.c:326:27: sparse: expected struct cdns3_otg_legacy_regs *otg_v0_regs
drivers/usb/cdns3/drd.c:326:27: sparse: got void [noderef] <asn:2> *[assigned] regs
drivers/usb/cdns3/drd.c:327:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:327:14: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:327:14: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:330:32: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_common_regs *otg_regs @@ got void [noderef] <asn:2> *[assigned] regs @@
drivers/usb/cdns3/drd.c:330:32: sparse: expected struct cdns3_otg_common_regs *otg_regs
drivers/usb/cdns3/drd.c:330:32: sparse: got void [noderef] <asn:2> *[assigned] regs
drivers/usb/cdns3/drd.c:331:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:331:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:331:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:332:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:332:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:332:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:336:35: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_regs *otg_v1_regs @@ got void [noderef] <asn:2> *[assigned] regs @@
drivers/usb/cdns3/drd.c:336:35: sparse: expected struct cdns3_otg_regs *otg_v1_regs
drivers/usb/cdns3/drd.c:336:35: sparse: got void [noderef] <asn:2> *[assigned] regs
drivers/usb/cdns3/drd.c:339:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:339:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:339:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:340:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:340:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:340:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:340:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:340:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/cdns3/drd.c:340:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:345:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:345:17: sparse: expected void const volatile [noderef] <asn:2> *addr
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/cdns3/gadget.c:1157:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1157:35: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1157:35: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1173:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1173:29: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:1173:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1188:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1188:29: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/gadget.c:1188:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1191:37: sparse: sparse: invalid assignment: |=
drivers/usb/cdns3/gadget.c:1191:37: sparse: left side has type restricted __le32
drivers/usb/cdns3/gadget.c:1191:37: sparse: right side has type unsigned long
drivers/usb/cdns3/gadget.c:1213:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int [assigned] [usertype] control @@
drivers/usb/cdns3/gadget.c:1213:38: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1213:38: sparse: got unsigned int [assigned] [usertype] control
drivers/usb/cdns3/gadget.c:1215:48: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int [assigned] [usertype] control @@
drivers/usb/cdns3/gadget.c:1215:48: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1215:48: sparse: got unsigned int [assigned] [usertype] control
drivers/usb/cdns3/gadget.c:1229:30: sparse: sparse: invalid assignment: |=
drivers/usb/cdns3/gadget.c:1229:30: sparse: left side has type restricted __le32
drivers/usb/cdns3/gadget.c:1229:30: sparse: right side has type unsigned long
drivers/usb/cdns3/gadget.c:1255:36: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:1255:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int @@
drivers/usb/cdns3/gadget.c:1255:30: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1255:30: sparse: got unsigned int
drivers/usb/cdns3/gadget.c:1010:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1010:29: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:1010:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1013:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1013:29: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:1013:29: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1019:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:1019:21: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/gadget.c:1019:21: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:1029:37: sparse: sparse: invalid assignment: |=
drivers/usb/cdns3/gadget.c:1029:37: sparse: left side has type restricted __le32
drivers/usb/cdns3/gadget.c:1029:37: sparse: right side has type unsigned long
drivers/usb/cdns3/gadget.c:1033:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int [assigned] [usertype] control @@
drivers/usb/cdns3/gadget.c:1033:22: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:1033:22: sparse: got unsigned int [assigned] [usertype] control
drivers/usb/cdns3/gadget.c:263:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:263:34: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:263:34: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:264:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:264:35: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:264:35: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:849:49: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:848:51: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int @@
drivers/usb/cdns3/gadget.c:848:51: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:848:51: sparse: got unsigned int
drivers/usb/cdns3/gadget.c:852:49: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:851:51: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned int @@
drivers/usb/cdns3/gadget.c:851:51: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:851:51: sparse: got unsigned int
drivers/usb/cdns3/gadget.c:1393:17: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:1442:21: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:1574:35: sparse: sparse: dubious: x | !y
drivers/usb/cdns3/gadget.c:2552:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2552:34: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/gadget.c:2552:34: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:2554:46: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:2554:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2554:35: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:2554:35: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:2610:43: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:2610:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2610:38: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:2610:38: sparse: got unsigned long
drivers/usb/cdns3/gadget.c:2625:43: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/gadget.c:2625:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/gadget.c:2625:38: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/gadget.c:2625:38: sparse: got unsigned long
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/cdns3/ep0.c:40:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:40:37: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/ep0.c:40:37: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:41:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:41:37: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/ep0.c:41:37: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:44:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:44:46: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/ep0.c:44:46: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:45:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] buffer @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:45:45: sparse: expected restricted __le32 [usertype] buffer
drivers/usb/cdns3/ep0.c:45:45: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:46:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:46:45: sparse: expected restricted __le32 [usertype] length
drivers/usb/cdns3/ep0.c:46:45: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:47:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:47:46: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/ep0.c:47:46: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:50:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] control @@ got unsigned long @@
drivers/usb/cdns3/ep0.c:50:46: sparse: expected restricted __le32 [usertype] control
drivers/usb/cdns3/ep0.c:50:46: sparse: got unsigned long
drivers/usb/cdns3/ep0.c:267:52: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned char [usertype] ep_addr @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:267:52: sparse: expected unsigned char [usertype] ep_addr
drivers/usb/cdns3/ep0.c:267:52: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:271:47: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] ep @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:271:47: sparse: expected unsigned int [usertype] ep
drivers/usb/cdns3/ep0.c:271:47: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:387:19: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/cdns3/ep0.c:390:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned char [usertype] ep_addr @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:390:44: sparse: expected unsigned char [usertype] ep_addr
drivers/usb/cdns3/ep0.c:390:44: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:393:39: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] ep @@ got restricted __le16 [usertype] wIndex @@
drivers/usb/cdns3/ep0.c:393:39: sparse: expected unsigned int [usertype] ep
drivers/usb/cdns3/ep0.c:393:39: sparse: got restricted __le16 [usertype] wIndex
drivers/usb/cdns3/ep0.c:454:21: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/cdns3/ep0.c:478:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] isoch_delay @@ got restricted __le16 [usertype] wValue @@
drivers/usb/cdns3/ep0.c:478:31: sparse: expected unsigned short [usertype] isoch_delay
drivers/usb/cdns3/ep0.c:478:31: sparse: got restricted __le16 [usertype] wValue
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/host/oxu210hp-hcd.c:890:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] wHubCharacteristics @@ got unsigned short [usertype] @@
drivers/usb/host/oxu210hp-hcd.c:890:35: sparse: expected restricted __le16 [usertype] wHubCharacteristics
drivers/usb/host/oxu210hp-hcd.c:890:35: sparse: got unsigned short [usertype]
drivers/usb/host/oxu210hp-hcd.c:942:32: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:966:33: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:1013:24: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:1037:20: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:1070:23: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:1171:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [noderef] <asn:2> @@ got restricted __le32 [usertype] @@
drivers/usb/host/oxu210hp-hcd.c:1171:41: sparse: expected unsigned int [noderef] <asn:2>
drivers/usb/host/oxu210hp-hcd.c:1171:41: sparse: got restricted __le32 [usertype]
drivers/usb/host/oxu210hp-hcd.c:1188:26: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/host/oxu210hp-hcd.c:2027:44: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/host/oxu210hp-hcd.c:2027:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hw_token @@ got unsigned int @@
drivers/usb/host/oxu210hp-hcd.c:2027:41: sparse: expected restricted __le32 [usertype] hw_token
drivers/usb/host/oxu210hp-hcd.c:2027:41: sparse: got unsigned int
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
drivers/usb/host/oxu210hp-hcd.c:995:21: sparse: sparse: subtraction of different types can't work (different address spaces)
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/host/sl811-hcd.c:1788:24: sparse: sparse: symbol 'sl811h_driver' was not declared. Should it be static?
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/hid/hid-roccat-kone.c:103:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] checksum @@ got restricted __le16 [usertype] @@
drivers/hid/hid-roccat-kone.c:103:28: sparse: expected unsigned short [usertype] checksum
drivers/hid/hid-roccat-kone.c:103:28: sparse: got restricted __le16 [usertype]
drivers/hid/hid-roccat-kone.c:262:19: sparse: sparse: cast to restricted __le16
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/gadget/udc/dummy_hcd.c:460:25: sparse: sparse: context imbalance in 'set_link_state' - unexpected unlock
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/gadget/udc/pxa27x_udc.c:2093:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [assigned] [usertype] wValue @@ got int config @@
drivers/usb/gadget/udc/pxa27x_udc.c:2093:20: sparse: expected restricted __le16 [assigned] [usertype] wValue
drivers/usb/gadget/udc/pxa27x_udc.c:2093:20: sparse: got int config
drivers/usb/gadget/udc/pxa27x_udc.c:2122:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [assigned] [usertype] wValue @@ got int alt @@
drivers/usb/gadget/udc/pxa27x_udc.c:2122:20: sparse: expected restricted __le16 [assigned] [usertype] wValue
drivers/usb/gadget/udc/pxa27x_udc.c:2122:20: sparse: got int alt
drivers/usb/gadget/udc/pxa27x_udc.c:2123:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [assigned] [usertype] wIndex @@ got int iface @@
drivers/usb/gadget/udc/pxa27x_udc.c:2123:20: sparse: expected restricted __le16 [assigned] [usertype] wIndex
drivers/usb/gadget/udc/pxa27x_udc.c:2123:20: sparse: got int iface
drivers/usb/gadget/udc/pxa27x_udc.c:2306:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2306:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2306:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2307:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2307:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2307:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2308:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2308:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2308:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2309:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2309:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2309:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2310:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2310:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2310:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:2311:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got unsigned int @@
drivers/usb/gadget/udc/pxa27x_udc.c:2311:17: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/pxa27x_udc.c:2311:17: sparse: got unsigned int
drivers/usb/gadget/udc/pxa27x_udc.c:680:39: sparse: sparse: context imbalance in 'req_done' - unexpected unlock
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got int @@
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: got int
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr0 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: expected unsigned int [usertype] buff_ptr0
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr1 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: expected unsigned int [usertype] buff_ptr1
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr2 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: expected unsigned int [usertype] buff_ptr2
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr3 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: expected unsigned int [usertype] buff_ptr3
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr4 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: expected unsigned int [usertype] buff_ptr4
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got unsigned int * @@
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: got unsigned int *
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got unsigned int * @@
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/usb/gadget/udc/mv_udc_core.c:833:17: sparse: got unsigned int *
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: expected unsigned short [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: got restricted __le16 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:1516:26: sparse: sparse: cast from restricted __le16
drivers/usb/gadget/udc/mv_udc_core.c:1546:31: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1547:35: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1568:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1579:39: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1580:43: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1616:34: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1625:52: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1634:39: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1635:43: sparse: sparse: restricted __le16 degrades to integer
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/usbip/usbip_common.c:418:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] command @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:418:33: sparse: expected unsigned int [usertype] command
drivers/usb/usbip/usbip_common.c:418:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:419:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] seqnum @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:419:33: sparse: expected unsigned int [usertype] seqnum
drivers/usb/usbip/usbip_common.c:419:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:420:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] devid @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:420:33: sparse: expected unsigned int [usertype] devid
drivers/usb/usbip/usbip_common.c:420:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:421:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] direction @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:421:33: sparse: expected unsigned int [usertype] direction
drivers/usb/usbip/usbip_common.c:421:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:422:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] ep @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:422:33: sparse: expected unsigned int [usertype] ep
drivers/usb/usbip/usbip_common.c:422:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:424:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:436:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] transfer_flags @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:436:37: sparse: expected unsigned int [usertype] transfer_flags
drivers/usb/usbip/usbip_common.c:436:37: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:443:39: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:474:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] seqnum @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:474:29: sparse: expected unsigned int [usertype] seqnum
drivers/usb/usbip/usbip_common.c:474:29: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:476:31: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:526:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] offset @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:526:33: sparse: expected unsigned int [usertype] offset
drivers/usb/usbip/usbip_common.c:526:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:527:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] length @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:527:33: sparse: expected unsigned int [usertype] length
drivers/usb/usbip/usbip_common.c:527:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:528:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] status @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:528:33: sparse: expected unsigned int [usertype] status
drivers/usb/usbip/usbip_common.c:528:33: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:529:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] actual_length @@ got restricted __be32 [usertype] @@
drivers/usb/usbip/usbip_common.c:529:36: sparse: expected unsigned int [usertype] actual_length
drivers/usb/usbip/usbip_common.c:529:36: sparse: got restricted __be32 [usertype]
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:531:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:532:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:533:35: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
drivers/usb/usbip/usbip_common.c:534:38: sparse: sparse: cast to restricted __be32
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/usb/usbip/vhci_hcd.c:295:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] DeviceRemovable @@ got int @@
drivers/usb/usbip/vhci_hcd.c:295:36: sparse: expected restricted __le16 [usertype] DeviceRemovable
drivers/usb/usbip/vhci_hcd.c:295:36: sparse: got int
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
kernel/irq/irqdesc.c:875:17: sparse: sparse: context imbalance in '__irq_get_desc_lock' - wrong count at exit
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/gpio/gpio-viperboard.c:261:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:261:20: sparse: expected unsigned short [usertype] val
drivers/gpio/gpio-viperboard.c:261:20: sparse: got restricted __be16 [usertype]
drivers/gpio/gpio-viperboard.c:262:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] mask @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:262:21: sparse: expected unsigned short [usertype] mask
drivers/gpio/gpio-viperboard.c:262:21: sparse: got restricted __be16 [usertype]
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:302:27: sparse: sparse: cast to restricted __be16
drivers/gpio/gpio-viperboard.c:324:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:324:28: sparse: expected unsigned short [usertype] val
drivers/gpio/gpio-viperboard.c:324:28: sparse: got restricted __be16 [usertype]
drivers/gpio/gpio-viperboard.c:325:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] mask @@ got restricted __be16 [usertype] @@
drivers/gpio/gpio-viperboard.c:325:29: sparse: expected unsigned short [usertype] mask
drivers/gpio/gpio-viperboard.c:325:29: sparse: got restricted __be16 [usertype]
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/pci/pci.c:899:13: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:899:21: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:899:31: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:899:39: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:908:35: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:908:54: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:909:19: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:909:37: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:939:23: sparse: sparse: invalid assignment: |=
drivers/pci/pci.c:939:23: sparse: left side has type unsigned short
drivers/pci/pci.c:939:23: sparse: right side has type restricted pci_power_t
drivers/pci/pci.c:944:57: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:966:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted pci_power_t [usertype] current_state @@ got int @@
drivers/pci/pci.c:966:28: sparse: expected restricted pci_power_t [usertype] current_state
drivers/pci/pci.c:966:28: sparse: got int
drivers/pci/pci.c:1015:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted pci_power_t [usertype] current_state @@ got int @@
drivers/pci/pci.c:1015:36: sparse: expected restricted pci_power_t [usertype] current_state
drivers/pci/pci.c:1015:36: sparse: got int
drivers/pci/pci.c:1193:13: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1193:21: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1195:18: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1195:26: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1218:13: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1218:22: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1225:46: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1225:54: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:1768:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted pci_power_t [usertype] current_state @@ got int @@
drivers/pci/pci.c:1768:36: sparse: expected restricted pci_power_t [usertype] current_state
drivers/pci/pci.c:1768:36: sparse: got int
drivers/pci/pci.c:2156:44: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2457:61: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2458:45: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2624:20: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2624:38: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2647:49: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:2647:67: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci.c:4647:13: sparse: sparse: invalid assignment: |=
drivers/pci/pci.c:4647:13: sparse: left side has type unsigned short
drivers/pci/pci.c:4647:13: sparse: right side has type restricted pci_power_t
drivers/pci/pci.c:4652:13: sparse: sparse: invalid assignment: |=
drivers/pci/pci.c:4652:13: sparse: left side has type unsigned short
drivers/pci/pci.c:4652:13: sparse: right side has type restricted pci_power_t
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/pci/pci-driver.c:494:42: sparse: sparse: restricted pci_power_t degrades to integer
drivers/pci/pci-driver.c:494:61: sparse: sparse: restricted pci_power_t degrades to integer
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/pci/quirks.c:2287:57: sparse: sparse: restricted pci_power_t degrades to integer
include/asm-generic/io.h:479:15: sparse: sparse: cast to restricted __le16
include/asm-generic/io.h:513:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:513:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:513:22: sparse: got restricted __le16 [usertype]
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/video/fbdev/udlfb.c:1008:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got char [noderef] <asn:2> *screen_base @@
drivers/video/fbdev/udlfb.c:1008:19: sparse: expected void const *addr
drivers/video/fbdev/udlfb.c:1008:19: sparse: got char [noderef] <asn:2> *screen_base
drivers/video/fbdev/udlfb.c:1121:36: sparse: sparse: cast removes address space '<asn:2>' of expression
--
include/linux/pm_runtime.h:183:20: sparse: sparse: multiple definitions for function 'pm_runtime_get_noresume'
>> include/linux/pm_runtime.h:157:20: sparse: the previous one is here
include/linux/pm_runtime.h:184:20: sparse: sparse: multiple definitions for function 'pm_runtime_put_noidle'
include/linux/pm_runtime.h:158:20: sparse: the previous one is here
drivers/clk/clk.c:159:22: sparse: sparse: context imbalance in 'clk_enable_lock' - different lock contexts for basic block
# https://github.com/0day-ci/linux/commit/89b94bda61375feace001bf5567bae6293277bd9
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 89b94bda61375feace001bf5567bae6293277bd9
vim +157 include/linux/pm_runtime.h
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 155
372a12ed9d99c0 Ulf Hansson 2016-04-08 156 static inline void pm_suspend_ignore_children(struct device *dev, bool enable) {}
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 @157 static inline void pm_runtime_get_noresume(struct device *dev) {}
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 158 static inline void pm_runtime_put_noidle(struct device *dev) {}
d690b2cd222afc Rafael J. Wysocki 2010-03-06 159 static inline bool pm_runtime_suspended(struct device *dev) { return false; }
fbadc58dd3a52c ShuoX Liu 2013-01-23 160 static inline bool pm_runtime_active(struct device *dev) { return true; }
f3393b62f157cc Kevin Hilman 2011-07-12 161 static inline bool pm_runtime_status_suspended(struct device *dev) { return false; }
4b31db8a16fa0d Rafael J. Wysocki 2010-12-24 162 static inline bool pm_runtime_enabled(struct device *dev) { return false; }
5e928f77a09a07 Rafael J. Wysocki 2009-08-18 163
7490e44239e602 Alan Stern 2010-09-25 164 static inline void pm_runtime_no_callbacks(struct device *dev) {}
c7b61de5b7b17f Alan Stern 2010-12-01 165 static inline void pm_runtime_irq_safe(struct device *dev) {}
3fb1581ea1ab0a Krzysztof Kozlowski 2014-11-14 166 static inline bool pm_runtime_is_irq_safe(struct device *dev) { return false; }
2f60ba706bd9af Rafael J. Wysocki 2010-05-10 167
cb8f51bdadb796 Rafael J. Wysocki 2011-02-08 168 static inline bool pm_runtime_callbacks_present(struct device *dev) { return false; }
15bcb91d7e607d Alan Stern 2010-09-25 169 static inline void pm_runtime_mark_last_busy(struct device *dev) {}
15bcb91d7e607d Alan Stern 2010-09-25 170 static inline void __pm_runtime_use_autosuspend(struct device *dev,
15bcb91d7e607d Alan Stern 2010-09-25 171 bool use) {}
15bcb91d7e607d Alan Stern 2010-09-25 172 static inline void pm_runtime_set_autosuspend_delay(struct device *dev,
15bcb91d7e607d Alan Stern 2010-09-25 173 int delay) {}
8234f6734c5d74 Vincent Guittot 2018-12-14 174 static inline u64 pm_runtime_autosuspend_expiration(
15bcb91d7e607d Alan Stern 2010-09-25 175 struct device *dev) { return 0; }
e823407f7b11fa Ming Lei 2013-02-22 176 static inline void pm_runtime_set_memalloc_noio(struct device *dev,
e823407f7b11fa Ming Lei 2013-02-22 177 bool enable){}
21d5c57b372616 Rafael J. Wysocki 2016-10-30 178 static inline void pm_runtime_clean_up_links(struct device *dev) {}
b06c0b2f087ab4 Rafael J. Wysocki 2018-06-12 179 static inline void pm_runtime_get_suppliers(struct device *dev) {}
b06c0b2f087ab4 Rafael J. Wysocki 2018-06-12 180 static inline void pm_runtime_put_suppliers(struct device *dev) {}
baa8809f60971d Rafael J. Wysocki 2016-10-30 181 static inline void pm_runtime_new_link(struct device *dev) {}
baa8809f60971d Rafael J. Wysocki 2016-10-30 182 static inline void pm_runtime_drop_link(struct device *dev) {}
89b94bda61375f Chen Yu 2020-06-06 @183 static inline void pm_runtime_get_noresume(struct device *dev) {}
89b94bda61375f Chen Yu 2020-06-06 184 static inline void pm_runtime_put_noidle(struct device *dev) {}
15bcb91d7e607d Alan Stern 2010-09-25 185
:::::: The code at line 157 was first introduced by commit
:::::: 5e928f77a09a07f9dd595bb8a489965d69a83458 PM: Introduce core framework for run-time PM of I/O devices (rev. 17)
:::::: TO: Rafael J. Wysocki <rjw@sisk.pl>
:::::: CC: Rafael J. Wysocki <rjw@sisk.pl>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26266 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2020-06-08 15:11 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-05 19:05 [PATCH 0/2][RFC] Add more trace point for runtime usage count Chen Yu
2020-06-05 19:05 ` [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c Chen Yu
2020-06-06 0:17 ` kernel test robot
2020-06-06 12:00 ` kernel test robot
2020-06-06 17:18 ` Chen Yu
2020-06-08 15:11 ` kernel test robot
2020-06-08 15:11 ` Chen, Yu C
2020-06-05 19:05 ` [PATCH 2/2][RFC] PM-runtime: add tracepoints to cover all usage_count changes Chen Yu
2020-06-05 19:33 ` Michal Miroslaw
2020-06-06 7:14 ` Chen Yu
2020-06-07 4:55 ` Michal Miroslaw
2020-06-08 6:53 ` Chen Yu
2020-06-05 23:35 [PATCH 1/2][RFC] PM-runtime: Move all runtime usage related function to runtime.c 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.