[SPARC64/COMPAT]: Add some compat ioctl for ppdev
authorRaphael Assenat <raph@raphnet.net>
Mon, 4 Jul 2005 20:23:45 +0000 (13:23 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Jul 2005 20:23:45 +0000 (13:23 -0700)
The following patch adds some ioctls to include/linux/compat_ioctl.h
to allow using ppdev from the 32 bit user space on sparc64.

This patch also adds the PPDEV option in the sparc64 menu, near Parallel
printer support in the 'General machine setup' submenu.

All those ioctls seem to be compatible, since (correct me if I'm wrong)
they dont use the 'long' type. See include/linux/ppdev.h.

The application I used to test the new ioctls only used the following:
PPEXCL
PPCLAIM
PPNEGOT
PPGETMODES
PPRCONTROL
PPWCONTROL
PPDATADIR
PPWDATA
PPRDATA

But I beleive that the other ioctls will work fine.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/Kconfig
include/linux/compat_ioctl.h

index e2b050eb3b96ec71362436a765892dbd0fb9a33b..d78bc13ebbb926dee28741b7fb92f941546c569d 100644 (file)
@@ -444,6 +444,24 @@ config PRINTER
          If you have more than 8 printers, you need to increase the LP_NO
          macro in lp.c and the PARPORT_MAX macro in parport.h.
 
+config PPDEV
+       tristate "Support for user-space parallel port device drivers"
+       depends on PARPORT
+       ---help---
+         Saying Y to this adds support for /dev/parport device nodes.  This
+         is needed for programs that want portable access to the parallel
+         port, for instance deviceid (which displays Plug-and-Play device
+         IDs).
+
+         This is the parallel port equivalent of SCSI generic support (sg).
+         It is safe to say N to this -- it is not needed for normal printing
+         or parallel port CD-ROM/disk support.
+
+         To compile this driver as a module, choose M here: the
+         module will be called ppdev.
+
+         If unsure, say N.
+
 config ENVCTRL
        tristate "SUNW, envctrl support"
        depends on PCI
index 70a4ebb5d964ecdcc10311b3fb23910431964a77..ecb0d39c0798645db4fcde73c8f815e1b678be6e 100644 (file)
@@ -346,10 +346,27 @@ COMPATIBLE_IOCTL(PPPOEIOCDFWD)
 /* LP */
 COMPATIBLE_IOCTL(LPGETSTATUS)
 /* ppdev */
+COMPATIBLE_IOCTL(PPSETMODE)
+COMPATIBLE_IOCTL(PPRSTATUS)
+COMPATIBLE_IOCTL(PPRCONTROL)
+COMPATIBLE_IOCTL(PPWCONTROL)
+COMPATIBLE_IOCTL(PPFCONTROL)
+COMPATIBLE_IOCTL(PPRDATA)
+COMPATIBLE_IOCTL(PPWDATA)
 COMPATIBLE_IOCTL(PPCLAIM)
 COMPATIBLE_IOCTL(PPRELEASE)
-COMPATIBLE_IOCTL(PPEXCL)
 COMPATIBLE_IOCTL(PPYIELD)
+COMPATIBLE_IOCTL(PPEXCL)
+COMPATIBLE_IOCTL(PPDATADIR)
+COMPATIBLE_IOCTL(PPNEGOT)
+COMPATIBLE_IOCTL(PPWCTLONIRQ)
+COMPATIBLE_IOCTL(PPCLRIRQ)
+COMPATIBLE_IOCTL(PPSETPHASE)
+COMPATIBLE_IOCTL(PPGETMODES)
+COMPATIBLE_IOCTL(PPGETMODE)
+COMPATIBLE_IOCTL(PPGETPHASE)
+COMPATIBLE_IOCTL(PPGETFLAGS)
+COMPATIBLE_IOCTL(PPSETFLAGS)
 /* CDROM stuff */
 COMPATIBLE_IOCTL(CDROMPAUSE)
 COMPATIBLE_IOCTL(CDROMRESUME)