Logo Search packages:      
Sourcecode: linux version File versions  Download package

long radeon_compat_ioctl ( struct file *  filp,
unsigned int  cmd,
unsigned long  arg 
)

Called whenever a 32-bit process running under a 64-bit kernel performs an ioctl on /dev/dri/card<n>.

Parameters:
filp file pointer.
cmd command.
arg user argument.
Returns:
zero on success or negative number on failure.

Definition at line 404 of file radeon_ioc32.c.

References DRM_COMMAND_BASE, drm_compat_ioctl(), and drm_ioctl().

{
      unsigned int nr = DRM_IOCTL_NR(cmd);
      drm_ioctl_compat_t *fn = NULL;
      int ret;

      if (nr < DRM_COMMAND_BASE)
            return drm_compat_ioctl(filp, cmd, arg);

      if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(radeon_compat_ioctls))
            fn = radeon_compat_ioctls[nr - DRM_COMMAND_BASE];

      lock_kernel();          /* XXX for now */
      if (fn != NULL)
            ret = (*fn) (filp, cmd, arg);
      else
            ret = drm_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg);
      unlock_kernel();

      return ret;
}


Generated by  Doxygen 1.6.0   Back to index