diff mbox series

drm/xe: Nuke xe's copy of intel_fbdev_fb.h

Message ID 20240506183331.7720-1-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series drm/xe: Nuke xe's copy of intel_fbdev_fb.h | expand

Commit Message

Ville Syrjala May 6, 2024, 6:33 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

For some reason xe and i915 each have an identical (fortunately)
copy of intel_fbdev_fb.h. The xe copy actually only gets included
by xe's intel_fbdev_fb.c, and the i915 copy by everyone else,
include intel_fbdev.c which is the actual caller of the
functions declared in the header.

This means the xe and i915 headers are free to define/declare
completely incompatible things and the build would still succeed
as long as the symbol names match.

That is not a good thing, so let's nuke xe's copy of the header
so that everyone will use the same header, and be forced to
agree on the same API/ABI.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/xe/display/intel_fbdev_fb.h | 21 ---------------------
 1 file changed, 21 deletions(-)
 delete mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.h

Comments

Jani Nikula May 7, 2024, 8:53 a.m. UTC | #1
On Mon, 06 May 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> For some reason xe and i915 each have an identical (fortunately)
> copy of intel_fbdev_fb.h. The xe copy actually only gets included
> by xe's intel_fbdev_fb.c, and the i915 copy by everyone else,
> include intel_fbdev.c which is the actual caller of the
> functions declared in the header.
>
> This means the xe and i915 headers are free to define/declare
> completely incompatible things and the build would still succeed
> as long as the symbol names match.
>
> That is not a good thing, so let's nuke xe's copy of the header
> so that everyone will use the same header, and be forced to
> agree on the same API/ABI.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  drivers/gpu/drm/xe/display/intel_fbdev_fb.h | 21 ---------------------
>  1 file changed, 21 deletions(-)
>  delete mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.h
>
> diff --git a/drivers/gpu/drm/xe/display/intel_fbdev_fb.h b/drivers/gpu/drm/xe/display/intel_fbdev_fb.h
> deleted file mode 100644
> index ea186772e0bb..000000000000
> --- a/drivers/gpu/drm/xe/display/intel_fbdev_fb.h
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -/* SPDX-License-Identifier: MIT */
> -/*
> - * Copyright © 2023 Intel Corporation
> - */
> -
> -#ifndef __INTEL_FBDEV_FB_H__
> -#define __INTEL_FBDEV_FB_H__
> -
> -struct drm_fb_helper;
> -struct drm_fb_helper_surface_size;
> -struct drm_i915_gem_object;
> -struct drm_i915_private;
> -struct fb_info;
> -struct i915_vma;
> -
> -struct drm_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
> -			 struct drm_fb_helper_surface_size *sizes);
> -int intel_fbdev_fb_fill_info(struct drm_i915_private *i915, struct fb_info *info,
> -			      struct drm_i915_gem_object *obj, struct i915_vma *vma);
> -
> -#endif
Ville Syrjala May 8, 2024, 7:52 p.m. UTC | #2
On Tue, May 07, 2024 at 11:53:40AM +0300, Jani Nikula wrote:
> On Mon, 06 May 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > For some reason xe and i915 each have an identical (fortunately)
> > copy of intel_fbdev_fb.h. The xe copy actually only gets included
> > by xe's intel_fbdev_fb.c, and the i915 copy by everyone else,
> > include intel_fbdev.c which is the actual caller of the
> > functions declared in the header.
> >
> > This means the xe and i915 headers are free to define/declare
> > completely incompatible things and the build would still succeed
> > as long as the symbol names match.
> >
> > That is not a good thing, so let's nuke xe's copy of the header
> > so that everyone will use the same header, and be forced to
> > agree on the same API/ABI.
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>

Thanks.

I was going to push this to drm-xe-next, but I should actually
push it to drm-intel-next since I'll be massaging this stuff
there.

xe maintainers, ack for merging via drm-intel-next?

> 
> > ---
> >  drivers/gpu/drm/xe/display/intel_fbdev_fb.h | 21 ---------------------
> >  1 file changed, 21 deletions(-)
> >  delete mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.h
> >
> > diff --git a/drivers/gpu/drm/xe/display/intel_fbdev_fb.h b/drivers/gpu/drm/xe/display/intel_fbdev_fb.h
> > deleted file mode 100644
> > index ea186772e0bb..000000000000
> > --- a/drivers/gpu/drm/xe/display/intel_fbdev_fb.h
> > +++ /dev/null
> > @@ -1,21 +0,0 @@
> > -/* SPDX-License-Identifier: MIT */
> > -/*
> > - * Copyright © 2023 Intel Corporation
> > - */
> > -
> > -#ifndef __INTEL_FBDEV_FB_H__
> > -#define __INTEL_FBDEV_FB_H__
> > -
> > -struct drm_fb_helper;
> > -struct drm_fb_helper_surface_size;
> > -struct drm_i915_gem_object;
> > -struct drm_i915_private;
> > -struct fb_info;
> > -struct i915_vma;
> > -
> > -struct drm_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
> > -			 struct drm_fb_helper_surface_size *sizes);
> > -int intel_fbdev_fb_fill_info(struct drm_i915_private *i915, struct fb_info *info,
> > -			      struct drm_i915_gem_object *obj, struct i915_vma *vma);
> > -
> > -#endif
> 
> -- 
> Jani Nikula, Intel
Lucas De Marchi May 8, 2024, 8:54 p.m. UTC | #3
On Wed, May 08, 2024 at 10:52:54PM GMT, Ville Syrjälä wrote:
>On Tue, May 07, 2024 at 11:53:40AM +0300, Jani Nikula wrote:
>> On Mon, 06 May 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
>> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> >
>> > For some reason xe and i915 each have an identical (fortunately)
>> > copy of intel_fbdev_fb.h. The xe copy actually only gets included
>> > by xe's intel_fbdev_fb.c, and the i915 copy by everyone else,
>> > include intel_fbdev.c which is the actual caller of the
>> > functions declared in the header.
>> >
>> > This means the xe and i915 headers are free to define/declare
>> > completely incompatible things and the build would still succeed
>> > as long as the symbol names match.
>> >
>> > That is not a good thing, so let's nuke xe's copy of the header
>> > so that everyone will use the same header, and be forced to
>> > agree on the same API/ABI.
>> >
>> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>
>> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
>Thanks.
>
>I was going to push this to drm-xe-next, but I should actually
>push it to drm-intel-next since I'll be massaging this stuff
>there.
>
>xe maintainers, ack for merging via drm-intel-next?


Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>

