]> git.baikalelectronics.ru Git - kernel.git/commit
drm/vkms: Use devm_drm_dev_alloc
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 9 Sep 2020 09:18:33 +0000 (11:18 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 11 Sep 2020 08:47:19 +0000 (10:47 +0200)
commita212c8d574777d04d072d65bd97974b6fa8a59c6
tree0ee32585058d5ac73f38f9aa3f2db8a2e17a0bfe
parent3a61b2b9142c60de4b37f60d64f56b0d8b615f48
drm/vkms: Use devm_drm_dev_alloc

This means we also need to slightly restructure the exit code, so that
final cleanup of the drm_device is triggered by unregistering the
platform device. Note that devres is both clean up when the driver is
unbound (not the case for vkms, we don't bind), and also when unregistering
the device (very much the case for vkms). Therefore we can rely on devres
even though vkms isn't a proper platform device driver.

This also somewhat untangles the load code, since the drm and platform device
setup are no longer interleaved, but two distinct steps.

v2: use devres_open/release_group so we can use devm without real
hacks in the driver core or having to create an entire fake bus for
testing drivers. Might want to extract this into helpers eventually,
maybe as a mock_drm_dev_alloc or test_drm_dev_alloc.

v3: Only deref vkms_device after checking it (Melissa)

Reviewed-by: Melissa Wen <melissa.srw@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20200909091833.440548-1-daniel.vetter@ffwll.ch
drivers/gpu/drm/vkms/vkms_drv.c