[andersson:tuxsuite 9/42] drivers/gpu/drm/i915/display/intel_dp.c:4838:36: error: passing argument 2 of 'test_bit' from incompatible pointer type
From: kernel test robot
Date: Thu Mar 03 2022 - 23:50:47 EST
tree: https://github.com/andersson/kernel tuxsuite
head: 0fff1d7836dde54d8a7ce2f9010fd46a40f23aee
commit: f5897d405897f092921dfbc5e00c4f3fb4172b01 [9/42] drm: Add HPD state to drm_connector_oob_hotplug_event()
config: x86_64-randconfig-a011 (https://download.01.org/0day-ci/archive/20220304/202203041222.EU5Eal5c-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/andersson/kernel/commit/f5897d405897f092921dfbc5e00c4f3fb4172b01
git remote add andersson https://github.com/andersson/kernel
git fetch --no-tags andersson tuxsuite
git checkout f5897d405897f092921dfbc5e00c4f3fb4172b01
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
drivers/gpu/drm/i915/display/intel_dp.c: In function 'intel_dp_oob_hotplug_event':
>> drivers/gpu/drm/i915/display/intel_dp.c:4838:36: error: passing argument 2 of 'test_bit' from incompatible pointer type [-Werror=incompatible-pointer-types]
4838 | if (hpd_high != test_bit(hpd_pin, &i915->hotplug.oob_hotplug_last_state, hpd_pin)) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| unsigned int *
In file included from arch/x86/include/asm/bitops.h:390,
from include/linux/bitops.h:33,
from include/linux/of.h:15,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from include/linux/i2c.h:13,
from drivers/gpu/drm/i915/display/intel_dp.c:29:
include/asm-generic/bitops/instrumented-non-atomic.h:132:77: note: expected 'const volatile long unsigned int *' but argument is of type 'unsigned int *'
132 | static __always_inline bool test_bit(long nr, const volatile unsigned long *addr)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
>> drivers/gpu/drm/i915/display/intel_dp.c:4838:18: error: too many arguments to function 'test_bit'
4838 | if (hpd_high != test_bit(hpd_pin, &i915->hotplug.oob_hotplug_last_state, hpd_pin)) {
| ^~~~~~~~
In file included from arch/x86/include/asm/bitops.h:390,
from include/linux/bitops.h:33,
from include/linux/of.h:15,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from include/linux/i2c.h:13,
from drivers/gpu/drm/i915/display/intel_dp.c:29:
include/asm-generic/bitops/instrumented-non-atomic.h:132:29: note: declared here
132 | static __always_inline bool test_bit(long nr, const volatile unsigned long *addr)
| ^~~~~~~~
>> drivers/gpu/drm/i915/display/intel_dp.c:4841:64: error: 'hpg_high' undeclared (first use in this function); did you mean 'hpd_high'?
4841 | __assign_bit(hpd_pin, &i915->hotplug.oob_hotplug_last_state, hpg_high);
| ^~~~~~~~
| hpd_high
drivers/gpu/drm/i915/display/intel_dp.c:4841:64: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/gpu/drm/i915/display/intel_dp.c:4841:25: error: passing argument 2 of '__assign_bit' from incompatible pointer type [-Werror=incompatible-pointer-types]
4841 | __assign_bit(hpd_pin, &i915->hotplug.oob_hotplug_last_state, hpg_high);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| unsigned int *
In file included from include/linux/of.h:15,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from include/linux/i2c.h:13,
from drivers/gpu/drm/i915/display/intel_dp.c:29:
include/linux/bitops.h:214:75: note: expected 'volatile long unsigned int *' but argument is of type 'unsigned int *'
214 | static __always_inline void __assign_bit(long nr, volatile unsigned long *addr,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors
vim +/test_bit +4838 drivers/gpu/drm/i915/display/intel_dp.c
4827
4828 static void intel_dp_oob_hotplug_event(struct drm_connector *connector,
4829 enum drm_connector_hpd_state hpd_state)
4830 {
4831 struct intel_encoder *encoder = intel_attached_encoder(to_intel_connector(connector));
4832 struct drm_i915_private *i915 = to_i915(connector->dev);
4833 bool hpd_high = hpd_state == DRM_CONNECTOR_HPD_HIGH;
4834 unsigned int hpd_pin = encoder->hpd_pin;
4835 bool need_work = false;
4836
4837 spin_lock_irq(&i915->irq_lock);
> 4838 if (hpd_high != test_bit(hpd_pin, &i915->hotplug.oob_hotplug_last_state, hpd_pin)) {
4839 i915->hotplug.event_bits |= BIT(hpd_pin);
4840
> 4841 __assign_bit(hpd_pin, &i915->hotplug.oob_hotplug_last_state, hpg_high);
4842 need_work = true;
4843 }
4844 spin_unlock_irq(&i915->irq_lock);
4845
4846 if (need_work)
4847 queue_delayed_work(system_wq, &i915->hotplug.hotplug_work, 0);
4848 }
4849
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx