[7/7] drm: Complete remove drm_mode_object dependency

Submitted by Shayenne Moura on Dec. 19, 2018, 9:29 p.m.

Details

Message ID 8d3d0dc35c5dc579d36edcebdc9136052bf740b1.1545254191.git.shayenneluzmoura@gmail.com
State New
Headers show
Series "drm: Remove drm_mode_object dependency from drm_display_mode" ( rev: 1 ) in DRI devel

Commit Message

Shayenne Moura Dec. 19, 2018, 9:29 p.m.
This patch finalizes the KMS cleanup task dependency from
drm_display_mode. It removes the use of drm_mode_object
from drm_display_mode struct and it removes the use of
base.id and base.type from drm_display_mode struct
print string.

Signed-off-by: Shayenne Moura <shayenneluzmoura@gmail.com>
---
 include/drm/drm_modes.h | 21 +++------------------
 1 file changed, 3 insertions(+), 18 deletions(-)

Patch hide | download patch | download mbox

diff --git a/include/drm/drm_modes.h b/include/drm/drm_modes.h
index baded6514456..be4fed97e727 100644
--- a/include/drm/drm_modes.h
+++ b/include/drm/drm_modes.h
@@ -136,8 +136,7 @@  enum drm_mode_status {
 	.hdisplay = (hd), .hsync_start = (hss), .hsync_end = (hse), \
 	.htotal = (ht), .hskew = (hsk), .vdisplay = (vd), \
 	.vsync_start = (vss), .vsync_end = (vse), .vtotal = (vt), \
-	.vscan = (vs), .flags = (f), \
-	.base.type = DRM_MODE_OBJECT_MODE
+	.vscan = (vs), .flags = (f)
 
 #define CRTC_INTERLACE_HALVE_V	(1 << 0) /* halve V values for interlacing */
 #define CRTC_STEREO_DOUBLE	(1 << 1) /* adjust timings for stereo modes */
@@ -213,20 +212,6 @@  struct drm_display_mode {
 	 */
 	struct list_head head;
 
-	/**
-	 * @base:
-	 *
-	 * A display mode is a normal modeset object, possibly including public
-	 * userspace id.
-	 *
-	 * FIXME:
-	 *
-	 * This can probably be removed since the entire concept of userspace
-	 * managing modes explicitly has never landed in upstream kernel mode
-	 * setting support.
-	 */
-	struct drm_mode_object base;
-
 	/**
 	 * @name:
 	 *
@@ -429,14 +414,14 @@  struct drm_display_mode {
 /**
  * DRM_MODE_FMT - printf string for &struct drm_display_mode
  */
-#define DRM_MODE_FMT    "%d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x"
+#define DRM_MODE_FMT    "\"%s\": %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x"
 
 /**
  * DRM_MODE_ARG - printf arguments for &struct drm_display_mode
  * @m: display mode
  */
 #define DRM_MODE_ARG(m) \
-	(m)->base.id, (m)->name, (m)->vrefresh, (m)->clock, \
+	(m)->name, (m)->vrefresh, (m)->clock, \
 	(m)->hdisplay, (m)->hsync_start, (m)->hsync_end, (m)->htotal, \
 	(m)->vdisplay, (m)->vsync_start, (m)->vsync_end, (m)->vtotal, \
 	(m)->type, (m)->flags

Comments

Hi Shayenne,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on robclark/msm-next]
[also build test ERROR on v4.20-rc7 next-20181221]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Shayenne-Moura/drm-Remove-drm_mode_object-dependency-from-drm_display_mode/20181222-065838
base:   git://people.freedesktop.org/~robclark/linux msm-next
config: x86_64-randconfig-x008-201850 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/gpu/drm/drm_modes.c: In function 'drm_mode_destroy':
>> drivers/gpu/drm/drm_modes.c:90:41: error: 'struct drm_display_mode' has no member named 'base'; did you mean 'name'?
     drm_mode_object_unregister(dev, &mode->base);
                                            ^~~~
                                            name
   drivers/gpu/drm/drm_modes.c: In function 'drm_mode_copy':
   drivers/gpu/drm/drm_modes.c:909:16: error: 'struct drm_display_mode' has no member named 'base'; did you mean 'name'?
     int id = dst->base.id;
                   ^~~~
                   name
   drivers/gpu/drm/drm_modes.c:913:7: error: 'struct drm_display_mode' has no member named 'base'; did you mean 'name'?
     dst->base.id = id;
          ^~~~
          name

vim +90 drivers/gpu/drm/drm_modes.c

8bd441b2 Daniel Vetter 2014-01-23  77  
8bd441b2 Daniel Vetter 2014-01-23  78  /**
8bd441b2 Daniel Vetter 2014-01-23  79   * drm_mode_destroy - remove a mode
8bd441b2 Daniel Vetter 2014-01-23  80   * @dev: DRM device
8bd441b2 Daniel Vetter 2014-01-23  81   * @mode: mode to remove
8bd441b2 Daniel Vetter 2014-01-23  82   *
f5aabb97 Daniel Vetter 2014-01-23  83   * Release @mode's unique ID, then free it @mode structure itself using kfree.
8bd441b2 Daniel Vetter 2014-01-23  84   */
8bd441b2 Daniel Vetter 2014-01-23  85  void drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode)
8bd441b2 Daniel Vetter 2014-01-23  86  {
8bd441b2 Daniel Vetter 2014-01-23  87  	if (!mode)
8bd441b2 Daniel Vetter 2014-01-23  88  		return;
8bd441b2 Daniel Vetter 2014-01-23  89  
7c8f6d25 Dave Airlie   2016-04-15 @90  	drm_mode_object_unregister(dev, &mode->base);
8bd441b2 Daniel Vetter 2014-01-23  91  
8bd441b2 Daniel Vetter 2014-01-23  92  	kfree(mode);
8bd441b2 Daniel Vetter 2014-01-23  93  }
8bd441b2 Daniel Vetter 2014-01-23  94  EXPORT_SYMBOL(drm_mode_destroy);
8bd441b2 Daniel Vetter 2014-01-23  95  

