Commit 3fe2c413 authored by Dave Jones's avatar Dave Jones Committed by Linus Torvalds

[PATCH] sonypi update

Syncs up with latest from Stelian
parent 77245680
...@@ -36,14 +36,14 @@ Please note that this driver was created by reverse engineering the Windows ...@@ -36,14 +36,14 @@ 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 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. specs for its laptops. If someone convinces them to do so, drop me a note.
Module options: Driver options:
--------------- ---------------
Several options can be passed to the sonypi driver, either by adding them Several options can be passed to the sonypi driver, either by adding them
to /etc/modules.conf file, when the driver is compiled as a module or by to /etc/modules.conf file, when the driver is compiled as a module or by
adding the following to the kernel command line (in your bootloader): adding the following to the kernel command line (in your bootloader):
sonypi=minor[[[[[,camera],fnkeyinit],verbose],compat],nojogdial] sonypi=minor[,verbose[,fnkeyinit[,camera[,compat[,nojogdial]]]]]
where: where:
......
...@@ -485,12 +485,10 @@ static int sonypi_misc_release(struct inode * inode, struct file * file) { ...@@ -485,12 +485,10 @@ static int sonypi_misc_release(struct inode * inode, struct file * file) {
static int sonypi_misc_open(struct inode * inode, struct file * file) { static int sonypi_misc_open(struct inode * inode, struct file * file) {
down(&sonypi_device.lock); down(&sonypi_device.lock);
if (sonypi_device.open_count) /* Flush input queue on first open */
goto out; if (!sonypi_device.open_count)
sonypi_device.open_count++;
/* Flush input queue */
sonypi_initq(); sonypi_initq();
out: sonypi_device.open_count++;
up(&sonypi_device.lock); up(&sonypi_device.lock);
return 0; return 0;
} }
...@@ -718,9 +716,12 @@ static int __devinit sonypi_probe(struct pci_dev *pcidev) { ...@@ -718,9 +716,12 @@ static int __devinit sonypi_probe(struct pci_dev *pcidev) {
SONYPI_DRIVER_MAJORVERSION, SONYPI_DRIVER_MAJORVERSION,
SONYPI_DRIVER_MINORVERSION); SONYPI_DRIVER_MINORVERSION);
printk(KERN_INFO "sonypi: detected %s model, " printk(KERN_INFO "sonypi: detected %s model, "
"camera = %s, compat = %s, nojogdial = %s\n", "verbose = %s, fnkeyinit = %s, camera = %s, "
"compat = %s, nojogdial = %s\n",
(sonypi_device.model == SONYPI_DEVICE_MODEL_TYPE1) ? (sonypi_device.model == SONYPI_DEVICE_MODEL_TYPE1) ?
"type1" : "type2", "type1" : "type2",
verbose ? "on" : "off",
fnkeyinit ? "on" : "off",
camera ? "on" : "off", camera ? "on" : "off",
compat ? "on" : "off", compat ? "on" : "off",
nojogdial ? "on" : "off"); nojogdial ? "on" : "off");
...@@ -779,7 +780,7 @@ static void __exit sonypi_cleanup_module(void) { ...@@ -779,7 +780,7 @@ static void __exit sonypi_cleanup_module(void) {
#ifndef MODULE #ifndef MODULE
static int __init sonypi_setup(char *str) { static int __init sonypi_setup(char *str) {
int ints[6]; int ints[7];
str = get_options(str, ARRAY_SIZE(ints), ints); str = get_options(str, ARRAY_SIZE(ints), ints);
if (ints[0] <= 0) if (ints[0] <= 0)
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#ifdef __KERNEL__ #ifdef __KERNEL__
#define SONYPI_DRIVER_MAJORVERSION 1 #define SONYPI_DRIVER_MAJORVERSION 1
#define SONYPI_DRIVER_MINORVERSION 11 #define SONYPI_DRIVER_MINORVERSION 13
#include <linux/types.h> #include <linux/types.h>
#include <linux/pci.h> #include <linux/pci.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment