[PATCH] drm/client: Convert to VISIBLE_IF_KUNIT

Maxime Ripard maxime at cerno.tech
Thu Feb 2 12:36:27 UTC 2023


On Thu, Feb 02, 2023 at 08:31:27AM -0300, Maíra Canal wrote:
> Hi Maxime,
> 
> On 2/2/23 08:03, Maxime Ripard wrote:
> > Commit 8fc0380f6ba7 ("drm/client: Add some tests for
> > drm_connector_pick_cmdline_mode()") was meant to introduce unit tests
> > for the static drm_connector_pick_cmdline_mode() function.
> > 
> > In such a case, the kunit documentation recommended to import the tests
> > source file directly from the source file with the static function to
> > test.
> > 
> > While it was working, it's generally frowned upon. Fortunately, commit
> > 9c988fae6f6a ("kunit: add macro to allow conditionally exposing static
> > symbols to tests") introduced macros to easily deal with that case. We
> > can thus remove our include and use those macros instead.
> > 
> > Signed-off-by: Maxime Ripard <maxime at cerno.tech>
> > ---
> >   drivers/gpu/drm/drm_client_modeset.c | 11 ++++++-----
> >   1 file changed, 6 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
> > index 1b12a3c201a3..f48882941852 100644
> > --- a/drivers/gpu/drm/drm_client_modeset.c
> > +++ b/drivers/gpu/drm/drm_client_modeset.c
> > @@ -8,6 +8,9 @@
> >    */
> >   #include "drm/drm_modeset_lock.h"
> > +
> > +#include <kunit/visibility.h>
> > +
> >   #include <linux/module.h>
> >   #include <linux/mutex.h>
> >   #include <linux/slab.h>
> > @@ -159,7 +162,8 @@ drm_connector_has_preferred_mode(struct drm_connector *connector, int width, int
> >   	return NULL;
> >   }
> > -static struct drm_display_mode *drm_connector_pick_cmdline_mode(struct drm_connector *connector)
> > +VISIBLE_IF_KUNIT struct drm_display_mode *
> > +drm_connector_pick_cmdline_mode(struct drm_connector *connector)
> >   {
> >   	struct drm_cmdline_mode *cmdline_mode;
> >   	struct drm_display_mode *mode;
> > @@ -215,6 +219,7 @@ static struct drm_display_mode *drm_connector_pick_cmdline_mode(struct drm_conne
> >   	return NULL;
> >   }
> > +EXPORT_SYMBOL_IF_KUNIT(drm_connector_pick_cmdline_mode);
> >   static bool drm_connector_enabled(struct drm_connector *connector, bool strict)
> >   {
> > @@ -1233,7 +1238,3 @@ int drm_client_modeset_dpms(struct drm_client_dev *client, int mode)
> >   	return ret;
> >   }
> >   EXPORT_SYMBOL(drm_client_modeset_dpms);
> > -
> > -#ifdef CONFIG_DRM_KUNIT_TEST
> > -#include "tests/drm_client_modeset_test.c"
> > -#endif
> 
> As you removed this guard, you need to add drm_client_modeset_test.o
> to tests/Makefile, otherwise, drm_client_modeset_test won't compile.

Urgh, thanks for noticing this. I'll fix it up in a v2

Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20230202/8f2d2e25/attachment.sig>


More information about the dri-devel mailing list