Sony Programmable I/O Control Device Driver Readme
--------------------------------------------------
	Copyright (C) 2001 Stelian Pop <stelian.pop@fr.alcove.com>, Alcôve
	Copyright (C) 2001 Michael Ashley <m.ashley@unsw.edu.au>
	Copyright (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp>
	Copyright (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp>
	Copyright (C) 2000 Andrew Tridgell <tridge@samba.org>

This driver enables access to the Sony Programmable I/O Control Device which
can be found in many (all ?) Sony Vaio laptops.

It will give access (through a user space utility) to some events those laptops
generate, like:
	- jogdial events (the small wheel on the side of Vaios)
	- capture button events (only on Vaio Picturebook series)
	- Fn keys
	- bluetooth button (only on C1VR model)

Those events (see linux/sonypi.h) can be polled using the character device node
/dev/sonypi (major 10, minor auto allocated or specified as a option).

A simple daemon which translates the jogdial movements into mouse wheel events
can be downloaded at: <http://www.alcove-labs.org/en/software/sonypi/>

This driver supports also some ioctl commands for setting the LCD screen
brightness (some more commands may be added in the future).

This driver can also be used to set the camera controls on Picturebook series
(brightness, contrast etc), and is used by the video4linux driver for the 
Motion Eye camera.

Please note that this driver was created by reverse engineering the Windows
driver and the ACPI BIOS, because Sony doesn't agree to release any programming
specs for its laptops. If someone convinces them to do so, drop me a note.

Module options:
---------------

	minor: 		minor number of the misc device /dev/sonypi, 
			default is -1 (automatic allocation, see /proc/misc
			or kernel logs)

	camera:		if you have a PictureBook series Vaio (with the
			integrated MotionEye camera), set this parameter to 1
			in order to let the driver access to the camera

	fnkeyinit:	on some Vaios (C1VE, C1VR etc), the Fn key events don't
			get enabled unless you set this parameter to 1

	verbose:	print unknown events from the sonypi device

Module use:
-----------

In order to automatically load the sonypi module on use, you can put those
lines in your /etc/modules.conf file:

	alias char-major-10-250 sonypi
	options sonypi minor=250 fnkeyinit=1

This supposes the use of minor 250 for the sonypi device:

	# mknod /dev/sonypi c 10 250

Bugs:
-----

	- since all development was done by reverse engineering, there is
	  _absolutely no guarantee_ that this driver will not crash your
	  laptop. Permanently.
