Commit 4f03b1fc authored by Daniel Vetter's avatar Daniel Vetter

drm: Create drm legacy driver header

And move a few legayc functions to start things over there.

It compiles ...

Inspired by a patch from Dave Airlie, but with a split between drm.ko
private legacy functions and stuff used by drivers.
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent a677f4cc
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
* drivers use them, and removing them are API breaks. * drivers use them, and removing them are API breaks.
*/ */
#include <linux/list.h> #include <linux/list.h>
#include <drm/drm_legacy.h>
struct agp_memory; struct agp_memory;
struct drm_device; struct drm_device;
......
...@@ -32,6 +32,8 @@ ...@@ -32,6 +32,8 @@
#ifndef _I810_DRV_H_ #ifndef _I810_DRV_H_
#define _I810_DRV_H_ #define _I810_DRV_H_
#include <drm/drm_legacy.h>
/* General customization: /* General customization:
*/ */
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <drm/drmP.h> #include <drm/drmP.h>
#include <drm/drm_crtc_helper.h> #include <drm/drm_crtc_helper.h>
#include <drm/drm_fb_helper.h> #include <drm/drm_fb_helper.h>
#include <drm/drm_legacy.h>
#include "intel_drv.h" #include "intel_drv.h"
#include <drm/i915_drm.h> #include <drm/i915_drm.h>
#include "i915_drv.h" #include "i915_drv.h"
......
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
#ifndef __MGA_DRV_H__ #ifndef __MGA_DRV_H__
#define __MGA_DRV_H__ #define __MGA_DRV_H__
#include <drm/drm_legacy.h>
/* General customization: /* General customization:
*/ */
......
...@@ -36,6 +36,8 @@ ...@@ -36,6 +36,8 @@
#define __R128_DRV_H__ #define __R128_DRV_H__
#include <drm/ati_pcigart.h> #include <drm/ati_pcigart.h>
#include <drm/drm_legacy.h>
/* General customization: /* General customization:
*/ */
#define DRIVER_AUTHOR "Gareth Hughes, VA Linux Systems Inc." #define DRIVER_AUTHOR "Gareth Hughes, VA Linux Systems Inc."
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <linux/firmware.h> #include <linux/firmware.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <drm/drm_legacy.h>
#include <drm/ati_pcigart.h> #include <drm/ati_pcigart.h>
#include "radeon_family.h" #include "radeon_family.h"
......
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
#ifndef __SAVAGE_DRV_H__ #ifndef __SAVAGE_DRV_H__
#define __SAVAGE_DRV_H__ #define __SAVAGE_DRV_H__
#include <drm/drm_legacy.h>
#define DRIVER_AUTHOR "Felix Kuehling" #define DRIVER_AUTHOR "Felix Kuehling"
#define DRIVER_NAME "savage" #define DRIVER_NAME "savage"
......
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
#ifndef _SIS_DRV_H_ #ifndef _SIS_DRV_H_
#define _SIS_DRV_H_ #define _SIS_DRV_H_
#include <drm/drm_legacy.h>
/* General customization: /* General customization:
*/ */
......
...@@ -25,6 +25,8 @@ ...@@ -25,6 +25,8 @@
#define _VIA_DRV_H_ #define _VIA_DRV_H_
#include <drm/drm_mm.h> #include <drm/drm_mm.h>
#include <drm/drm_legacy.h>
#define DRIVER_AUTHOR "Various" #define DRIVER_AUTHOR "Various"
#define DRIVER_NAME "via" #define DRIVER_NAME "via"
......
...@@ -1309,21 +1309,6 @@ extern int drm_pci_set_unique(struct drm_device *dev, ...@@ -1309,21 +1309,6 @@ extern int drm_pci_set_unique(struct drm_device *dev,
struct drm_master *master, struct drm_master *master,
struct drm_unique *u); struct drm_unique *u);
/* Legacy Support */
int drm_legacy_addmap(struct drm_device *d, resource_size_t offset,
unsigned int size, enum drm_map_type type,
enum drm_map_flags flags, struct drm_local_map **map_p);
int drm_legacy_rmmap(struct drm_device *d, struct drm_local_map *map);
int drm_legacy_rmmap_locked(struct drm_device *d, struct drm_local_map *map);
struct drm_local_map *drm_legacy_getsarea(struct drm_device *dev);
int drm_legacy_addbufs_agp(struct drm_device *d, struct drm_buf_desc *req);
int drm_legacy_addbufs_pci(struct drm_device *d, struct drm_buf_desc *req);
void drm_legacy_idlelock_take(struct drm_lock_data *lock);
void drm_legacy_idlelock_release(struct drm_lock_data *lock);
/* sysfs support (drm_sysfs.c) */ /* sysfs support (drm_sysfs.c) */
struct drm_sysfs_class; struct drm_sysfs_class;
extern struct class *drm_sysfs_create(struct module *owner, char *name); extern struct class *drm_sysfs_create(struct module *owner, char *name);
......
#ifndef __DRM_DRM_LEGACY_H__
#define __DRM_DRM_LEGACY_H__
/*
* Legacy driver interfaces 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.
* Copyright © 2014 Intel Corporation
* Daniel Vetter <daniel.vetter@ffwll.ch>
*
* Author: Rickard E. (Rik) Faith <faith@valinux.com>
* Author: Gareth Hughes <gareth@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.
*/
/*
* Legacy Support for palateontologic DRM drivers
*
* If you add a new driver and it uses any of these functions or structures,
* you're doing it terribly wrong.
*/
int drm_legacy_addmap(struct drm_device *d, resource_size_t offset,
unsigned int size, enum drm_map_type type,
enum drm_map_flags flags, struct drm_local_map **map_p);
int drm_legacy_rmmap(struct drm_device *d, struct drm_local_map *map);
int drm_legacy_rmmap_locked(struct drm_device *d, struct drm_local_map *map);
struct drm_local_map *drm_legacy_getsarea(struct drm_device *dev);
int drm_legacy_addbufs_agp(struct drm_device *d, struct drm_buf_desc *req);
int drm_legacy_addbufs_pci(struct drm_device *d, struct drm_buf_desc *req);
void drm_legacy_idlelock_take(struct drm_lock_data *lock);
void drm_legacy_idlelock_release(struct drm_lock_data *lock);
#endif /* __DRM_DRM_LEGACY_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment