Hi Hsin-Yi, Thank you for the patch! Yet something to improve: [auto build test ERROR on wsa/i2c/for-next] [also build test ERROR on robh/for-next mediatek/for-next v5.13-rc3 next-20210527] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Hsin-Yi-Wang/add-power-control-in-i2c/20210527-155826 base: https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next config: x86_64-randconfig-a012-20210526 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 6505c630407c5feec818f0bb1c284f9eeebf2071) 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 # https://github.com/0day-ci/linux/commit/e76ae7334b07a6721160299cf30e55b200bb5466 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Hsin-Yi-Wang/add-power-control-in-i2c/20210527-155826 git checkout e76ae7334b07a6721160299cf30e55b200bb5466 # 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 All errors (new ones prefixed by >>): In file included from drivers/gpu/drm/i915/i915_gem.c:1250: >> drivers/gpu/drm/i915/selftests/i915_gem.c:97:13: error: conflicting types for 'pm_suspend' static void pm_suspend(struct drm_i915_private *i915) ^ include/linux/suspend.h:345:19: note: previous definition is here static inline int pm_suspend(suspend_state_t state) { return -ENOSYS; } ^ In file included from drivers/gpu/drm/i915/i915_gem.c:1250: >> drivers/gpu/drm/i915/selftests/i915_gem.c:155:13: error: incompatible pointer to integer conversion passing 'struct drm_i915_private *' to parameter of type 'suspend_state_t' (aka 'int') [-Werror,-Wint-conversion] pm_suspend(i915); ^~~~ include/linux/suspend.h:345:46: note: passing argument to parameter 'state' here static inline int pm_suspend(suspend_state_t state) { return -ENOSYS; } ^ 2 errors generated. vim +/pm_suspend +97 drivers/gpu/drm/i915/selftests/i915_gem.c 3f51b7e1f36a37 Chris Wilson 2018-08-30 96 3f51b7e1f36a37 Chris Wilson 2018-08-30 @97 static void pm_suspend(struct drm_i915_private *i915) 3f51b7e1f36a37 Chris Wilson 2018-08-30 98 { c9d08cc3e3393e Chris Wilson 2019-01-14 99 intel_wakeref_t wakeref; c9d08cc3e3393e Chris Wilson 2019-01-14 100 c447ff7db34807 Daniele Ceraolo Spurio 2019-06-13 101 with_intel_runtime_pm(&i915->runtime_pm, wakeref) { e986209c67024c Chris Wilson 2020-01-30 102 i915_ggtt_suspend(&i915->ggtt); 3f51b7e1f36a37 Chris Wilson 2018-08-30 103 i915_gem_suspend_late(i915); d4225a535b3b08 Chris Wilson 2019-01-14 104 } 3f51b7e1f36a37 Chris Wilson 2018-08-30 105 } 3f51b7e1f36a37 Chris Wilson 2018-08-30 106 3f51b7e1f36a37 Chris Wilson 2018-08-30 107 static void pm_hibernate(struct drm_i915_private *i915) 3f51b7e1f36a37 Chris Wilson 2018-08-30 108 { c9d08cc3e3393e Chris Wilson 2019-01-14 109 intel_wakeref_t wakeref; c9d08cc3e3393e Chris Wilson 2019-01-14 110 c447ff7db34807 Daniele Ceraolo Spurio 2019-06-13 111 with_intel_runtime_pm(&i915->runtime_pm, wakeref) { e986209c67024c Chris Wilson 2020-01-30 112 i915_ggtt_suspend(&i915->ggtt); 3f51b7e1f36a37 Chris Wilson 2018-08-30 113 3f51b7e1f36a37 Chris Wilson 2018-08-30 114 i915_gem_freeze(i915); 3f51b7e1f36a37 Chris Wilson 2018-08-30 115 i915_gem_freeze_late(i915); d4225a535b3b08 Chris Wilson 2019-01-14 116 } 3f51b7e1f36a37 Chris Wilson 2018-08-30 117 } 3f51b7e1f36a37 Chris Wilson 2018-08-30 118 3f51b7e1f36a37 Chris Wilson 2018-08-30 119 static void pm_resume(struct drm_i915_private *i915) 3f51b7e1f36a37 Chris Wilson 2018-08-30 120 { c9d08cc3e3393e Chris Wilson 2019-01-14 121 intel_wakeref_t wakeref; c9d08cc3e3393e Chris Wilson 2019-01-14 122 3f51b7e1f36a37 Chris Wilson 2018-08-30 123 /* 3f51b7e1f36a37 Chris Wilson 2018-08-30 124 * Both suspend and hibernate follow the same wakeup path and assume 3f51b7e1f36a37 Chris Wilson 2018-08-30 125 * that runtime-pm just works. 3f51b7e1f36a37 Chris Wilson 2018-08-30 126 */ c447ff7db34807 Daniele Ceraolo Spurio 2019-06-13 127 with_intel_runtime_pm(&i915->runtime_pm, wakeref) { e986209c67024c Chris Wilson 2020-01-30 128 i915_ggtt_resume(&i915->ggtt); 3f51b7e1f36a37 Chris Wilson 2018-08-30 129 i915_gem_resume(i915); d4225a535b3b08 Chris Wilson 2019-01-14 130 } 3f51b7e1f36a37 Chris Wilson 2018-08-30 131 } 3f51b7e1f36a37 Chris Wilson 2018-08-30 132 3f51b7e1f36a37 Chris Wilson 2018-08-30 133 static int igt_gem_suspend(void *arg) 3f51b7e1f36a37 Chris Wilson 2018-08-30 134 { 3f51b7e1f36a37 Chris Wilson 2018-08-30 135 struct drm_i915_private *i915 = arg; 3f51b7e1f36a37 Chris Wilson 2018-08-30 136 struct i915_gem_context *ctx; a8c9a7f52ec5a4 Chris Wilson 2019-11-07 137 struct file *file; 3f51b7e1f36a37 Chris Wilson 2018-08-30 138 int err; 3f51b7e1f36a37 Chris Wilson 2018-08-30 139 3f51b7e1f36a37 Chris Wilson 2018-08-30 140 file = mock_file(i915); 3f51b7e1f36a37 Chris Wilson 2018-08-30 141 if (IS_ERR(file)) 3f51b7e1f36a37 Chris Wilson 2018-08-30 142 return PTR_ERR(file); 3f51b7e1f36a37 Chris Wilson 2018-08-30 143 3f51b7e1f36a37 Chris Wilson 2018-08-30 144 err = -ENOMEM; 3f51b7e1f36a37 Chris Wilson 2018-08-30 145 ctx = live_context(i915, file); 3f51b7e1f36a37 Chris Wilson 2018-08-30 146 if (!IS_ERR(ctx)) c31c9e82ee8ae0 Chris Wilson 2019-10-22 147 err = switch_to_context(ctx); 3f51b7e1f36a37 Chris Wilson 2018-08-30 148 if (err) 3f51b7e1f36a37 Chris Wilson 2018-08-30 149 goto out; 3f51b7e1f36a37 Chris Wilson 2018-08-30 150 3f51b7e1f36a37 Chris Wilson 2018-08-30 151 err = pm_prepare(i915); 3f51b7e1f36a37 Chris Wilson 2018-08-30 152 if (err) 3f51b7e1f36a37 Chris Wilson 2018-08-30 153 goto out; 3f51b7e1f36a37 Chris Wilson 2018-08-30 154 3f51b7e1f36a37 Chris Wilson 2018-08-30 @155 pm_suspend(i915); 3f51b7e1f36a37 Chris Wilson 2018-08-30 156 3f51b7e1f36a37 Chris Wilson 2018-08-30 157 /* Here be dragons! Note that with S3RST any S3 may become S4! */ 3f51b7e1f36a37 Chris Wilson 2018-08-30 158 simulate_hibernate(i915); 3f51b7e1f36a37 Chris Wilson 2018-08-30 159 3f51b7e1f36a37 Chris Wilson 2018-08-30 160 pm_resume(i915); 3f51b7e1f36a37 Chris Wilson 2018-08-30 161 c31c9e82ee8ae0 Chris Wilson 2019-10-22 162 err = switch_to_context(ctx); 3f51b7e1f36a37 Chris Wilson 2018-08-30 163 out: a8c9a7f52ec5a4 Chris Wilson 2019-11-07 164 fput(file); 3f51b7e1f36a37 Chris Wilson 2018-08-30 165 return err; 3f51b7e1f36a37 Chris Wilson 2018-08-30 166 } 3f51b7e1f36a37 Chris Wilson 2018-08-30 167 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org