:::::: The code at line 90 was first introduced by commit
:::::: 7c8f6d2577c7565f67ba3f6b9b76f7422710d66e drm/mode: rework drm_mode_object_put to drm_mode_object_unregister.

:::::: TO: Dave Airlie <airlied@redhat.com>
:::::: CC: Dave Airlie <airlied@redhat.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Hi Shayenne,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on robclark/msm-next]
[also build test ERROR on v4.20-rc7 next-20181221]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Shayenne-Moura/drm-Remove-drm_mode_object-dependency-from-drm_display_mode/20181222-065838
base:   git://people.freedesktop.org/~robclark/linux msm-next
config: i386-randconfig-a3-12211242 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/gpu/drm/drm_modes.c: In function 'drm_mode_destroy':
>> drivers/gpu/drm/drm_modes.c:90:39: error: 'struct drm_display_mode' has no member named 'base'
     drm_mode_object_unregister(dev, &mode->base);
                                          ^
   drivers/gpu/drm/drm_modes.c: In function 'drm_mode_copy':
   drivers/gpu/drm/drm_modes.c:909:14: error: 'struct drm_display_mode' has no member named 'base'
     int id = dst->base.id;
                 ^
   drivers/gpu/drm/drm_modes.c:913:5: error: 'struct drm_display_mode' has no member named 'base'
     dst->base.id = id;
        ^

vim +90 drivers/gpu/drm/drm_modes.c

8bd441b2 Daniel Vetter 2014-01-23  77  
8bd441b2 Daniel Vetter 2014-01-23  78  /**
8bd441b2 Daniel Vetter 2014-01-23  79   * drm_mode_destroy - remove a mode
8bd441b2 Daniel Vetter 2014-01-23  80   * @dev: DRM device
8bd441b2 Daniel Vetter 2014-01-23  81   * @mode: mode to remove
8bd441b2 Daniel Vetter 2014-01-23  82   *
f5aabb97 Daniel Vetter 2014-01-23  83   * Release @mode's unique ID, then free it @mode structure itself using kfree.
8bd441b2 Daniel Vetter 2014-01-23  84   */
8bd441b2 Daniel Vetter 2014-01-23  85  void drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode)
8bd441b2 Daniel Vetter 2014-01-23  86  {
8bd441b2 Daniel Vetter 2014-01-23  87  	if (!mode)
8bd441b2 Daniel Vetter 2014-01-23  88  		return;
8bd441b2 Daniel Vetter 2014-01-23  89  
7c8f6d25 Dave Airlie   2016-04-15 @90  	drm_mode_object_unregister(dev, &mode->base);
8bd441b2 Daniel Vetter 2014-01-23  91  
8bd441b2 Daniel Vetter 2014-01-23  92  	kfree(mode);
8bd441b2 Daniel Vetter 2014-01-23  93  }
8bd441b2 Daniel Vetter 2014-01-23  94  EXPORT_SYMBOL(drm_mode_destroy);
8bd441b2 Daniel Vetter 2014-01-23  95  

:::::: The code at line 90 was first introduced by commit
:::::: 7c8f6d2577c7565f67ba3f6b9b76f7422710d66e drm/mode: rework drm_mode_object_put to drm_mode_object_unregister.

:::::: TO: Dave Airlie <airlied@redhat.com>
:::::: CC: Dave Airlie <airlied@redhat.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation