[PATCH v1 2/2] drm: delete drmP.h + drm_os_linux.h

Sean Paul sean at poorly.run
Mon Oct 7 18:17:54 UTC 2019


On Mon, Oct 07, 2019 at 07:12:24PM +0200, Sam Ravnborg wrote:
> There is finally no more users left in the kernel of drmP.h
> and drm_os_linux.h (drmP.h was the only user left).
> Delete the header files and delete the corresponding todo entry.
> 
> When we started this quest there was more than 700 users of drmP.h.
> And drmP.h was a huge cover-it-all header file.
> 
> Daniel Vetter is the one that followed the work from start
> to the end and in between many people have contributed to the
> removal process - thanks to everyone!
> 
> Signed-off-by: Sam Ravnborg <sam at ravnborg.org>
> Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: Maxime Ripard <mripard at kernel.org>
> Cc: Sean Paul <sean at poorly.run>


\o/
Nice work!

Reviewed-by: Sean Paul <sean at poorly.run>

> Cc: David Airlie <airlied at linux.ie>
> Cc: Daniel Vetter <daniel at ffwll.ch>
> ---
>  Documentation/gpu/todo.rst |  12 -----
>  include/drm/drmP.h         | 103 -------------------------------------
>  include/drm/drm_os_linux.h |  55 --------------------
>  3 files changed, 170 deletions(-)
>  delete mode 100644 include/drm/drmP.h
>  delete mode 100644 include/drm/drm_os_linux.h
> 
> diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
> index 8dc147c93c9c..79785559d711 100644
> --- a/Documentation/gpu/todo.rst
> +++ b/Documentation/gpu/todo.rst
> @@ -299,18 +299,6 @@ connector register/unregister fixes
>  Core refactorings
>  =================
>  
> -Clean up the DRM header mess
> -----------------------------
> -
> -The DRM subsystem originally had only one huge global header, ``drmP.h``. This
> -is now split up, but many source files still include it. The remaining part of
> -the cleanup work here is to replace any ``#include <drm/drmP.h>`` by only the
> -headers needed (and fixing up any missing pre-declarations in the headers).
> -
> -In the end no .c file should need to include ``drmP.h`` anymore.
> -
> -Contact: Daniel Vetter
> -
>  Make panic handling work
>  ------------------------
>  
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> deleted file mode 100644
> index 037b1f7a87a5..000000000000
> --- a/include/drm/drmP.h
> +++ /dev/null
> @@ -1,103 +0,0 @@
> -/*
> - * Internal Header for the Direct Rendering Manager
> - *
> - * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
> - * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
> - * Copyright (c) 2009-2010, Code Aurora Forum.
> - * All rights reserved.
> - *
> - * Author: Rickard E. (Rik) Faith <faith at valinux.com>
> - * Author: Gareth Hughes <gareth at valinux.com>
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the "Software"),
> - * to deal in the Software without restriction, including without limitation
> - * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> - * and/or sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice (including the next
> - * paragraph) shall be included in all copies or substantial portions of the
> - * Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> - * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
> - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> - * OTHER DEALINGS IN THE SOFTWARE.
> - */
> -
> -#ifndef _DRM_P_H_
> -#define _DRM_P_H_
> -
> -#include <linux/agp_backend.h>
> -#include <linux/cdev.h>
> -#include <linux/dma-mapping.h>
> -#include <linux/file.h>
> -#include <linux/fs.h>
> -#include <linux/highmem.h>
> -#include <linux/idr.h>
> -#include <linux/init.h>
> -#include <linux/io.h>
> -#include <linux/jiffies.h>
> -#include <linux/kernel.h>
> -#include <linux/kref.h>
> -#include <linux/miscdevice.h>
> -#include <linux/mm.h>
> -#include <linux/mutex.h>
> -#include <linux/platform_device.h>
> -#include <linux/poll.h>
> -#include <linux/ratelimit.h>
> -#include <linux/sched.h>
> -#include <linux/slab.h>
> -#include <linux/types.h>
> -#include <linux/vmalloc.h>
> -#include <linux/workqueue.h>
> -#include <linux/dma-fence.h>
> -#include <linux/module.h>
> -#include <linux/mman.h>
> -#include <asm/pgalloc.h>
> -#include <linux/uaccess.h>
> -
> -#include <uapi/drm/drm.h>
> -#include <uapi/drm/drm_mode.h>
> -
> -#include <drm/drm_agpsupport.h>
> -#include <drm/drm_crtc.h>
> -#include <drm/drm_fourcc.h>
> -#include <drm/drm_hashtab.h>
> -#include <drm/drm_mm.h>
> -#include <drm/drm_os_linux.h>
> -#include <drm/drm_sarea.h>
> -#include <drm/drm_drv.h>
> -#include <drm/drm_prime.h>
> -#include <drm/drm_print.h>
> -#include <drm/drm_pci.h>
> -#include <drm/drm_file.h>
> -#include <drm/drm_debugfs.h>
> -#include <drm/drm_ioctl.h>
> -#include <drm/drm_sysfs.h>
> -#include <drm/drm_vblank.h>
> -#include <drm/drm_irq.h>
> -#include <drm/drm_device.h>
> -
> -struct module;
> -
> -struct device_node;
> -struct videomode;
> -struct dma_resv;
> -struct dma_buf_attachment;
> -
> -struct pci_dev;
> -struct pci_controller;
> -
> -/*
> - * NOTE: drmP.h is obsolete - do NOT add anything to this file
> - *
> - * Do not include drmP.h in new files.
> - * Work is ongoing to remove drmP.h includes from existing files
> - */
> -
> -#endif
> diff --git a/include/drm/drm_os_linux.h b/include/drm/drm_os_linux.h
> deleted file mode 100644
> index ee8d61b64f29..000000000000
> --- a/include/drm/drm_os_linux.h
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -/**
> - * \file drm_os_linux.h
> - * OS abstraction macros.
> - */
> -
> -#include <linux/interrupt.h>	/* For task queue support */
> -#include <linux/sched/signal.h>
> -#include <linux/delay.h>
> -#include <linux/io-64-nonatomic-lo-hi.h>
> -
> -/** Current process ID */
> -#define DRM_CURRENTPID			task_pid_nr(current)
> -#define DRM_UDELAY(d)			udelay(d)
> -/** Read a byte from a MMIO region */
> -#define DRM_READ8(map, offset)		readb(((void __iomem *)(map)->handle) + (offset))
> -/** Read a word from a MMIO region */
> -#define DRM_READ16(map, offset)         readw(((void __iomem *)(map)->handle) + (offset))
> -/** Read a dword from a MMIO region */
> -#define DRM_READ32(map, offset)		readl(((void __iomem *)(map)->handle) + (offset))
> -/** Write a byte into a MMIO region */
> -#define DRM_WRITE8(map, offset, val)	writeb(val, ((void __iomem *)(map)->handle) + (offset))
> -/** Write a word into a MMIO region */
> -#define DRM_WRITE16(map, offset, val)   writew(val, ((void __iomem *)(map)->handle) + (offset))
> -/** Write a dword into a MMIO region */
> -#define DRM_WRITE32(map, offset, val)	writel(val, ((void __iomem *)(map)->handle) + (offset))
> -
> -/** Read a qword from a MMIO region - be careful using these unless you really understand them */
> -#define DRM_READ64(map, offset)		readq(((void __iomem *)(map)->handle) + (offset))
> -/** Write a qword into a MMIO region */
> -#define DRM_WRITE64(map, offset, val)	writeq(val, ((void __iomem *)(map)->handle) + (offset))
> -
> -#define DRM_WAIT_ON( ret, queue, timeout, condition )		\
> -do {								\
> -	DECLARE_WAITQUEUE(entry, current);			\
> -	unsigned long end = jiffies + (timeout);		\
> -	add_wait_queue(&(queue), &entry);			\
> -								\
> -	for (;;) {						\
> -		__set_current_state(TASK_INTERRUPTIBLE);	\
> -		if (condition)					\
> -			break;					\
> -		if (time_after_eq(jiffies, end)) {		\
> -			ret = -EBUSY;				\
> -			break;					\
> -		}						\
> -		schedule_timeout((HZ/100 > 1) ? HZ/100 : 1);	\
> -		if (signal_pending(current)) {			\
> -			ret = -EINTR;				\
> -			break;					\
> -		}						\
> -	}							\
> -	__set_current_state(TASK_RUNNING);			\
> -	remove_wait_queue(&(queue), &entry);			\
> -} while (0)
> -- 
> 2.20.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS


More information about the dri-devel mailing list