Re: [PATCH v1 11/11] drm: drop uapi dependency from drm_file.h

Sam Ravnborg
2019-07-19T11:08:00Z

Hi Christian.

Thanks for your comments and very valid question.

On Fri, Jul 19, 2019 at 06:56:47AM +0000, Koenig, Christian wrote:
> Am 18.07.19 um 18:15 schrieb Sam Ravnborg:
> > drm_file used drm_magic_t from uapi/drm/drm.h.
> > This is a simple unsigned int.
> > Just opencode it as such to break the dependency from this header file
> > to uapi.
>
> Mhm, why do you want to remove UAPI dependency here in the first place?

The idea is to make include/drm/* independent of uapi/drm/* so the
header files are less tangled up thus easier to read and comprehend.

.c files that requires uapi can then include the uapi headers.

For now my focus was solely on uapi/drm/drm.h - so I dunno if this
is an achievable goal for include/drm/*.

For uapi/drm/* headers things are more clear. They shall be
independent of include/drm/* as they are exported.

> I mean the type can't change because it is UAPI, but it is rather bad
> for a documentation point of view.

For a widely used type I would agree.
For struct auth, that is ony used in drm_auth.c then the documentation
impact is minor. But your point is indeed valid.
(struct auth has one field of type magic_t).

I will await further feedback before we decide to apply this patch or
not.
The patches that pushes include of drm/drm.h to the respective .c
files are legit as we drop the dependency on an indirectly included
header file. I will process these patches.

Sam