Lucas De Marchi
Jani Nikula May 10, 2024, 9:29 a.m. UTC | #4
On Wed, 08 May 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Tue, May 07, 2024 at 11:53:40AM +0300, Jani Nikula wrote:
>> On Mon, 06 May 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
>> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> >
>> > For some reason xe and i915 each have an identical (fortunately)
>> > copy of intel_fbdev_fb.h. The xe copy actually only gets included
>> > by xe's intel_fbdev_fb.c, and the i915 copy by everyone else,
>> > include intel_fbdev.c which is the actual caller of the
>> > functions declared in the header.
>> >
>> > This means the xe and i915 headers are free to define/declare
>> > completely incompatible things and the build would still succeed
>> > as long as the symbol names match.
>> >
>> > That is not a good thing, so let's nuke xe's copy of the header
>> > so that everyone will use the same header, and be forced to
>> > agree on the same API/ABI.
>> >
>> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> 
>> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
> Thanks.
>
> I was going to push this to drm-xe-next, but I should actually
> push it to drm-intel-next since I'll be massaging this stuff
> there.

Yeah, things often run more smoothly if we merge xe/display/ changes via
drm-intel-next. It can take a while to merge stuff to drm-next and
backmerge to respective drivers to sync it all up.

BR,
Jani.


>
> xe maintainers, ack for merging via drm-intel-next?
>
>> 
>> > ---
>> >  drivers/gpu/drm/xe/display/intel_fbdev_fb.h | 21 ---------------------
>> >  1 file changed, 21 deletions(-)
>> >  delete mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.h
>> >
>> > diff --git a/drivers/gpu/drm/xe/display/intel_fbdev_fb.h b/drivers/gpu/drm/xe/display/intel_fbdev_fb.h
>> > deleted file mode 100644
>> > index ea186772e0bb..000000000000
>> > --- a/drivers/gpu/drm/xe/display/intel_fbdev_fb.h
>> > +++ /dev/null
>> > @@ -1,21 +0,0 @@
>> > -/* SPDX-License-Identifier: MIT */
>> > -/*
>> > - * Copyright © 2023 Intel Corporation
>> > - */
>> > -
>> > -#ifndef __INTEL_FBDEV_FB_H__
>> > -#define __INTEL_FBDEV_FB_H__
>> > -
>> > -struct drm_fb_helper;
>> > -struct drm_fb_helper_surface_size;
>> > -struct drm_i915_gem_object;
>> > -struct drm_i915_private;
>> > -struct fb_info;
>> > -struct i915_vma;
>> > -
>> > -struct drm_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
>> > -			 struct drm_fb_helper_surface_size *sizes);
>> > -int intel_fbdev_fb_fill_info(struct drm_i915_private *i915, struct fb_info *info,
>> > -			      struct drm_i915_gem_object *obj, struct i915_vma *vma);
>> > -
>> > -#endif
>> 
>> -- 
>> Jani Nikula, Intel
diff mbox series

Patch

diff --git a/drivers/gpu/drm/xe/display/intel_fbdev_fb.h b/drivers/gpu/drm/xe/display/intel_fbdev_fb.h
deleted file mode 100644
index ea186772e0bb..000000000000
--- a/drivers/gpu/drm/xe/display/intel_fbdev_fb.h
+++ /dev/null
@@ -1,21 +0,0 @@ 
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2023 Intel Corporation
- */
-
-#ifndef __INTEL_FBDEV_FB_H__
-#define __INTEL_FBDEV_FB_H__
-
-struct drm_fb_helper;
-struct drm_fb_helper_surface_size;
-struct drm_i915_gem_object;
-struct drm_i915_private;
-struct fb_info;
-struct i915_vma;
-
-struct drm_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
-			 struct drm_fb_helper_surface_size *sizes);
-int intel_fbdev_fb_fill_info(struct drm_i915_private *i915, struct fb_info *info,
-			      struct drm_i915_gem_object *obj, struct i915_vma *vma);
-
-#endif