forked from mirrors/linux
		
	drm/tests: Switch to kunit devices
Kunit recently gained helpers to create test managed devices. This means that we no longer have to roll our own helpers in KMS and we can reuse them. Signed-off-by: Maxime Ripard <mripard@kernel.org> Tested-by: David Gow <davidgow@google.com> Signed-off-by: David Gow <davidgow@google.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
		
							parent
							
								
									e57cdff0dd
								
							
						
					
					
						commit
						d393acce7b
					
				
					 1 changed files with 3 additions and 63 deletions
				
			
		|  | @ -5,6 +5,7 @@ | ||||||
| #include <drm/drm_kunit_helpers.h> | #include <drm/drm_kunit_helpers.h> | ||||||
| #include <drm/drm_managed.h> | #include <drm/drm_managed.h> | ||||||
| 
 | 
 | ||||||
|  | #include <kunit/device.h> | ||||||
| #include <kunit/resource.h> | #include <kunit/resource.h> | ||||||
| 
 | 
 | ||||||
| #include <linux/device.h> | #include <linux/device.h> | ||||||
|  | @ -15,28 +16,6 @@ | ||||||
| static const struct drm_mode_config_funcs drm_mode_config_funcs = { | static const struct drm_mode_config_funcs drm_mode_config_funcs = { | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static int fake_probe(struct platform_device *pdev) |  | ||||||
| { |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static struct platform_driver fake_platform_driver = { |  | ||||||
| 	.probe	= fake_probe, |  | ||||||
| 	.driver = { |  | ||||||
| 		.name	= KUNIT_DEVICE_NAME, |  | ||||||
| 	}, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| KUNIT_DEFINE_ACTION_WRAPPER(kunit_action_platform_driver_unregister, |  | ||||||
| 			    platform_driver_unregister, |  | ||||||
| 			    struct platform_driver *); |  | ||||||
| KUNIT_DEFINE_ACTION_WRAPPER(kunit_action_platform_device_put, |  | ||||||
| 			    platform_device_put, |  | ||||||
| 			    struct platform_device *); |  | ||||||
| KUNIT_DEFINE_ACTION_WRAPPER(kunit_action_platform_device_del, |  | ||||||
| 			    platform_device_del, |  | ||||||
| 			    struct platform_device *); |  | ||||||
| 
 |  | ||||||
| /**
 | /**
 | ||||||
|  * drm_kunit_helper_alloc_device - Allocate a mock device for a KUnit test |  * drm_kunit_helper_alloc_device - Allocate a mock device for a KUnit test | ||||||
|  * @test: The test context object |  * @test: The test context object | ||||||
|  | @ -54,34 +33,7 @@ KUNIT_DEFINE_ACTION_WRAPPER(kunit_action_platform_device_del, | ||||||
|  */ |  */ | ||||||
| struct device *drm_kunit_helper_alloc_device(struct kunit *test) | struct device *drm_kunit_helper_alloc_device(struct kunit *test) | ||||||
| { | { | ||||||
| 	struct platform_device *pdev; | 	return kunit_device_register(test, KUNIT_DEVICE_NAME); | ||||||
| 	int ret; |  | ||||||
| 
 |  | ||||||
| 	ret = platform_driver_register(&fake_platform_driver); |  | ||||||
| 	KUNIT_ASSERT_EQ(test, ret, 0); |  | ||||||
| 
 |  | ||||||
| 	ret = kunit_add_action_or_reset(test, |  | ||||||
| 					kunit_action_platform_driver_unregister, |  | ||||||
| 					&fake_platform_driver); |  | ||||||
| 	KUNIT_ASSERT_EQ(test, ret, 0); |  | ||||||
| 
 |  | ||||||
| 	pdev = platform_device_alloc(KUNIT_DEVICE_NAME, PLATFORM_DEVID_NONE); |  | ||||||
| 	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pdev); |  | ||||||
| 
 |  | ||||||
| 	ret = kunit_add_action_or_reset(test, |  | ||||||
| 					kunit_action_platform_device_put, |  | ||||||
| 					pdev); |  | ||||||
| 	KUNIT_ASSERT_EQ(test, ret, 0); |  | ||||||
| 
 |  | ||||||
| 	ret = platform_device_add(pdev); |  | ||||||
| 	KUNIT_ASSERT_EQ(test, ret, 0); |  | ||||||
| 
 |  | ||||||
| 	ret = kunit_add_action_or_reset(test, |  | ||||||
| 					kunit_action_platform_device_del, |  | ||||||
| 					pdev); |  | ||||||
| 	KUNIT_ASSERT_EQ(test, ret, 0); |  | ||||||
| 
 |  | ||||||
| 	return &pdev->dev; |  | ||||||
| } | } | ||||||
| EXPORT_SYMBOL_GPL(drm_kunit_helper_alloc_device); | EXPORT_SYMBOL_GPL(drm_kunit_helper_alloc_device); | ||||||
| 
 | 
 | ||||||
|  | @ -94,19 +46,7 @@ EXPORT_SYMBOL_GPL(drm_kunit_helper_alloc_device); | ||||||
|  */ |  */ | ||||||
| void drm_kunit_helper_free_device(struct kunit *test, struct device *dev) | void drm_kunit_helper_free_device(struct kunit *test, struct device *dev) | ||||||
| { | { | ||||||
| 	struct platform_device *pdev = to_platform_device(dev); | 	kunit_device_unregister(test, dev); | ||||||
| 
 |  | ||||||
| 	kunit_release_action(test, |  | ||||||
| 			     kunit_action_platform_device_del, |  | ||||||
| 			     pdev); |  | ||||||
| 
 |  | ||||||
| 	kunit_release_action(test, |  | ||||||
| 			     kunit_action_platform_device_put, |  | ||||||
| 			     pdev); |  | ||||||
| 
 |  | ||||||
| 	kunit_release_action(test, |  | ||||||
| 			     kunit_action_platform_driver_unregister, |  | ||||||
| 			     &fake_platform_driver); |  | ||||||
| } | } | ||||||
| EXPORT_SYMBOL_GPL(drm_kunit_helper_free_device); | EXPORT_SYMBOL_GPL(drm_kunit_helper_free_device); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Maxime Ripard
						Maxime Ripard