@@ -2794,49 +2794,49 @@ static struct kunit_suite clk_register_clk_parent_data_of_suite = {
27942794};
27952795
27962796/**
2797- * struct clk_register_clk_parent_data_device_ctx - Context for clk_parent_data device tests
2798- * @dev: device of clk under test
2799- * @hw: clk_hw for clk under test
2797+ * struct platform_driver_dev_ctx - Context to stash platform device
2798+ * @dev: device under test
28002799 * @pdrv: driver to attach to find @dev
28012800 */
2802- struct clk_register_clk_parent_data_device_ctx {
2801+ struct platform_driver_dev_ctx {
28032802 struct device * dev ;
2804- struct clk_hw hw ;
28052803 struct platform_driver pdrv ;
28062804};
28072805
2808- static inline struct clk_register_clk_parent_data_device_ctx *
2809- clk_register_clk_parent_data_driver_to_test_context (struct platform_device * pdev )
2806+ static inline struct platform_driver_dev_ctx *
2807+ pdev_to_platform_driver_dev_ctx (struct platform_device * pdev )
28102808{
28112809 return container_of (to_platform_driver (pdev -> dev .driver ),
2812- struct clk_register_clk_parent_data_device_ctx , pdrv );
2810+ struct platform_driver_dev_ctx , pdrv );
28132811}
28142812
2815- static int clk_register_clk_parent_data_device_probe (struct platform_device * pdev )
2813+ static int kunit_platform_driver_dev_probe (struct platform_device * pdev )
28162814{
2817- struct clk_register_clk_parent_data_device_ctx * ctx ;
2815+ struct platform_driver_dev_ctx * ctx ;
28182816
2819- ctx = clk_register_clk_parent_data_driver_to_test_context (pdev );
2817+ ctx = pdev_to_platform_driver_dev_ctx (pdev );
28202818 ctx -> dev = & pdev -> dev ;
28212819
28222820 return 0 ;
28232821}
28242822
2825- static void clk_register_clk_parent_data_device_driver (struct kunit * test )
2823+ static struct device *
2824+ kunit_of_platform_driver_dev (struct kunit * test , const struct of_device_id * match_table )
28262825{
2827- struct clk_register_clk_parent_data_device_ctx * ctx = test -> priv ;
2828- static const struct of_device_id match_table [] = {
2829- { .compatible = "test,clk-parent-data" },
2830- { }
2831- };
2826+ struct platform_driver_dev_ctx * ctx ;
2827+
2828+ ctx = kunit_kzalloc (test , sizeof (* ctx ), GFP_KERNEL );
2829+ KUNIT_ASSERT_NOT_ERR_OR_NULL (test , ctx );
28322830
2833- ctx -> pdrv .probe = clk_register_clk_parent_data_device_probe ;
2831+ ctx -> pdrv .probe = kunit_platform_driver_dev_probe ;
28342832 ctx -> pdrv .driver .of_match_table = match_table ;
28352833 ctx -> pdrv .driver .name = __func__ ;
28362834 ctx -> pdrv .driver .owner = THIS_MODULE ;
28372835
28382836 KUNIT_ASSERT_EQ (test , 0 , kunit_platform_driver_register (test , & ctx -> pdrv ));
28392837 KUNIT_ASSERT_NOT_ERR_OR_NULL (test , ctx -> dev );
2838+
2839+ return ctx -> dev ;
28402840}
28412841
28422842static const struct clk_register_clk_parent_data_test_case
@@ -2909,30 +2909,34 @@ KUNIT_ARRAY_PARAM(clk_register_clk_parent_data_device_test,
29092909 */
29102910static void clk_register_clk_parent_data_device_test (struct kunit * test )
29112911{
2912- struct clk_register_clk_parent_data_device_ctx * ctx ;
2912+ struct device * dev ;
2913+ struct clk_hw * hw ;
29132914 const struct clk_register_clk_parent_data_test_case * test_param ;
29142915 struct clk_hw * parent_hw ;
29152916 struct clk_init_data init = { };
29162917 struct clk * expected_parent , * actual_parent ;
2918+ static const struct of_device_id match_table [] = {
2919+ { .compatible = "test,clk-parent-data" },
2920+ { }
2921+ };
29172922
2918- ctx = kunit_kzalloc (test , sizeof (* ctx ), GFP_KERNEL );
2919- KUNIT_ASSERT_NOT_ERR_OR_NULL (test , ctx );
2920- test -> priv = ctx ;
2921-
2922- clk_register_clk_parent_data_device_driver (test );
2923+ dev = kunit_of_platform_driver_dev (test , match_table );
29232924
2924- expected_parent = clk_get_kunit (test , ctx -> dev , "50" );
2925+ expected_parent = clk_get_kunit (test , dev , "50" );
29252926 KUNIT_ASSERT_NOT_ERR_OR_NULL (test , expected_parent );
29262927
2928+ hw = kunit_kzalloc (test , sizeof (* hw ), GFP_KERNEL );
2929+ KUNIT_ASSERT_NOT_ERR_OR_NULL (test , hw );
2930+
29272931 test_param = test -> param_value ;
29282932 init .parent_data = & test_param -> pdata ;
29292933 init .num_parents = 1 ;
29302934 init .name = "parent_data_device_test_clk" ;
29312935 init .ops = & clk_dummy_single_parent_ops ;
2932- ctx -> hw . init = & init ;
2933- KUNIT_ASSERT_EQ (test , 0 , clk_hw_register_kunit (test , ctx -> dev , & ctx -> hw ));
2936+ hw -> init = & init ;
2937+ KUNIT_ASSERT_EQ (test , 0 , clk_hw_register_kunit (test , dev , hw ));
29342938
2935- parent_hw = clk_hw_get_parent (& ctx -> hw );
2939+ parent_hw = clk_hw_get_parent (hw );
29362940 KUNIT_ASSERT_NOT_ERR_OR_NULL (test , parent_hw );
29372941
29382942 actual_parent = clk_hw_get_clk_kunit (test , parent_hw , __func__ );
@@ -3016,18 +3020,19 @@ KUNIT_ARRAY_PARAM(clk_register_clk_parent_data_device_hw_test,
30163020 */
30173021static void clk_register_clk_parent_data_device_hw_test (struct kunit * test )
30183022{
3019- struct clk_register_clk_parent_data_device_ctx * ctx ;
3023+ struct device * dev ;
3024+ struct clk_hw * hw ;
30203025 const struct clk_register_clk_parent_data_test_case * test_param ;
30213026 struct clk_dummy_context * parent ;
30223027 struct clk_hw * parent_hw ;
30233028 struct clk_parent_data pdata = { };
30243029 struct clk_init_data init = { };
3030+ static const struct of_device_id match_table [] = {
3031+ { .compatible = "test,clk-parent-data" },
3032+ { }
3033+ };
30253034
3026- ctx = kunit_kzalloc (test , sizeof (* ctx ), GFP_KERNEL );
3027- KUNIT_ASSERT_NOT_ERR_OR_NULL (test , ctx );
3028- test -> priv = ctx ;
3029-
3030- clk_register_clk_parent_data_device_driver (test );
3035+ dev = kunit_of_platform_driver_dev (test , match_table );
30313036
30323037 parent = kunit_kzalloc (test , sizeof (* parent ), GFP_KERNEL );
30333038 KUNIT_ASSERT_NOT_ERR_OR_NULL (test , parent );
@@ -3036,7 +3041,10 @@ static void clk_register_clk_parent_data_device_hw_test(struct kunit *test)
30363041 parent_hw -> init = CLK_HW_INIT_NO_PARENT ("parent-clk" ,
30373042 & clk_dummy_rate_ops , 0 );
30383043
3039- KUNIT_ASSERT_EQ (test , 0 , clk_hw_register_kunit (test , ctx -> dev , parent_hw ));
3044+ KUNIT_ASSERT_EQ (test , 0 , clk_hw_register_kunit (test , dev , parent_hw ));
3045+
3046+ hw = kunit_kzalloc (test , sizeof (* hw ), GFP_KERNEL );
3047+ KUNIT_ASSERT_NOT_ERR_OR_NULL (test , hw );
30403048
30413049 test_param = test -> param_value ;
30423050 memcpy (& pdata , & test_param -> pdata , sizeof (pdata ));
@@ -3045,10 +3053,10 @@ static void clk_register_clk_parent_data_device_hw_test(struct kunit *test)
30453053 init .num_parents = 1 ;
30463054 init .ops = & clk_dummy_single_parent_ops ;
30473055 init .name = "parent_data_device_hw_test_clk" ;
3048- ctx -> hw . init = & init ;
3049- KUNIT_ASSERT_EQ (test , 0 , clk_hw_register_kunit (test , ctx -> dev , & ctx -> hw ));
3056+ hw -> init = & init ;
3057+ KUNIT_ASSERT_EQ (test , 0 , clk_hw_register_kunit (test , dev , hw ));
30503058
3051- KUNIT_EXPECT_PTR_EQ (test , parent_hw , clk_hw_get_parent (& ctx -> hw ));
3059+ KUNIT_EXPECT_PTR_EQ (test , parent_hw , clk_hw_get_parent (hw ));
30523060}
30533061
30543062static struct kunit_case clk_register_clk_parent_data_device_test_cases [] = {
0 commit comments