[SPARC64/COMPAT]: Add some compat ioctl for ppdev

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>

authored by Raphael Assenat and committed by David S. Miller e7270dec 19f7241a

+36 -1
+18
arch/sparc64/Kconfig
··· 444 444 If you have more than 8 printers, you need to increase the LP_NO 445 445 macro in lp.c and the PARPORT_MAX macro in parport.h. 446 446 447 + config PPDEV 448 + tristate "Support for user-space parallel port device drivers" 449 + depends on PARPORT 450 + ---help--- 451 + Saying Y to this adds support for /dev/parport device nodes. This 452 + is needed for programs that want portable access to the parallel 453 + port, for instance deviceid (which displays Plug-and-Play device 454 + IDs). 455 + 456 + This is the parallel port equivalent of SCSI generic support (sg). 457 + It is safe to say N to this -- it is not needed for normal printing 458 + or parallel port CD-ROM/disk support. 459 + 460 + To compile this driver as a module, choose M here: the 461 + module will be called ppdev. 462 + 463 + If unsure, say N. 464 + 447 465 config ENVCTRL 448 466 tristate "SUNW, envctrl support" 449 467 depends on PCI
+18 -1
include/linux/compat_ioctl.h
··· 346 346 /* LP */ 347 347 COMPATIBLE_IOCTL(LPGETSTATUS) 348 348 /* ppdev */ 349 + COMPATIBLE_IOCTL(PPSETMODE) 350 + COMPATIBLE_IOCTL(PPRSTATUS) 351 + COMPATIBLE_IOCTL(PPRCONTROL) 352 + COMPATIBLE_IOCTL(PPWCONTROL) 353 + COMPATIBLE_IOCTL(PPFCONTROL) 354 + COMPATIBLE_IOCTL(PPRDATA) 355 + COMPATIBLE_IOCTL(PPWDATA) 349 356 COMPATIBLE_IOCTL(PPCLAIM) 350 357 COMPATIBLE_IOCTL(PPRELEASE) 351 - COMPATIBLE_IOCTL(PPEXCL) 352 358 COMPATIBLE_IOCTL(PPYIELD) 359 + COMPATIBLE_IOCTL(PPEXCL) 360 + COMPATIBLE_IOCTL(PPDATADIR) 361 + COMPATIBLE_IOCTL(PPNEGOT) 362 + COMPATIBLE_IOCTL(PPWCTLONIRQ) 363 + COMPATIBLE_IOCTL(PPCLRIRQ) 364 + COMPATIBLE_IOCTL(PPSETPHASE) 365 + COMPATIBLE_IOCTL(PPGETMODES) 366 + COMPATIBLE_IOCTL(PPGETMODE) 367 + COMPATIBLE_IOCTL(PPGETPHASE) 368 + COMPATIBLE_IOCTL(PPGETFLAGS) 369 + COMPATIBLE_IOCTL(PPSETFLAGS) 353 370 /* CDROM stuff */ 354 371 COMPATIBLE_IOCTL(CDROMPAUSE) 355 372 COMPATIBLE_IOCTL(CDROMRESUME)