Skip to content

Commit

Permalink
drm/i915: add i915_ioc32.h for compat
Browse files Browse the repository at this point in the history
Keep reducing i915_drv.h.

Reviewed-by: Chris Wilson <[email protected]>
Signed-off-by: Jani Nikula <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
  • Loading branch information
jnikula committed Mar 2, 2020
1 parent b28bba8 commit 062705b
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 8 deletions.
3 changes: 2 additions & 1 deletion drivers/gpu/drm/i915/i915_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@

#include "i915_debugfs.h"
#include "i915_drv.h"
#include "i915_ioc32.h"
#include "i915_irq.h"
#include "i915_memcpy.h"
#include "i915_perf.h"
Expand Down Expand Up @@ -1762,7 +1763,7 @@ static const struct file_operations i915_driver_fops = {
.mmap = i915_gem_mmap,
.poll = drm_poll,
.read = drm_read,
.compat_ioctl = i915_compat_ioctl,
.compat_ioctl = i915_ioc32_compat_ioctl,
.llseek = noop_llseek,
};

Expand Down
5 changes: 0 additions & 5 deletions drivers/gpu/drm/i915/i915_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -1699,11 +1699,6 @@ intel_ggtt_update_needs_vtd_wa(struct drm_i915_private *dev_priv)
}

/* i915_drv.c */
#ifdef CONFIG_COMPAT
long i915_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg);
#else
#define i915_compat_ioctl NULL
#endif
extern const struct dev_pm_ops i915_pm_ops;

int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent);
Expand Down
6 changes: 4 additions & 2 deletions drivers/gpu/drm/i915/i915_ioc32.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@
#include <linux/compat.h>

#include <drm/drm_ioctl.h>

#include "i915_drv.h"
#include "i915_ioc32.h"

struct drm_i915_getparam32 {
s32 param;
Expand Down Expand Up @@ -66,15 +68,15 @@ static drm_ioctl_compat_t *i915_compat_ioctls[] = {
};

/**
* i915_compat_ioctl - handle the mistakes of the past
* i915_ioc32_compat_ioctl - handle the mistakes of the past
* @filp: the file pointer
* @cmd: the ioctl command (and encoded flags)
* @arg: the ioctl argument (from userspace)
*
* Called whenever a 32-bit process running under a 64-bit kernel
* performs an ioctl on /dev/dri/card<n>.
*/
long i915_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
long i915_ioc32_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
unsigned int nr = DRM_IOCTL_NR(cmd);
drm_ioctl_compat_t *fn = NULL;
Expand Down
17 changes: 17 additions & 0 deletions drivers/gpu/drm/i915/i915_ioc32.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2020 Intel Corporation
*/

#ifndef __I915_IOC32_H__
#define __I915_IOC32_H__

#ifdef CONFIG_COMPAT
struct file;
long i915_ioc32_compat_ioctl(struct file *filp, unsigned int cmd,
unsigned long arg);
#else
#define i915_ioc32_compat_ioctl NULL
#endif

#endif /* __I915_IOC32_H__ */

0 comments on commit 062705b

Please sign in to comment.