diff for duplicates of <202601091832.YueBSiOb-lkp@intel.com> diff --git a/a/1.txt b/N1/1.txt index 581c065..263a752 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,15 +1,6 @@ -BCC: lkp@intel.com -CC: oe-kbuild-all@lists.linux.dev -CC: linux-kernel@vger.kernel.org -TO: Brian Norris <briannorris@chromium.org> -CC: "Rafael J. Wysocki" <rjw@rjwysocki.net> - tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 623fb9912f6af600cda3b6bd166ac738c1115ef4 commit: 7f7acd193ba8aaa8ed07cfadc335bb17a991fd42 PM: runtime: Add basic kunit tests for API contracts -date: 3 months ago -:::::: branch date: 8 hours ago -:::::: commit date: 3 months ago config: x86_64-randconfig-161-20260109 (https://download.01.org/0day-ci/archive/20260109/202601091832.YueBSiOb-lkp@intel.com/config) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 smatch version: v0.5.0-8985-g2614ff1a @@ -17,7 +8,7 @@ smatch version: v0.5.0-8985-g2614ff1a If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> -| Reported-by: Dan Carpenter <error27@gmail.com> +| Reported-by: Dan Carpenter <dan.carpenter@linaro.org> | Closes: https://lore.kernel.org/r/202601091832.YueBSiOb-lkp@intel.com/ New smatch warnings: @@ -30,7 +21,6 @@ drivers/base/power/runtime-test.c:185 pm_runtime_error_test() warn: pm_runtime_g vim +22 drivers/base/power/runtime-test.c -7f7acd193ba8aa Brian Norris 2025-09-25 12 7f7acd193ba8aa Brian Norris 2025-09-25 13 static void pm_runtime_depth_test(struct kunit *test) 7f7acd193ba8aa Brian Norris 2025-09-25 14 { 7f7acd193ba8aa Brian Norris 2025-09-25 15 struct device *dev = kunit_device_register(test, DEVICE_NAME); @@ -41,192 +31,12 @@ vim +22 drivers/base/power/runtime-test.c 7f7acd193ba8aa Brian Norris 2025-09-25 20 7f7acd193ba8aa Brian Norris 2025-09-25 21 KUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev)); 7f7acd193ba8aa Brian Norris 2025-09-25 @22 KUNIT_EXPECT_EQ(test, 0, pm_runtime_get_sync(dev)); + +Use pm_runtime_resume_and_get()? + 7f7acd193ba8aa Brian Norris 2025-09-25 23 KUNIT_EXPECT_TRUE(test, pm_runtime_active(dev)); 7f7acd193ba8aa Brian Norris 2025-09-25 24 KUNIT_EXPECT_EQ(test, 1, pm_runtime_get_sync(dev)); /* "already active" */ 7f7acd193ba8aa Brian Norris 2025-09-25 25 KUNIT_EXPECT_EQ(test, 0, pm_runtime_put_sync(dev)); 7f7acd193ba8aa Brian Norris 2025-09-25 26 KUNIT_EXPECT_EQ(test, 0, pm_runtime_put_sync(dev)); 7f7acd193ba8aa Brian Norris 2025-09-25 27 KUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev)); 7f7acd193ba8aa Brian Norris 2025-09-25 28 } -7f7acd193ba8aa Brian Norris 2025-09-25 29 -7f7acd193ba8aa Brian Norris 2025-09-25 30 /* Test pm_runtime_put() and friends when already suspended. */ -7f7acd193ba8aa Brian Norris 2025-09-25 31 static void pm_runtime_already_suspended_test(struct kunit *test) -7f7acd193ba8aa Brian Norris 2025-09-25 32 { -7f7acd193ba8aa Brian Norris 2025-09-25 33 struct device *dev = kunit_device_register(test, DEVICE_NAME); -7f7acd193ba8aa Brian Norris 2025-09-25 34 -7f7acd193ba8aa Brian Norris 2025-09-25 35 KUNIT_ASSERT_PTR_NE(test, NULL, dev); -7f7acd193ba8aa Brian Norris 2025-09-25 36 -7f7acd193ba8aa Brian Norris 2025-09-25 37 pm_runtime_enable(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 38 KUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 39 -7f7acd193ba8aa Brian Norris 2025-09-25 40 pm_runtime_get_noresume(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 41 KUNIT_EXPECT_EQ(test, 0, pm_runtime_barrier(dev)); /* no wakeup needed */ -7f7acd193ba8aa Brian Norris 2025-09-25 42 pm_runtime_put(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 43 -7f7acd193ba8aa Brian Norris 2025-09-25 44 pm_runtime_get_noresume(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 45 KUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_put_sync(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 46 -7f7acd193ba8aa Brian Norris 2025-09-25 47 KUNIT_EXPECT_EQ(test, 1, pm_runtime_suspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 48 KUNIT_EXPECT_EQ(test, 1, pm_runtime_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 49 KUNIT_EXPECT_EQ(test, 1, pm_request_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 50 -7f7acd193ba8aa Brian Norris 2025-09-25 51 pm_runtime_get_noresume(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 52 KUNIT_EXPECT_EQ(test, 1, pm_runtime_put_sync_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 53 -7f7acd193ba8aa Brian Norris 2025-09-25 54 pm_runtime_get_noresume(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 55 pm_runtime_put_autosuspend(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 56 -7f7acd193ba8aa Brian Norris 2025-09-25 57 /* Grab 2 refcounts */ -7f7acd193ba8aa Brian Norris 2025-09-25 58 pm_runtime_get_noresume(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 59 pm_runtime_get_noresume(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 60 /* The first put() sees usage_count 1 */ -7f7acd193ba8aa Brian Norris 2025-09-25 61 KUNIT_EXPECT_EQ(test, 0, pm_runtime_put_sync_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 62 /* The second put() sees usage_count 0 but tells us "already suspended". */ -7f7acd193ba8aa Brian Norris 2025-09-25 63 KUNIT_EXPECT_EQ(test, 1, pm_runtime_put_sync_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 64 -7f7acd193ba8aa Brian Norris 2025-09-25 65 /* Should have remained suspended the whole time. */ -7f7acd193ba8aa Brian Norris 2025-09-25 66 KUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 67 } -7f7acd193ba8aa Brian Norris 2025-09-25 68 -7f7acd193ba8aa Brian Norris 2025-09-25 69 static void pm_runtime_idle_test(struct kunit *test) -7f7acd193ba8aa Brian Norris 2025-09-25 70 { -7f7acd193ba8aa Brian Norris 2025-09-25 71 struct device *dev = kunit_device_register(test, DEVICE_NAME); -7f7acd193ba8aa Brian Norris 2025-09-25 72 -7f7acd193ba8aa Brian Norris 2025-09-25 73 KUNIT_ASSERT_PTR_NE(test, NULL, dev); -7f7acd193ba8aa Brian Norris 2025-09-25 74 -7f7acd193ba8aa Brian Norris 2025-09-25 75 pm_runtime_enable(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 76 -7f7acd193ba8aa Brian Norris 2025-09-25 77 KUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 @78 KUNIT_EXPECT_EQ(test, 0, pm_runtime_get_sync(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 79 KUNIT_EXPECT_TRUE(test, pm_runtime_active(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 80 KUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_idle(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 81 KUNIT_EXPECT_TRUE(test, pm_runtime_active(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 82 pm_runtime_put_noidle(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 83 KUNIT_EXPECT_TRUE(test, pm_runtime_active(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 84 KUNIT_EXPECT_EQ(test, 0, pm_runtime_idle(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 85 KUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 86 KUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_idle(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 87 KUNIT_EXPECT_EQ(test, -EAGAIN, pm_request_idle(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 88 } -7f7acd193ba8aa Brian Norris 2025-09-25 89 -7f7acd193ba8aa Brian Norris 2025-09-25 90 static void pm_runtime_disabled_test(struct kunit *test) -7f7acd193ba8aa Brian Norris 2025-09-25 91 { -7f7acd193ba8aa Brian Norris 2025-09-25 92 struct device *dev = kunit_device_register(test, DEVICE_NAME); -7f7acd193ba8aa Brian Norris 2025-09-25 93 -7f7acd193ba8aa Brian Norris 2025-09-25 94 KUNIT_ASSERT_PTR_NE(test, NULL, dev); -7f7acd193ba8aa Brian Norris 2025-09-25 95 -7f7acd193ba8aa Brian Norris 2025-09-25 96 /* Never called pm_runtime_enable() */ -7f7acd193ba8aa Brian Norris 2025-09-25 97 KUNIT_EXPECT_FALSE(test, pm_runtime_enabled(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 98 -7f7acd193ba8aa Brian Norris 2025-09-25 99 /* "disabled" is treated as "active" */ -7f7acd193ba8aa Brian Norris 2025-09-25 100 KUNIT_EXPECT_TRUE(test, pm_runtime_active(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 101 KUNIT_EXPECT_FALSE(test, pm_runtime_suspended(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 102 -7f7acd193ba8aa Brian Norris 2025-09-25 103 /* -7f7acd193ba8aa Brian Norris 2025-09-25 104 * Note: these "fail", but they still acquire/release refcounts, so -7f7acd193ba8aa Brian Norris 2025-09-25 105 * keep them balanced. -7f7acd193ba8aa Brian Norris 2025-09-25 106 */ -7f7acd193ba8aa Brian Norris 2025-09-25 107 KUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_get(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 108 pm_runtime_put(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 109 -7f7acd193ba8aa Brian Norris 2025-09-25 110 KUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_get_sync(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 111 KUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_put_sync(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 112 -7f7acd193ba8aa Brian Norris 2025-09-25 113 KUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_get(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 114 pm_runtime_put_autosuspend(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 115 -7f7acd193ba8aa Brian Norris 2025-09-25 116 KUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_resume_and_get(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 117 KUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_idle(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 118 KUNIT_EXPECT_EQ(test, -EACCES, pm_request_idle(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 119 KUNIT_EXPECT_EQ(test, -EACCES, pm_request_resume(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 120 KUNIT_EXPECT_EQ(test, -EACCES, pm_request_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 121 KUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_suspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 122 KUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_resume(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 123 KUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 124 -7f7acd193ba8aa Brian Norris 2025-09-25 125 /* Still disabled */ -7f7acd193ba8aa Brian Norris 2025-09-25 126 KUNIT_EXPECT_TRUE(test, pm_runtime_active(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 127 KUNIT_EXPECT_FALSE(test, pm_runtime_enabled(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 128 } -7f7acd193ba8aa Brian Norris 2025-09-25 129 -7f7acd193ba8aa Brian Norris 2025-09-25 130 static void pm_runtime_error_test(struct kunit *test) -7f7acd193ba8aa Brian Norris 2025-09-25 131 { -7f7acd193ba8aa Brian Norris 2025-09-25 132 struct device *dev = kunit_device_register(test, DEVICE_NAME); -7f7acd193ba8aa Brian Norris 2025-09-25 133 -7f7acd193ba8aa Brian Norris 2025-09-25 134 KUNIT_ASSERT_PTR_NE(test, NULL, dev); -7f7acd193ba8aa Brian Norris 2025-09-25 135 -7f7acd193ba8aa Brian Norris 2025-09-25 136 pm_runtime_enable(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 137 KUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 138 -7f7acd193ba8aa Brian Norris 2025-09-25 139 /* Fake a .runtime_resume() error */ -7f7acd193ba8aa Brian Norris 2025-09-25 140 dev->power.runtime_error = -EIO; -7f7acd193ba8aa Brian Norris 2025-09-25 141 -7f7acd193ba8aa Brian Norris 2025-09-25 142 /* -7f7acd193ba8aa Brian Norris 2025-09-25 143 * Note: these "fail", but they still acquire/release refcounts, so -7f7acd193ba8aa Brian Norris 2025-09-25 144 * keep them balanced. -7f7acd193ba8aa Brian Norris 2025-09-25 145 */ -7f7acd193ba8aa Brian Norris 2025-09-25 146 KUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_get(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 147 pm_runtime_put(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 148 -7f7acd193ba8aa Brian Norris 2025-09-25 149 KUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_get_sync(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 150 KUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_put_sync(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 151 -7f7acd193ba8aa Brian Norris 2025-09-25 152 KUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_get(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 153 pm_runtime_put_autosuspend(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 154 -7f7acd193ba8aa Brian Norris 2025-09-25 155 KUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_get(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 156 KUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_put_sync_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 157 -7f7acd193ba8aa Brian Norris 2025-09-25 158 KUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_resume_and_get(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 159 KUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_idle(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 160 KUNIT_EXPECT_EQ(test, -EINVAL, pm_request_idle(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 161 KUNIT_EXPECT_EQ(test, -EINVAL, pm_request_resume(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 162 KUNIT_EXPECT_EQ(test, -EINVAL, pm_request_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 163 KUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_suspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 164 KUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_resume(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 165 KUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 166 -7f7acd193ba8aa Brian Norris 2025-09-25 167 /* Error is still pending */ -7f7acd193ba8aa Brian Norris 2025-09-25 168 KUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 169 KUNIT_EXPECT_EQ(test, -EIO, dev->power.runtime_error); -7f7acd193ba8aa Brian Norris 2025-09-25 170 /* Clear error */ -7f7acd193ba8aa Brian Norris 2025-09-25 171 KUNIT_EXPECT_EQ(test, 0, pm_runtime_set_suspended(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 172 KUNIT_EXPECT_EQ(test, 0, dev->power.runtime_error); -7f7acd193ba8aa Brian Norris 2025-09-25 173 /* Still suspended */ -7f7acd193ba8aa Brian Norris 2025-09-25 174 KUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 175 -7f7acd193ba8aa Brian Norris 2025-09-25 176 KUNIT_EXPECT_EQ(test, 0, pm_runtime_get(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 177 KUNIT_EXPECT_EQ(test, 1, pm_runtime_barrier(dev)); /* resume was pending */ -7f7acd193ba8aa Brian Norris 2025-09-25 178 pm_runtime_put(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 179 pm_runtime_suspend(dev); /* flush the put(), to suspend */ -7f7acd193ba8aa Brian Norris 2025-09-25 180 KUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 181 -7f7acd193ba8aa Brian Norris 2025-09-25 @182 KUNIT_EXPECT_EQ(test, 0, pm_runtime_get_sync(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 183 KUNIT_EXPECT_EQ(test, 0, pm_runtime_put_sync(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 184 -7f7acd193ba8aa Brian Norris 2025-09-25 185 KUNIT_EXPECT_EQ(test, 0, pm_runtime_get_sync(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 186 pm_runtime_put_autosuspend(dev); -7f7acd193ba8aa Brian Norris 2025-09-25 187 -7f7acd193ba8aa Brian Norris 2025-09-25 188 KUNIT_EXPECT_EQ(test, 0, pm_runtime_resume_and_get(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 189 -7f7acd193ba8aa Brian Norris 2025-09-25 190 /* -7f7acd193ba8aa Brian Norris 2025-09-25 191 * The following should all return -EAGAIN (usage is non-zero) or 1 -7f7acd193ba8aa Brian Norris 2025-09-25 192 * (already resumed). -7f7acd193ba8aa Brian Norris 2025-09-25 193 */ -7f7acd193ba8aa Brian Norris 2025-09-25 194 KUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_idle(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 195 KUNIT_EXPECT_EQ(test, -EAGAIN, pm_request_idle(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 196 KUNIT_EXPECT_EQ(test, 1, pm_request_resume(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 197 KUNIT_EXPECT_EQ(test, -EAGAIN, pm_request_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 198 KUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_suspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 199 KUNIT_EXPECT_EQ(test, 1, pm_runtime_resume(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 200 KUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_autosuspend(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 201 -7f7acd193ba8aa Brian Norris 2025-09-25 202 KUNIT_EXPECT_EQ(test, 0, pm_runtime_put_sync(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 203 -7f7acd193ba8aa Brian Norris 2025-09-25 204 /* Suspended again */ -7f7acd193ba8aa Brian Norris 2025-09-25 205 KUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev)); -7f7acd193ba8aa Brian Norris 2025-09-25 206 } -7f7acd193ba8aa Brian Norris 2025-09-25 207 - --- -0-DAY CI Kernel Test Service -https://github.com/intel/lkp-tests/wiki diff --git a/a/content_digest b/N1/content_digest index ac2cb2d..14ae2db 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,23 +1,17 @@ - "From\0kernel test robot <lkp@intel.com>\0" + "From\0Dan Carpenter <dan.carpenter@linaro.org>\0" "Subject\0drivers/base/power/runtime-test.c:22 pm_runtime_depth_test() warn: pm_runtime_get_sync() also returns 1 on success\0" - "Date\0Fri, 09 Jan 2026 18:36:36 +0800\0" - "To\0oe-kbuild@lists.linux.dev\0" + "Date\0Fri, 9 Jan 2026 14:02:09 +0300\0" + "To\0oe-kbuild@lists.linux.dev" + " Brian Norris <briannorris@chromium.org>\0" "Cc\0lkp@intel.com" - " Dan Carpenter <error27@gmail.com>\0" + oe-kbuild-all@lists.linux.dev + linux-kernel@vger.kernel.org + " Rafael J. Wysocki <rjw@rjwysocki.net>\0" "\00:1\0" "b\0" - "BCC: lkp@intel.com\n" - "CC: oe-kbuild-all@lists.linux.dev\n" - "CC: linux-kernel@vger.kernel.org\n" - "TO: Brian Norris <briannorris@chromium.org>\n" - "CC: \"Rafael J. Wysocki\" <rjw@rjwysocki.net>\n" - "\n" "tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master\n" "head: 623fb9912f6af600cda3b6bd166ac738c1115ef4\n" "commit: 7f7acd193ba8aaa8ed07cfadc335bb17a991fd42 PM: runtime: Add basic kunit tests for API contracts\n" - "date: 3 months ago\n" - ":::::: branch date: 8 hours ago\n" - ":::::: commit date: 3 months ago\n" "config: x86_64-randconfig-161-20260109 (https://download.01.org/0day-ci/archive/20260109/202601091832.YueBSiOb-lkp@intel.com/config)\n" "compiler: gcc-14 (Debian 14.2.0-19) 14.2.0\n" "smatch version: v0.5.0-8985-g2614ff1a\n" @@ -25,7 +19,7 @@ "If you fix the issue in a separate patch/commit (i.e. not just a new version of\n" "the same patch/commit), kindly add following tags\n" "| Reported-by: kernel test robot <lkp@intel.com>\n" - "| Reported-by: Dan Carpenter <error27@gmail.com>\n" + "| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>\n" "| Closes: https://lore.kernel.org/r/202601091832.YueBSiOb-lkp@intel.com/\n" "\n" "New smatch warnings:\n" @@ -38,7 +32,6 @@ "\n" "vim +22 drivers/base/power/runtime-test.c\n" "\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 12 \n" "7f7acd193ba8aa Brian Norris 2025-09-25 13 static void pm_runtime_depth_test(struct kunit *test)\n" "7f7acd193ba8aa Brian Norris 2025-09-25 14 {\n" "7f7acd193ba8aa Brian Norris 2025-09-25 15 \tstruct device *dev = kunit_device_register(test, DEVICE_NAME);\n" @@ -49,194 +42,14 @@ "7f7acd193ba8aa Brian Norris 2025-09-25 20 \n" "7f7acd193ba8aa Brian Norris 2025-09-25 21 \tKUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev));\n" "7f7acd193ba8aa Brian Norris 2025-09-25 @22 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_get_sync(dev));\n" + "\n" + "Use pm_runtime_resume_and_get()?\n" + "\n" "7f7acd193ba8aa Brian Norris 2025-09-25 23 \tKUNIT_EXPECT_TRUE(test, pm_runtime_active(dev));\n" "7f7acd193ba8aa Brian Norris 2025-09-25 24 \tKUNIT_EXPECT_EQ(test, 1, pm_runtime_get_sync(dev)); /* \"already active\" */\n" "7f7acd193ba8aa Brian Norris 2025-09-25 25 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_put_sync(dev));\n" "7f7acd193ba8aa Brian Norris 2025-09-25 26 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_put_sync(dev));\n" "7f7acd193ba8aa Brian Norris 2025-09-25 27 \tKUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 28 }\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 29 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 30 /* Test pm_runtime_put() and friends when already suspended. */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 31 static void pm_runtime_already_suspended_test(struct kunit *test)\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 32 {\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 33 \tstruct device *dev = kunit_device_register(test, DEVICE_NAME);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 34 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 35 \tKUNIT_ASSERT_PTR_NE(test, NULL, dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 36 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 37 \tpm_runtime_enable(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 38 \tKUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 39 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 40 \tpm_runtime_get_noresume(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 41 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_barrier(dev)); /* no wakeup needed */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 42 \tpm_runtime_put(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 43 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 44 \tpm_runtime_get_noresume(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 45 \tKUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_put_sync(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 46 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 47 \tKUNIT_EXPECT_EQ(test, 1, pm_runtime_suspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 48 \tKUNIT_EXPECT_EQ(test, 1, pm_runtime_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 49 \tKUNIT_EXPECT_EQ(test, 1, pm_request_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 50 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 51 \tpm_runtime_get_noresume(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 52 \tKUNIT_EXPECT_EQ(test, 1, pm_runtime_put_sync_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 53 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 54 \tpm_runtime_get_noresume(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 55 \tpm_runtime_put_autosuspend(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 56 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 57 \t/* Grab 2 refcounts */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 58 \tpm_runtime_get_noresume(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 59 \tpm_runtime_get_noresume(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 60 \t/* The first put() sees usage_count 1 */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 61 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_put_sync_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 62 \t/* The second put() sees usage_count 0 but tells us \"already suspended\". */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 63 \tKUNIT_EXPECT_EQ(test, 1, pm_runtime_put_sync_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 64 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 65 \t/* Should have remained suspended the whole time. */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 66 \tKUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 67 }\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 68 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 69 static void pm_runtime_idle_test(struct kunit *test)\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 70 {\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 71 \tstruct device *dev = kunit_device_register(test, DEVICE_NAME);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 72 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 73 \tKUNIT_ASSERT_PTR_NE(test, NULL, dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 74 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 75 \tpm_runtime_enable(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 76 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 77 \tKUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 @78 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_get_sync(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 79 \tKUNIT_EXPECT_TRUE(test, pm_runtime_active(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 80 \tKUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_idle(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 81 \tKUNIT_EXPECT_TRUE(test, pm_runtime_active(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 82 \tpm_runtime_put_noidle(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 83 \tKUNIT_EXPECT_TRUE(test, pm_runtime_active(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 84 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_idle(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 85 \tKUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 86 \tKUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_idle(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 87 \tKUNIT_EXPECT_EQ(test, -EAGAIN, pm_request_idle(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 88 }\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 89 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 90 static void pm_runtime_disabled_test(struct kunit *test)\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 91 {\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 92 \tstruct device *dev = kunit_device_register(test, DEVICE_NAME);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 93 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 94 \tKUNIT_ASSERT_PTR_NE(test, NULL, dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 95 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 96 \t/* Never called pm_runtime_enable() */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 97 \tKUNIT_EXPECT_FALSE(test, pm_runtime_enabled(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 98 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 99 \t/* \"disabled\" is treated as \"active\" */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 100 \tKUNIT_EXPECT_TRUE(test, pm_runtime_active(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 101 \tKUNIT_EXPECT_FALSE(test, pm_runtime_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 102 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 103 \t/*\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 104 \t * Note: these \"fail\", but they still acquire/release refcounts, so\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 105 \t * keep them balanced.\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 106 \t */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 107 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_get(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 108 \tpm_runtime_put(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 109 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 110 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_get_sync(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 111 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_put_sync(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 112 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 113 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_get(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 114 \tpm_runtime_put_autosuspend(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 115 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 116 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_resume_and_get(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 117 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_idle(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 118 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_request_idle(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 119 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_request_resume(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 120 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_request_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 121 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_suspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 122 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_resume(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 123 \tKUNIT_EXPECT_EQ(test, -EACCES, pm_runtime_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 124 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 125 \t/* Still disabled */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 126 \tKUNIT_EXPECT_TRUE(test, pm_runtime_active(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 127 \tKUNIT_EXPECT_FALSE(test, pm_runtime_enabled(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 128 }\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 129 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 130 static void pm_runtime_error_test(struct kunit *test)\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 131 {\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 132 \tstruct device *dev = kunit_device_register(test, DEVICE_NAME);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 133 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 134 \tKUNIT_ASSERT_PTR_NE(test, NULL, dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 135 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 136 \tpm_runtime_enable(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 137 \tKUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 138 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 139 \t/* Fake a .runtime_resume() error */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 140 \tdev->power.runtime_error = -EIO;\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 141 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 142 \t/*\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 143 \t * Note: these \"fail\", but they still acquire/release refcounts, so\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 144 \t * keep them balanced.\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 145 \t */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 146 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_get(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 147 \tpm_runtime_put(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 148 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 149 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_get_sync(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 150 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_put_sync(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 151 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 152 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_get(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 153 \tpm_runtime_put_autosuspend(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 154 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 155 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_get(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 156 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_put_sync_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 157 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 158 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_resume_and_get(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 159 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_idle(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 160 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_request_idle(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 161 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_request_resume(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 162 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_request_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 163 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_suspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 164 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_resume(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 165 \tKUNIT_EXPECT_EQ(test, -EINVAL, pm_runtime_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 166 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 167 \t/* Error is still pending */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 168 \tKUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 169 \tKUNIT_EXPECT_EQ(test, -EIO, dev->power.runtime_error);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 170 \t/* Clear error */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 171 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_set_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 172 \tKUNIT_EXPECT_EQ(test, 0, dev->power.runtime_error);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 173 \t/* Still suspended */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 174 \tKUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 175 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 176 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_get(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 177 \tKUNIT_EXPECT_EQ(test, 1, pm_runtime_barrier(dev)); /* resume was pending */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 178 \tpm_runtime_put(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 179 \tpm_runtime_suspend(dev); /* flush the put(), to suspend */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 180 \tKUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 181 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 @182 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_get_sync(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 183 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_put_sync(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 184 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 185 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_get_sync(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 186 \tpm_runtime_put_autosuspend(dev);\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 187 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 188 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_resume_and_get(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 189 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 190 \t/*\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 191 \t * The following should all return -EAGAIN (usage is non-zero) or 1\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 192 \t * (already resumed).\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 193 \t */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 194 \tKUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_idle(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 195 \tKUNIT_EXPECT_EQ(test, -EAGAIN, pm_request_idle(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 196 \tKUNIT_EXPECT_EQ(test, 1, pm_request_resume(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 197 \tKUNIT_EXPECT_EQ(test, -EAGAIN, pm_request_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 198 \tKUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_suspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 199 \tKUNIT_EXPECT_EQ(test, 1, pm_runtime_resume(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 200 \tKUNIT_EXPECT_EQ(test, -EAGAIN, pm_runtime_autosuspend(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 201 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 202 \tKUNIT_EXPECT_EQ(test, 0, pm_runtime_put_sync(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 203 \n" - "7f7acd193ba8aa Brian Norris 2025-09-25 204 \t/* Suspended again */\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 205 \tKUNIT_EXPECT_TRUE(test, pm_runtime_suspended(dev));\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 206 }\n" - "7f7acd193ba8aa Brian Norris 2025-09-25 207 \n" - "\n" - "-- \n" - "0-DAY CI Kernel Test Service\n" - https://github.com/intel/lkp-tests/wiki + 7f7acd193ba8aa Brian Norris 2025-09-25 28 } -e26160d270c3e618cc66fe849597dbfd1c3da534214361bcf8df991a8da62d12 +3077b9edbd019349bcecb92f8dc8255c180540bdc82ff178d72f99f8ba519429
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox