All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: [linux-next:master 7416/8910] drivers/power/sequencing/pwrseq-kunit.c:248 pwrseq_circular_deps() warn: passing zero to 'PTR_ERR'
Date: Wed, 23 Sep 2026 10:22:38 +0200	[thread overview]
Message-ID: <202609231008.4BkhtDFU-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   a8c591ed6b672915e0be57843f943a2a723aff40
commit: c42e50314a7629ada42a605666b18e22867a6b44 [7416/8910] power: sequencing: add kunit test cases
:::::: branch date: 19 hours ago
:::::: commit date: 2 days ago
config: i386-randconfig-2200-20260923 (https://download.01.org/0day-ci/archive/20260923/202609231008.4BkhtDFU-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.4.0-5) 12.4.0
smatch: v0.5.0-9187-g5189e3fb

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>
| Closes: https://lore.kernel.org/r/202609231008.4BkhtDFU-lkp@intel.com/

New smatch warnings:
drivers/power/sequencing/pwrseq-kunit.c:248 pwrseq_circular_deps() warn: passing zero to 'PTR_ERR'
drivers/power/sequencing/pwrseq-kunit.c:309 pwrseq_circular_deps_chain() warn: passing zero to 'PTR_ERR'
drivers/power/sequencing/pwrseq-kunit.c:382 pwrseq_register_invalid_args() warn: passing zero to 'PTR_ERR'
drivers/power/sequencing/pwrseq-kunit.c:427 pwrseq_register_target_without_unit() warn: passing zero to 'PTR_ERR'
drivers/power/sequencing/pwrseq-kunit.c:968 pwrseq_get_target_not_found() warn: passing zero to 'PTR_ERR'

Old smatch warnings:
drivers/power/sequencing/pwrseq-kunit.c:388 pwrseq_register_invalid_args() warn: passing zero to 'PTR_ERR'
drivers/power/sequencing/pwrseq-kunit.c:394 pwrseq_register_invalid_args() warn: passing zero to 'PTR_ERR'
drivers/power/sequencing/pwrseq-kunit.c:399 pwrseq_register_invalid_args() warn: passing zero to 'PTR_ERR'

vim +/PTR_ERR +248 drivers/power/sequencing/pwrseq-kunit.c

c42e50314a7629a Bartosz Golaszewski 2026-09-09  200  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  201  /*
c42e50314a7629a Bartosz Golaszewski 2026-09-09  202   * Test that registering a power sequencer whose unit dependency graph
c42e50314a7629a Bartosz Golaszewski 2026-09-09  203   * contains a two-node cycle (A -> B -> A) is rejected with -EINVAL.
c42e50314a7629a Bartosz Golaszewski 2026-09-09  204   */
c42e50314a7629a Bartosz Golaszewski 2026-09-09  205  static void pwrseq_circular_deps(struct kunit *test)
c42e50314a7629a Bartosz Golaszewski 2026-09-09  206  {
c42e50314a7629a Bartosz Golaszewski 2026-09-09  207  	const struct pwrseq_unit_data *unit_a_deps[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  208  	const struct pwrseq_unit_data *unit_b_deps[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  209  	const struct pwrseq_target_data *targets[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  210  	struct platform_device *pdev = test->priv;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  211  	struct pwrseq_unit_data unit_a, unit_b;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  212  	struct pwrseq_target_data target;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  213  	struct pwrseq_device *pwrseq;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  214  	struct pwrseq_config config;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  215  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  216  	unit_a = (struct pwrseq_unit_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  217  		.name = "unit-a",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  218  		.deps = unit_a_deps,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  219  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  220  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  221  	unit_b = (struct pwrseq_unit_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  222  		.name = "unit-b",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  223  		.deps = unit_b_deps,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  224  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  225  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  226  	unit_a_deps[0] = &unit_b;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  227  	unit_b_deps[0] = &unit_a;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  228  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  229  	target = (struct pwrseq_target_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  230  		.name = "test-target",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  231  		.unit = &unit_a,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  232  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  233  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  234  	targets[0] = &target;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  235  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  236  	config = (struct pwrseq_config){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  237  		.parent = &pdev->dev,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  238  		.match = pwrseq_test_no_match,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  239  		.targets = targets,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  240  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  241  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  242  	kunit_warning_suppress(test) {
c42e50314a7629a Bartosz Golaszewski 2026-09-09  243  		pwrseq = kunit_pwrseq_device_register(test, &config);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  244  		KUNIT_EXPECT_SUPPRESSED_WARNING_COUNT(test, 1);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  245  	}
c42e50314a7629a Bartosz Golaszewski 2026-09-09  246  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  247  	KUNIT_EXPECT_TRUE(test, IS_ERR(pwrseq));
c42e50314a7629a Bartosz Golaszewski 2026-09-09 @248  	KUNIT_EXPECT_EQ(test, PTR_ERR(pwrseq), -EINVAL);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  249  }
c42e50314a7629a Bartosz Golaszewski 2026-09-09  250  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  251  /*
c42e50314a7629a Bartosz Golaszewski 2026-09-09  252   * Test that a longer chain cycle (A -> B -> C -> D -> A) is also rejected
c42e50314a7629a Bartosz Golaszewski 2026-09-09  253   * with -EINVAL.
c42e50314a7629a Bartosz Golaszewski 2026-09-09  254   */
c42e50314a7629a Bartosz Golaszewski 2026-09-09  255  static void pwrseq_circular_deps_chain(struct kunit *test)
c42e50314a7629a Bartosz Golaszewski 2026-09-09  256  {
c42e50314a7629a Bartosz Golaszewski 2026-09-09  257  	struct pwrseq_unit_data unit_a, unit_b, unit_c, unit_d;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  258  	const struct pwrseq_unit_data *unit_a_deps[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  259  	const struct pwrseq_unit_data *unit_b_deps[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  260  	const struct pwrseq_unit_data *unit_c_deps[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  261  	const struct pwrseq_unit_data *unit_d_deps[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  262  	const struct pwrseq_target_data *targets[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  263  	struct platform_device *pdev = test->priv;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  264  	struct pwrseq_target_data target;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  265  	struct pwrseq_device *pwrseq;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  266  	struct pwrseq_config config;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  267  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  268  	unit_a = (struct pwrseq_unit_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  269  		.name = "unit-a",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  270  		.deps = unit_a_deps,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  271  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  272  	unit_b = (struct pwrseq_unit_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  273  		.name = "unit-b",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  274  		.deps = unit_b_deps,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  275  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  276  	unit_c = (struct pwrseq_unit_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  277  		.name = "unit-c",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  278  		.deps = unit_c_deps,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  279  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  280  	unit_d = (struct pwrseq_unit_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  281  		.name = "unit-d",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  282  		.deps = unit_d_deps,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  283  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  284  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  285  	unit_a_deps[0] = &unit_b;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  286  	unit_b_deps[0] = &unit_c;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  287  	unit_c_deps[0] = &unit_d;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  288  	unit_d_deps[0] = &unit_a;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  289  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  290  	target = (struct pwrseq_target_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  291  		.name = "test-target",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  292  		.unit = &unit_a,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  293  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  294  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  295  	targets[0] = &target;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  296  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  297  	config = (struct pwrseq_config){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  298  		.parent = &pdev->dev,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  299  		.match = pwrseq_test_no_match,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  300  		.targets = targets,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  301  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  302  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  303  	kunit_warning_suppress(test) {
c42e50314a7629a Bartosz Golaszewski 2026-09-09  304  		pwrseq = kunit_pwrseq_device_register(test, &config);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  305  		KUNIT_EXPECT_SUPPRESSED_WARNING_COUNT(test, 1);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  306  	}
c42e50314a7629a Bartosz Golaszewski 2026-09-09  307  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  308  	KUNIT_EXPECT_TRUE(test, IS_ERR(pwrseq));
c42e50314a7629a Bartosz Golaszewski 2026-09-09 @309  	KUNIT_EXPECT_EQ(test, PTR_ERR(pwrseq), -EINVAL);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  310  }
c42e50314a7629a Bartosz Golaszewski 2026-09-09  311  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  312  /*
c42e50314a7629a Bartosz Golaszewski 2026-09-09  313   * Test that a valid acyclic dependency graph (A -> B) registers successfully.
c42e50314a7629a Bartosz Golaszewski 2026-09-09  314   */
c42e50314a7629a Bartosz Golaszewski 2026-09-09  315  static void pwrseq_register_valid(struct kunit *test)
c42e50314a7629a Bartosz Golaszewski 2026-09-09  316  {
c42e50314a7629a Bartosz Golaszewski 2026-09-09  317  	const struct pwrseq_unit_data *unit_a_deps[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  318  	const struct pwrseq_target_data *targets[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  319  	struct platform_device *pdev = test->priv;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  320  	struct pwrseq_unit_data unit_a, unit_b;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  321  	struct pwrseq_target_data target;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  322  	struct pwrseq_device *pwrseq;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  323  	struct pwrseq_config config;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  324  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  325  	unit_b = (struct pwrseq_unit_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  326  		.name = "unit-b",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  327  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  328  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  329  	unit_a_deps[0] = &unit_b;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  330  	unit_a = (struct pwrseq_unit_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  331  		.name = "unit-a",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  332  		.deps = unit_a_deps,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  333  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  334  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  335  	target = (struct pwrseq_target_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  336  		.name = "test-target",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  337  		.unit = &unit_a,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  338  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  339  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  340  	targets[0] = &target;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  341  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  342  	config = (struct pwrseq_config){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  343  		.parent = &pdev->dev,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  344  		.match = pwrseq_test_no_match,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  345  		.targets = targets,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  346  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  347  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  348  	pwrseq = kunit_pwrseq_device_register(test, &config);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  349  	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pwrseq);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  350  }
c42e50314a7629a Bartosz Golaszewski 2026-09-09  351  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  352  /*
c42e50314a7629a Bartosz Golaszewski 2026-09-09  353   * Test that registration is rejected with -EINVAL when .parent, .match or
c42e50314a7629a Bartosz Golaszewski 2026-09-09  354   * .targets is missing, or when .targets is a non-NULL but empty array.
c42e50314a7629a Bartosz Golaszewski 2026-09-09  355   */
c42e50314a7629a Bartosz Golaszewski 2026-09-09  356  static void pwrseq_register_invalid_args(struct kunit *test)
c42e50314a7629a Bartosz Golaszewski 2026-09-09  357  {
c42e50314a7629a Bartosz Golaszewski 2026-09-09  358  	const struct pwrseq_target_data *empty_targets[1] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  359  	const struct pwrseq_target_data *targets[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  360  	struct platform_device *pdev = test->priv;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  361  	struct pwrseq_target_data target;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  362  	struct pwrseq_unit_data unit;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  363  	struct pwrseq_device *pwrseq;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  364  	struct pwrseq_config config;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  365  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  366  	unit = (struct pwrseq_unit_data){ .name = "unit-a" };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  367  	target = (struct pwrseq_target_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  368  		.name = "test-target",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  369  		.unit = &unit,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  370  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  371  	targets[0] = &target;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  372  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  373  	config = (struct pwrseq_config){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  374  		.parent = &pdev->dev,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  375  		.match = pwrseq_test_no_match,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  376  		.targets = targets,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  377  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  378  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  379  	config.parent = NULL;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  380  	pwrseq = kunit_pwrseq_device_register(test, &config);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  381  	KUNIT_EXPECT_TRUE(test, IS_ERR(pwrseq));
c42e50314a7629a Bartosz Golaszewski 2026-09-09 @382  	KUNIT_EXPECT_EQ(test, PTR_ERR(pwrseq), -EINVAL);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  383  	config.parent = &pdev->dev;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  384  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  385  	config.match = NULL;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  386  	pwrseq = kunit_pwrseq_device_register(test, &config);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  387  	KUNIT_EXPECT_TRUE(test, IS_ERR(pwrseq));
c42e50314a7629a Bartosz Golaszewski 2026-09-09  388  	KUNIT_EXPECT_EQ(test, PTR_ERR(pwrseq), -EINVAL);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  389  	config.match = pwrseq_test_no_match;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  390  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  391  	config.targets = NULL;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  392  	pwrseq = kunit_pwrseq_device_register(test, &config);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  393  	KUNIT_EXPECT_TRUE(test, IS_ERR(pwrseq));
c42e50314a7629a Bartosz Golaszewski 2026-09-09  394  	KUNIT_EXPECT_EQ(test, PTR_ERR(pwrseq), -EINVAL);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  395  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  396  	config.targets = empty_targets;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  397  	pwrseq = kunit_pwrseq_device_register(test, &config);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  398  	KUNIT_EXPECT_TRUE(test, IS_ERR(pwrseq));
c42e50314a7629a Bartosz Golaszewski 2026-09-09  399  	KUNIT_EXPECT_EQ(test, PTR_ERR(pwrseq), -EINVAL);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  400  }
c42e50314a7629a Bartosz Golaszewski 2026-09-09  401  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  402  /*
c42e50314a7629a Bartosz Golaszewski 2026-09-09  403   * Test that a target without a unit is rejected with -EINVAL.
c42e50314a7629a Bartosz Golaszewski 2026-09-09  404   */
c42e50314a7629a Bartosz Golaszewski 2026-09-09  405  static void pwrseq_register_target_without_unit(struct kunit *test)
c42e50314a7629a Bartosz Golaszewski 2026-09-09  406  {
c42e50314a7629a Bartosz Golaszewski 2026-09-09  407  	const struct pwrseq_target_data *targets[2] = { };
c42e50314a7629a Bartosz Golaszewski 2026-09-09  408  	struct platform_device *pdev = test->priv;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  409  	struct pwrseq_target_data target;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  410  	struct pwrseq_device *pwrseq;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  411  	struct pwrseq_config config;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  412  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  413  	target = (struct pwrseq_target_data){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  414  		.name = "test-target",
c42e50314a7629a Bartosz Golaszewski 2026-09-09  415  		.unit = NULL,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  416  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  417  	targets[0] = &target;
c42e50314a7629a Bartosz Golaszewski 2026-09-09  418  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  419  	config = (struct pwrseq_config){
c42e50314a7629a Bartosz Golaszewski 2026-09-09  420  		.parent = &pdev->dev,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  421  		.match = pwrseq_test_no_match,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  422  		.targets = targets,
c42e50314a7629a Bartosz Golaszewski 2026-09-09  423  	};
c42e50314a7629a Bartosz Golaszewski 2026-09-09  424  
c42e50314a7629a Bartosz Golaszewski 2026-09-09  425  	pwrseq = kunit_pwrseq_device_register(test, &config);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  426  	KUNIT_EXPECT_TRUE(test, IS_ERR(pwrseq));
c42e50314a7629a Bartosz Golaszewski 2026-09-09 @427  	KUNIT_EXPECT_EQ(test, PTR_ERR(pwrseq), -EINVAL);
c42e50314a7629a Bartosz Golaszewski 2026-09-09  428  }
c42e50314a7629a Bartosz Golaszewski 2026-09-09  429  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-09-23  8:23 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202609231008.4BkhtDFU-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=error27@gmail.com \
    --cc=oe-kbuild@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.