>> > Will sony_acpi ever make it to the mainline? Its very useful for new
>> Vaio
>> > models.
>
> Nope, not as it is. Useful != supportable.
>
> 1. It must not create any files under /proc/acpi
> This is creating a machine-specific API, which
> is exactly what we don't want Nobody can maintain
> 50 machine specific APIs.
>
> These objects must appear generic and under sysfs
> as if acpi were not involved in providing them.
>
> 2. its source code shall not live in drivers/acpi
> it is not part of the ACPI implementation after all --
> it is a platform specific driver.
In this case, would a patch ripping off asus_acpi, ibm_acpi and
toshiba_acpi from the kernel be accepted ?
I don't really care much about sony_acpi (since I'm not maintaining it
anymore, even if I still answer support requests about it), but this is
just silly. This has been going on for more than one and a half year now.
Meanwhile (at least from what I've seen), the ACPI subsystem still doesn't
provide this "generic" API which platform specific driver need to
implement. drivers/acpi/{hotkey.c,video.c} are just rudimentary, and there
is no indication that this is going forward:
In March 2005 you (Len) said:
> The goal is to DELETE ibm, toshiba, and asus drivers -- or at least the
> duplicated functions in them.
>
> platform specific drivers make it harder, not easier, to support more
> hardware -- there are a zillion vendors out there, implementing special
> drivers for each of them is a strategy of last resort.
and
> I'd like to keep this driver out-of-tree
> until we prove that we can't enhance the
> generic code to handle this hardware
> without the addition of a new driver.
How long is this going to take ?
Stelian.
On Wednesday 27 September 2006 19:51, [email protected] wrote:
> >> > Will sony_acpi ever make it to the mainline? Its very useful for new
> >>
> >> Vaio
> >>
> >> > models.
> >
> > Nope, not as it is. Useful != supportable.
> >
> > 1. It must not create any files under /proc/acpi
> > This is creating a machine-specific API, which
> > is exactly what we don't want Nobody can maintain
> > 50 machine specific APIs.
> >
> > These objects must appear generic and under sysfs
> > as if acpi were not involved in providing them.
> >
> > 2. its source code shall not live in drivers/acpi
> > it is not part of the ACPI implementation after all --
> > it is a platform specific driver.
>
> In this case, would a patch ripping off asus_acpi, ibm_acpi and
> toshiba_acpi from the kernel be accepted ?
>
> I don't really care much about sony_acpi (since I'm not maintaining it
> anymore, even if I still answer support requests about it), but this is
> just silly. This has been going on for more than one and a half year now.
>
> Meanwhile (at least from what I've seen), the ACPI subsystem still doesn't
> provide this "generic" API which platform specific driver need to
> implement. drivers/acpi/{hotkey.c,video.c} are just rudimentary, and there
> is no indication that this is going forward:
>
> In March 2005 you (Len) said:
> > The goal is to DELETE ibm, toshiba, and asus drivers -- or at least the
> > duplicated functions in them.
> >
> > platform specific drivers make it harder, not easier, to support more
> > hardware -- there are a zillion vendors out there, implementing special
> > drivers for each of them is a strategy of last resort.
hotkey.c was expected to replace all platform specific driver under
acpi directory, and I have ever expected that ACPI spec would define
standard device ID, and AML method name and event number for common keys
such as brightness control, output switch. So, I was expecting the hotkey.c
could become the generic driver when such spec was published and accepted
by OEMs. But, I don't know if such kind of things will happen.
>
> and
>
> > I'd like to keep this driver out-of-tree
> > until we prove that we can't enhance the
> > generic code to handle this hardware
> > without the addition of a new driver.
So, if there are NO standards, and we don't want mess up user space tools with
a dozen of totally different acpi proc interface for different platform
drivers. We have to use generic code to create unified interface for the
sake of clean user space tool. Some technique are:
1. use input layer to translate any hot-key event into key code defined in
input.h
2. use backlight class (driver/video/backlight.c) to hook generic brightness
control interface for brightness control under sysfs.
3. use output class to hook generic output switch control interface for
display output switch control under sysfs.
4. other generic code.
..
>
> How long is this going to take ?
>
I think the maintainer of asus_acpi, toshiba_acpi, ibm_acpi, sony_acpi,
panasonic_acpi, msi_acpi, ... should use the techniques mentioned above.
for new platform, Please don't just fork a new driver from toshiba_acpi.c, or
the existing ones in drivers/acpi. They also need to use generic code
mentioned above. Then, the platform specific driver could be accepted into
mainline. Otherwise, I don't know how these kind of platform specific driver
can be maintained, and deployed by OSV.
Thanks,
Luming
On Wednesday 27 September 2006 07:51, [email protected] wrote:
> >> > Will sony_acpi ever make it to the mainline? Its very useful for new
> > Nope, not as it is. Useful != supportable.
> >
> > 1. It must not create any files under /proc/acpi
> > This is creating a machine-specific API, which
> > is exactly what we don't want Nobody can maintain
> > 50 machine specific APIs.
> >
> > These objects must appear generic and under sysfs
> > as if acpi were not involved in providing them.
> >
> > 2. its source code shall not live in drivers/acpi
> > it is not part of the ACPI implementation after all --
> > it is a platform specific driver.
>
>...
>
> I don't really care much about sony_acpi (since I'm not maintaining it
> anymore, even if I still answer support requests about it), but this is
> just silly. This has been going on for more than one and a half year now.
>
> Meanwhile (at least from what I've seen), the ACPI subsystem still doesn't
> provide this "generic" API which platform specific driver need to
> implement. drivers/acpi/{hotkey.c,video.c} are just rudimentary, and there
> is no indication that this is going forward:
You are right. And the reason is that platform specific drivers are not part of ACPI.
They must either be vendor documented/supplied or reverse-engineered.
Vendors have not been forthcoming with documentation or code to support
Linux laptops, and our happy team here at Intel is not allowed to be in
the reverse enginering business.
So I concur that hotkey.c is a failed experiment, and I'm going to delete it.
There is more different than common on these boxes, so it makes no sense.
video.c, however, is standard, and stays for those machines that actually
do follow the public specification.
> In March 2005 you (Len) said:
>
> > The goal is to DELETE ibm, toshiba, and asus drivers -- or at least the
> video.c handles the standard compliant machines.> duplicated functions in them.
> >
> > platform specific drivers make it harder, not easier, to support more
> > hardware -- there are a zillion vendors out there, implementing special
> > drivers for each of them is a strategy of last resort.
Still true, though it is clear we'll never be able to delete platform specific parts --
just the parts that duplicate the generic standard functions..
> > I'd like to keep this driver out-of-tree
> > until we prove that we can't enhance the
> > generic code to handle this hardware
> > without the addition of a new driver.
>
> How long is this going to take ?
How about 2.6.21?
What needs to happen is
1. a maintainer for sony_acpi.c needs to step forward
I can't do this, I'm not allowed to be in the reverse engineering business.
2. /proc/acpi/sony API needs to be deleted
3. source needs to move out of drivers/acpi, and into drivers/misc along with msi.
Luming has a sony laptop and can help with this, but
he can't be the permanent maintainer any more than I can, for the same reason.
If we can get past #1, then I recommend we apply the patch series in -mm to
the acpi-test tree and go from there.
-Len
Le jeudi 04 janvier 2007 ? 00:24 -0500, Len Brown a ?crit :
> > > I'd like to keep this driver out-of-tree
> > > until we prove that we can't enhance the
> > > generic code to handle this hardware
> > > without the addition of a new driver.
> >
> > How long is this going to take ?
>
> How about 2.6.21?
Good news !
> What needs to happen is
> 1. a maintainer for sony_acpi.c needs to step forward
> I can't do this, I'm not allowed to be in the reverse engineering business.
Well, I can't do this either, because I just don't have the required
hardware anymore.
If someone want to step forward now it is a great time !
>
> 2. /proc/acpi/sony API needs to be deleted
>
> 3. source needs to move out of drivers/acpi, and into drivers/misc along with msi.
Sensible suggestions, the new maintainer will have to work on this.
Thanks Len.
--
Stelian Pop <[email protected]>
On Thu, Jan 04, 2007 at 11:09:44AM +0100, Stelian Pop wrote:
> Le jeudi 04 janvier 2007 ? 00:24 -0500, Len Brown a ?crit :
>
> > > > I'd like to keep this driver out-of-tree
> > > > until we prove that we can't enhance the
> > > > generic code to handle this hardware
> > > > without the addition of a new driver.
> > >
> > > How long is this going to take ?
> >
> > How about 2.6.21?
>
> Good news !
>
> > What needs to happen is
> > 1. a maintainer for sony_acpi.c needs to step forward
> > I can't do this, I'm not allowed to be in the reverse engineering business.
>
> Well, I can't do this either, because I just don't have the required
> hardware anymore.
>
> If someone want to step forward now it is a great time !
I have the hw and I'd be happy to do some basic working on the code
but:
- I'll probably need some help;
- I'll have an almost-blackout between the end of February and the end
of April as I'm moving to a different country and I'll need some time
before I can be active again (I hope I'll have at least easy mail
access for all the time though).
Anyway if it is still ok I can maintain the thing, to months seems
enough to give the driver a shape.
> > 2. /proc/acpi/sony API needs to be deleted
> >
> > 3. source needs to move out of drivers/acpi, and into drivers/misc along with msi.
And turn extra-backlight features into platform_device stuff? So 2 and 3
can come together.
Moreover, I own an SZ72B and an older GR7 and have come to the same
findings of Cacy, plus a patch to allow a smarter "debug" mode.
So, how to proceed? (I've just cloned the linux-acpi-2.6 tree)
Thanks Len, Thanks Stelian
--
mattia
:wq!
On Thu, 4 Jan 2007 20:15:12 +0100
Mattia Dongili <[email protected]> wrote:
> On Thu, Jan 04, 2007 at 11:09:44AM +0100, Stelian Pop wrote:
> > Le jeudi 04 janvier 2007 __ 00:24 -0500, Len Brown a __crit :
> >
> > > > > I'd like to keep this driver out-of-tree
> > > > > until we prove that we can't enhance the
> > > > > generic code to handle this hardware
> > > > > without the addition of a new driver.
> > > >
> > > > How long is this going to take ?
> > >
> > > How about 2.6.21?
> >
> > Good news !
> >
> > > What needs to happen is
> > > 1. a maintainer for sony_acpi.c needs to step forward
> > > I can't do this, I'm not allowed to be in the reverse engineering business.
> >
> > Well, I can't do this either, because I just don't have the required
> > hardware anymore.
> >
> > If someone want to step forward now it is a great time !
>
> I have the hw and I'd be happy to do some basic working on the code
Neato, thanks.
> but:
> - I'll probably need some help;
> - I'll have an almost-blackout between the end of February and the end
> of April as I'm moving to a different country and I'll need some time
> before I can be active again (I hope I'll have at least easy mail
> access for all the time though).
> Anyway if it is still ok I can maintain the thing, to months seems
> enough to give the driver a shape.
>
> > > 2. /proc/acpi/sony API needs to be deleted
> > >
> > > 3. source needs to move out of drivers/acpi, and into drivers/misc along with msi.
>
> And turn extra-backlight features into platform_device stuff? So 2 and 3
> can come together.
>
> Moreover, I own an SZ72B and an older GR7 and have come to the same
> findings of Cacy, plus a patch to allow a smarter "debug" mode.
> So, how to proceed? (I've just cloned the linux-acpi-2.6 tree)
>
I have a VGN-something-or-other notebook and I use this driver regularly.
The place to start (please) is the patches in -mm:
2.6-sony_acpi4.patch
sony_apci-resume.patch
sony_apci-resume-fix.patch
acpi-add-backlight-support-to-the-sony_acpi.patch
acpi-add-backlight-support-to-the-sony_acpi-v2.patch
video-sysfs-support-take-2-add-dev-argument-for-backlight_device_register-sony_acpi-fix.patch
It presently has both the /proc and /sys/.../backlight/.. interfaces, so the first
job would be to chop out the /proc stuff.
On Thu, Jan 04, 2007 at 12:51:07PM -0800, Andrew Morton wrote:
> On Thu, 4 Jan 2007 20:15:12 +0100
> Mattia Dongili <[email protected]> wrote:
[...]
> > but:
> > - I'll probably need some help;
> > - I'll have an almost-blackout between the end of February and the end
> > of April as I'm moving to a different country and I'll need some time
> > before I can be active again (I hope I'll have at least easy mail
> > access for all the time though).
> > Anyway if it is still ok I can maintain the thing, to months seems
> > enough to give the driver a shape.
> >
> > > > 2. /proc/acpi/sony API needs to be deleted
> > > >
> > > > 3. source needs to move out of drivers/acpi, and into drivers/misc along with msi.
> >
> > And turn extra-backlight features into platform_device stuff? So 2 and 3
> > can come together.
> >
> > Moreover, I own an SZ72B and an older GR7 and have come to the same
> > findings of Cacy, plus a patch to allow a smarter "debug" mode.
> > So, how to proceed? (I've just cloned the linux-acpi-2.6 tree)
> >
>
> I have a VGN-something-or-other notebook and I use this driver regularly.
Hehehe, I think all the sony lappies are VGN-something :)
> The place to start (please) is the patches in -mm:
>
> 2.6-sony_acpi4.patch
> sony_apci-resume.patch
> sony_apci-resume-fix.patch
> acpi-add-backlight-support-to-the-sony_acpi.patch
> acpi-add-backlight-support-to-the-sony_acpi-v2.patch
> video-sysfs-support-take-2-add-dev-argument-for-backlight_device_register-sony_acpi-fix.patch
>
> It presently has both the /proc and /sys/.../backlight/.. interfaces, so the first
> job would be to chop out the /proc stuff.
Ok, I'll import all of them and start from there.
Is it ok to wipe all the /proc stuff without notice?
--
mattia
:wq!
On Thu, 4 Jan 2007 22:18:30 +0100
Mattia Dongili <[email protected]> wrote:
> > The place to start (please) is the patches in -mm:
> >
> > 2.6-sony_acpi4.patch
> > sony_apci-resume.patch
> > sony_apci-resume-fix.patch
> > acpi-add-backlight-support-to-the-sony_acpi.patch
> > acpi-add-backlight-support-to-the-sony_acpi-v2.patch
> > video-sysfs-support-take-2-add-dev-argument-for-backlight_device_register-sony_acpi-fix.patch
> >
> > It presently has both the /proc and /sys/.../backlight/.. interfaces, so the first
> > job would be to chop out the /proc stuff.
>
> Ok, I'll import all of them and start from there.
> Is it ok to wipe all the /proc stuff without notice?
spose so. I don't know if any apps are dependent upon the /proc file,
but the driver isn't in mainline yet so it's unlikely that there's a
mountain of software depending upon existing interfaces.
On Thu, 2007-01-04 at 13:28 -0800, Andrew Morton wrote:
> On Thu, 4 Jan 2007 22:18:30 +0100
> Mattia Dongili <[email protected]> wrote:
>
> > > The place to start (please) is the patches in -mm:
> > >
> > > 2.6-sony_acpi4.patch
> > > sony_apci-resume.patch
> > > sony_apci-resume-fix.patch
> > > acpi-add-backlight-support-to-the-sony_acpi.patch
> > > acpi-add-backlight-support-to-the-sony_acpi-v2.patch
> > > video-sysfs-support-take-2-add-dev-argument-for-backlight_device_register-sony_acpi-fix.patch
> > >
> > > It presently has both the /proc and /sys/.../backlight/.. interfaces, so the first
> > > job would be to chop out the /proc stuff.
> >
> > Ok, I'll import all of them and start from there.
> > Is it ok to wipe all the /proc stuff without notice?
>
> spose so. I don't know if any apps are dependent upon the /proc file,
> but the driver isn't in mainline yet so it's unlikely that there's a
> mountain of software depending upon existing interfaces.
Well, HAL has used it for changing the brightness for the last year or
so: /proc/acpi/sony/brightness
Although if you use a new enough HAL (CVS), the laptop will be supported
via the shiny new backlight class.
Richard.
Hi,
On Thu, 2007-01-04 at 13:28 -0800, Andrew Morton wrote:
> spose so. I don't know if any apps are dependent upon the /proc file,
> but the driver isn't in mainline yet so it's unlikely that there's a
> mountain of software depending upon existing interfaces.
Not a mountain, but still a few applications support that interface.
At least the powersave daemon 'powersaved' and HAL support the
brightness interface of the Sony driver.
The responsible developers are following the linux-acpi list.
Timo
On Thu, Jan 04, 2007 at 09:36:36PM +0000, Richard Hughes wrote:
> On Thu, 2007-01-04 at 13:28 -0800, Andrew Morton wrote:
> > On Thu, 4 Jan 2007 22:18:30 +0100
> > Mattia Dongili <[email protected]> wrote:
> >
> > > > The place to start (please) is the patches in -mm:
> > > >
> > > > 2.6-sony_acpi4.patch
> > > > sony_apci-resume.patch
> > > > sony_apci-resume-fix.patch
> > > > acpi-add-backlight-support-to-the-sony_acpi.patch
> > > > acpi-add-backlight-support-to-the-sony_acpi-v2.patch
> > > > video-sysfs-support-take-2-add-dev-argument-for-backlight_device_register-sony_acpi-fix.patch
> > > >
> > > > It presently has both the /proc and /sys/.../backlight/.. interfaces, so the first
> > > > job would be to chop out the /proc stuff.
> > >
> > > Ok, I'll import all of them and start from there.
> > > Is it ok to wipe all the /proc stuff without notice?
> >
> > spose so. I don't know if any apps are dependent upon the /proc file,
> > but the driver isn't in mainline yet so it's unlikely that there's a
> > mountain of software depending upon existing interfaces.
>
> Well, HAL has used it for changing the brightness for the last year or
> so: /proc/acpi/sony/brightness
>
> Although if you use a new enough HAL (CVS), the laptop will be supported
> via the shiny new backlight class.
great, -mm already has the /sys/class/backlight in place for sony_acpi
and I suppose the /proc entry can be kept until 2.6.20 is released, i.e.
just before pushing things for .21.
Len, would you allow it?
--
mattia
:wq!
Le jeudi 04 janvier 2007 ? 20:15 +0100, Mattia Dongili a ?crit :
> > If someone want to step forward now it is a great time !
>
> I have the hw and I'd be happy to do some basic working on the code
Cool !
> but:
> - I'll probably need some help;
Feel free to ask...
> - I'll have an almost-blackout between the end of February and the end
> of April as I'm moving to a different country and I'll need some time
> before I can be active again (I hope I'll have at least easy mail
> access for all the time though).
Well, I am the current "maintainer" for this and it has probably been a
year since I left Sony's laptop world, so I guess it won't make much
difference if you're not very active for a month or two :)
Stelian.
--
Stelian Pop <[email protected]>
Le jeudi 04 janvier 2007 ? 12:51 -0800, Andrew Morton a ?crit :
> The place to start (please) is the patches in -mm:
>
> 2.6-sony_acpi4.patch
> sony_apci-resume.patch
> sony_apci-resume-fix.patch
> acpi-add-backlight-support-to-the-sony_acpi.patch
> acpi-add-backlight-support-to-the-sony_acpi-v2.patch
> video-sysfs-support-take-2-add-dev-argument-for-backlight_device_register-sony_acpi-fix.patch
In addition to those, I also have the attached patch in my local tree.
Stelian.
---
Added acpi_bus_generate event for forwarding Fn-keys pressed to acpi subsystem,
and made correspondent necessary changes for this to work.
Signed-off-by: Nilton Volpato <[email protected]>
---
drivers/acpi/sony_acpi.c | 55 ++++++++++++++++++++++++----------------------
1 files changed, 29 insertions(+), 26 deletions(-)
diff --git a/drivers/acpi/sony_acpi.c b/drivers/acpi/sony_acpi.c
index e23522a..0c9367f 100644
--- a/drivers/acpi/sony_acpi.c
+++ b/drivers/acpi/sony_acpi.c
@@ -33,7 +33,7 @@
#define ACPI_SNC_CLASS "sony"
#define ACPI_SNC_HID "SNY5001"
-#define ACPI_SNC_DRIVER_NAME "ACPI Sony Notebook Control Driver v0.2"
+#define ACPI_SNC_DRIVER_NAME "ACPI Sony Notebook Control Driver v0.3"
#define LOG_PFX KERN_WARNING "sony_acpi: "
@@ -61,6 +61,7 @@ static struct acpi_driver sony_acpi_driv
static acpi_handle sony_acpi_handle;
static struct proc_dir_entry *sony_acpi_dir;
+static struct acpi_device *sony_acpi_acpi_device = NULL;
static struct sony_acpi_value {
char *name; /* name of the entry */
@@ -245,7 +246,9 @@ static int sony_acpi_write(struct file *
static void sony_acpi_notify(acpi_handle handle, u32 event, void *data)
{
- printk(LOG_PFX "sony_acpi_notify\n");
+ if (debug)
+ printk(LOG_PFX "sony_acpi_notify, event: %d\n", event);
+ acpi_bus_generate_event(sony_acpi_acpi_device, 1, event);
}
static acpi_status sony_walk_callback(acpi_handle handle, u32 level,
@@ -269,6 +272,8 @@ static int sony_acpi_add(struct acpi_dev
int result;
struct sony_acpi_value *item;
+ sony_acpi_acpi_device = device;
+
sony_acpi_handle = device->handle;
acpi_driver_data(device) = NULL;
@@ -282,16 +287,16 @@ static int sony_acpi_add(struct acpi_dev
result = -ENODEV;
goto outwalk;
}
+ }
- status = acpi_install_notify_handler(sony_acpi_handle,
- ACPI_DEVICE_NOTIFY,
- sony_acpi_notify,
- NULL);
- if (ACPI_FAILURE(status)) {
- printk(LOG_PFX "unable to install notify handler\n");
- result = -ENODEV;
- goto outnotify;
- }
+ status = acpi_install_notify_handler(sony_acpi_handle,
+ ACPI_DEVICE_NOTIFY,
+ sony_acpi_notify,
+ NULL);
+ if (ACPI_FAILURE(status)) {
+ printk(LOG_PFX "unable to install notify handler\n");
+ result = -ENODEV;
+ goto outnotify;
}
for (item = sony_acpi_values; item->name; ++item) {
@@ -310,7 +315,7 @@ static int sony_acpi_add(struct acpi_dev
item->acpiset, &handle)))
continue;
- item->proc = create_proc_entry(item->name, 0600,
+ item->proc = create_proc_entry(item->name, 0666,
acpi_device_dir(device));
if (!item->proc) {
printk(LOG_PFX "unable to create proc entry\n");
@@ -329,13 +334,11 @@ static int sony_acpi_add(struct acpi_dev
return 0;
outproc:
- if (debug) {
- status = acpi_remove_notify_handler(sony_acpi_handle,
- ACPI_DEVICE_NOTIFY,
- sony_acpi_notify);
- if (ACPI_FAILURE(status))
- printk(LOG_PFX "unable to remove notify handler\n");
- }
+ status = acpi_remove_notify_handler(sony_acpi_handle,
+ ACPI_DEVICE_NOTIFY,
+ sony_acpi_notify);
+ if (ACPI_FAILURE(status))
+ printk(LOG_PFX "unable to remove notify handler\n");
outnotify:
for (item = sony_acpi_values; item->name; ++item)
if (item->proc)
@@ -350,13 +353,13 @@ static int sony_acpi_remove(struct acpi_
acpi_status status;
struct sony_acpi_value *item;
- if (debug) {
- status = acpi_remove_notify_handler(sony_acpi_handle,
- ACPI_DEVICE_NOTIFY,
- sony_acpi_notify);
- if (ACPI_FAILURE(status))
- printk(LOG_PFX "unable to remove notify handler\n");
- }
+ sony_acpi_acpi_device = NULL;
+
+ status = acpi_remove_notify_handler(sony_acpi_handle,
+ ACPI_DEVICE_NOTIFY,
+ sony_acpi_notify);
+ if (ACPI_FAILURE(status))
+ printk(LOG_PFX "unable to remove notify handler\n");
for (item = sony_acpi_values; item->name; ++item)
if (item->proc)
--
Stelian Pop <[email protected]>
On Fri, 05 Jan 2007 00:36:23 +0100
Stelian Pop <[email protected]> wrote:
> Added acpi_bus_generate event for forwarding Fn-keys pressed to acpi subsystem,
> and made correspondent necessary changes for this to work.
neato.
err, how does one use this?
Le jeudi 04 janvier 2007 ? 15:44 -0800, Andrew Morton a ?crit :
> On Fri, 05 Jan 2007 00:36:23 +0100
> Stelian Pop <[email protected]> wrote:
>
> > Added acpi_bus_generate event for forwarding Fn-keys pressed to acpi subsystem,
> > and made correspondent necessary changes for this to work.
>
> neato.
>
> err, how does one use this?
:)
Well, it seems that on some Vaios (including Nilton's pcg-frv26 but not
only this one), the Fn key events aren't seen by sonypi or sony_acpi
GHKE method, but do generate an ACPI notify event.
For those laptops, the patch forwards the ACPI event to the ACPI system
and can be later interpreted in userspace using
acpid's /etc/acpi/default.sh (example directly from Nilton):
> case "$group" in
> button)
> case "$action" in
> power) /usr/sbin/hibernate
> ;;
>
> lid) cat /proc/acpi/button/lid/LID/state
> ;;
>
> *) logger "ACPI action $action is not defined ($@)"
> ;;
> esac
> ;;
>
> SNC) echo "$@" > /dev/tcp/localhost/50007
> ;;
>
> *) logger "ACPI group $group / action $action is not defined"
> ;;
> esac
>
> In which I just forward the SNC event to another userspace application
> listening on a TCP port.
Stelian.
--
Stelian Pop <[email protected]>
On Jan 5 2007 00:36, Stelian Pop wrote:
>@@ -61,6 +61,7 @@ static struct acpi_driver sony_acpi_driv
>
> static acpi_handle sony_acpi_handle;
> static struct proc_dir_entry *sony_acpi_dir;
>+static struct acpi_device *sony_acpi_acpi_device = NULL;
acpi_acpi?
>@@ -310,7 +315,7 @@ static int sony_acpi_add(struct acpi_dev
> item->acpiset, &handle)))
> continue;
>
>- item->proc = create_proc_entry(item->name, 0600,
>+ item->proc = create_proc_entry(item->name, 0666,
> acpi_device_dir(device));
> if (!item->proc) {
> printk(LOG_PFX "unable to create proc entry\n");
Is this safe? I would not want normal users to poke on that.
-`J'
--
Himself owner of a VAIO U3.
Hi,
I own a Sony Vaio VGN-SZ340 and I had problems regarding acpi + it's
dual core processor. The guys from Intel gave me a workaround and now
it recognises both cores.
The problem is that it does not do cpu frequency scaling for both
cores, just for cpu0...And when I boot with acpi the Nvidia graphic
card doesnt work also.
I don't know if you know about these problems regarding sony acpi.
The guys from Intel said that this notebook have 2 dst's. So to detect
both cores the workaround just uses the second dst (although frequency
scaling does work for both.)
I can help you to fix this bug...I have the machine where we can do
some tests..
Best regards,
On 1/4/07, Andrew Morton <[email protected]> wrote:
> On Fri, 05 Jan 2007 00:36:23 +0100
> Stelian Pop <[email protected]> wrote:
>
> > Added acpi_bus_generate event for forwarding Fn-keys pressed to acpi subsystem,
> > and made correspondent necessary changes for this to work.
>
> neato.
>
> err, how does one use this?
> -
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
On Fri, 05 Jan 2007 00:54:32 +0100
Stelian Pop <[email protected]> wrote:
> Le jeudi 04 janvier 2007 ? 15:44 -0800, Andrew Morton a ?crit :
> > On Fri, 05 Jan 2007 00:36:23 +0100
> > Stelian Pop <[email protected]> wrote:
> >
> > > Added acpi_bus_generate event for forwarding Fn-keys pressed to acpi subsystem,
> > > and made correspondent necessary changes for this to work.
> >
> > neato.
> >
> > err, how does one use this?
>
> :)
>
> Well, it seems that on some Vaios (including Nilton's pcg-frv26 but not
> only this one), the Fn key events aren't seen by sonypi or sony_acpi
> GHKE method, but do generate an ACPI notify event.
Speak English ;)
> For those laptops, the patch forwards the ACPI event to the ACPI system
> and can be later interpreted in userspace using
> acpid's /etc/acpi/default.sh (example directly from Nilton):
The only things Mr Red Hat gave me are /etc/acpi/events/sample.conf and
/etc/acpi/events/video.conf.
> > case "$group" in
> > button)
> > case "$action" in
> > power) /usr/sbin/hibernate
> > ;;
> >
> > lid) cat /proc/acpi/button/lid/LID/state
> > ;;
> >
> > *) logger "ACPI action $action is not defined ($@)"
> > ;;
> > esac
> > ;;
> >
> > SNC) echo "$@" > /dev/tcp/localhost/50007
> > ;;
> >
> > *) logger "ACPI group $group / action $action is not defined"
> > ;;
> > esac
> >
> > In which I just forward the SNC event to another userspace application
> > listening on a TCP port.
>
I pressed then released a button and dmesg said
[ 76.961568] evbug.c: Event. Dev: <NULL>, Type: 1, Code: 148, Value: 1
[ 76.961576] evbug.c: Event. Dev: <NULL>, Type: 0, Code: 0, Value: 0
[ 76.963277] evbug.c: Event. Dev: <NULL>, Type: 1, Code: 148, Value: 0
[ 76.963284] evbug.c: Event. Dev: <NULL>, Type: 0, Code: 0, Value: 0
[ 76.967341] evbug.c: Event. Dev: <NULL>, Type: 1, Code: 148, Value: 1
[ 76.967349] evbug.c: Event. Dev: <NULL>, Type: 0, Code: 0, Value: 0
[ 76.968136] evbug.c: Event. Dev: <NULL>, Type: 1, Code: 148, Value: 0
[ 76.968143] evbug.c: Event. Dev: <NULL>, Type: 0, Code: 0, Value: 0
Nothing else happened.
On Fri, Jan 05, 2007 at 01:11:16AM +0100, Jan Engelhardt wrote:
>
> On Jan 5 2007 00:36, Stelian Pop wrote:
> >@@ -61,6 +61,7 @@ static struct acpi_driver sony_acpi_driv
> >
> > static acpi_handle sony_acpi_handle;
> > static struct proc_dir_entry *sony_acpi_dir;
> >+static struct acpi_device *sony_acpi_acpi_device = NULL;
>
> acpi_acpi?
>
> >@@ -310,7 +315,7 @@ static int sony_acpi_add(struct acpi_dev
> > item->acpiset, &handle)))
> > continue;
> >
> >- item->proc = create_proc_entry(item->name, 0600,
> >+ item->proc = create_proc_entry(item->name, 0666,
> > acpi_device_dir(device));
> > if (!item->proc) {
> > printk(LOG_PFX "unable to create proc entry\n");
>
> Is this safe? I would not want normal users to poke on that.
Hmmm, seconded. It also seems quite a gratuitous change and I have a
different patch that takes care of permissions and the /proc stuff is
going away in any case.
--
mattia
:wq!
Le jeudi 04 janvier 2007 ? 20:16 -0800, Andrew Morton a ?crit :
> On Fri, 05 Jan 2007 00:54:32 +0100
> Stelian Pop <[email protected]> wrote:
>
> > Le jeudi 04 janvier 2007 ? 15:44 -0800, Andrew Morton a ?crit :
> > > On Fri, 05 Jan 2007 00:36:23 +0100
> > > Stelian Pop <[email protected]> wrote:
> > >
> > > > Added acpi_bus_generate event for forwarding Fn-keys pressed to acpi subsystem,
> > > > and made correspondent necessary changes for this to work.
> > >
> > > neato.
> > >
> > > err, how does one use this?
> >
> > :)
> >
> > Well, it seems that on some Vaios (including Nilton's pcg-frv26 but not
> > only this one), the Fn key events aren't seen by sonypi or sony_acpi
> > GHKE method, but do generate an ACPI notify event.
>
> Speak English ;)
Oh, sorry, I'll try again :)
There are several ways of detecting the Fn key events, depending on the
Vaio series:
- some Vaios report them using the SPIC device (driven by sonypi)
- some Vaios let the driver poll for the Fn key status using the GHKE
ACPI method of the SNC device (driven by sony_acpi)
- some Vaios generate an ACPI notify event on the SNC device when a Fn
key is pressed - this is what the latest patch is for.
Unfortunately there are way too many different Vaio series, and no
information about what series support what method. I should have
maintained some sort of wiki to let the users build themselves a
comprehensive list, but I never get around to do it. Maybe Mattia could
do it if he has the time and will...
> > For those laptops, the patch forwards the ACPI event to the ACPI system
> > and can be later interpreted in userspace using
> > acpid's /etc/acpi/default.sh (example directly from Nilton):
>
> The only things Mr Red Hat gave me are /etc/acpi/events/sample.conf and
> /etc/acpi/events/video.conf.
Well, there was an /etc/acpi/default.sh in an older version of acpid...
I'm not sure what it looks like now on a recent Fedora but on my Ubuntu
I still have an acpid package, which has some files in /etc/acpi/
looking familiar.
> I pressed then released a button and dmesg said
>
> [ 76.961568] evbug.c: Event. Dev: <NULL>, Type: 1, Code: 148, Value: 1
> [ 76.961576] evbug.c: Event. Dev: <NULL>, Type: 0, Code: 0, Value: 0
> [ 76.963277] evbug.c: Event. Dev: <NULL>, Type: 1, Code: 148, Value: 0
> [ 76.963284] evbug.c: Event. Dev: <NULL>, Type: 0, Code: 0, Value: 0
> [ 76.967341] evbug.c: Event. Dev: <NULL>, Type: 1, Code: 148, Value: 1
> [ 76.967349] evbug.c: Event. Dev: <NULL>, Type: 0, Code: 0, Value: 0
> [ 76.968136] evbug.c: Event. Dev: <NULL>, Type: 1, Code: 148, Value: 0
> [ 76.968143] evbug.c: Event. Dev: <NULL>, Type: 0, Code: 0, Value: 0
>
> Nothing else happened.
Well, you got the events from evdev, which means you probably got them
directly from sonypi (or the regular keyboard..)
Unless your distribution does some neat tricks and somehow feeds the
events coming from somewhere into the event subsystem (like Ubuntu's
acpi_fakekey for example...).
Stelian.
--
Stelian Pop <[email protected]>
Le vendredi 05 janvier 2007 ? 01:11 +0100, Jan Engelhardt a ?crit :
> On Jan 5 2007 00:36, Stelian Pop wrote:
> >@@ -61,6 +61,7 @@ static struct acpi_driver sony_acpi_driv
> >
> > static acpi_handle sony_acpi_handle;
> > static struct proc_dir_entry *sony_acpi_dir;
> >+static struct acpi_device *sony_acpi_acpi_device = NULL;
>
> acpi_acpi?
Yeah, maybe Mattia will have more imagination than I at naming
variables :)
--
Stelian Pop <[email protected]>
Le jeudi 04 janvier 2007 ? 20:15 +0100, Mattia Dongili a ?crit :
> > > What needs to happen is
> > > 1. a maintainer for sony_acpi.c needs to step forward
> > > I can't do this, I'm not allowed to be in the reverse engineering business.
> >
> > Well, I can't do this either, because I just don't have the required
> > hardware anymore.
> >
> > If someone want to step forward now it is a great time !
>
> I have the hw and I'd be happy to do some basic working on the code
FYI, sonypi is also searching for a new maintainer, and it is quite
closely related to sony_acpi...
If you are interested by the job, it is all yours. :)
Stelian.
--
Stelian Pop <[email protected]>
On Fri, Jan 05, 2007 at 11:02:03AM +0100, Stelian Pop wrote:
> Le jeudi 04 janvier 2007 ? 20:15 +0100, Mattia Dongili a ?crit :
>
> > > > What needs to happen is
> > > > 1. a maintainer for sony_acpi.c needs to step forward
> > > > I can't do this, I'm not allowed to be in the reverse engineering business.
> > >
> > > Well, I can't do this either, because I just don't have the required
> > > hardware anymore.
> > >
> > > If someone want to step forward now it is a great time !
> >
> > I have the hw and I'd be happy to do some basic working on the code
>
> FYI, sonypi is also searching for a new maintainer, and it is quite
> closely related to sony_acpi...
Yes, probably the FnKeys stuff needs to worked out into a single driver
to ease it usage (I still remember some very old discussion about making
sonypi use the acpi methods to access the hw).
> If you are interested by the job, it is all yours. :)
Let's see if I can come up with something, I have also an ux50 that is
not very happy with current sonypi
Thanks
--
mattia
:wq!
On Jan 5 2007 13:13, Mattia Dongili wrote:
>
>> If you are interested by the job, it is all yours. :)
>
>Let's see if I can come up with something, I have also an ux50 that is
>not very happy with current sonypi
Feel free to contact me for testing on U3.
FnKey is done through sonypi here, if I unload it, `showkey` does not give
keycodes for them anymore.
-`J'
--
> > Well, HAL has used it for changing the brightness for the last year or
> > so: /proc/acpi/sony/brightness
> >
> > Although if you use a new enough HAL (CVS), the laptop will be supported
> > via the shiny new backlight class.
>
> great, -mm already has the /sys/class/backlight in place for sony_acpi
> and I suppose the /proc entry can be kept until 2.6.20 is released, i.e.
> just before pushing things for .21.
>
> Len, would you allow it?
Sure, no problem.
Checking it into my tree with /proc/acpi/sony is
no different than what is in -mm today.
When we push upstream, however, the /proc/acpi/sony part should be gone,
or at least scheduled for removal.
I suggest a sub CONFIG option under CONFIG_SONY_ACPI, say,
CONFIG_SONY_ACPI_PROCFS so you can #ifdef the code that
is going away.
thanks for stepping forward Mattia,
-Len
On Thursday 04 January 2007 21:20, MoRpHeUz wrote:
> Hi,
>
> I own a Sony Vaio VGN-SZ340 and I had problems regarding acpi + it's
> dual core processor. The guys from Intel gave me a workaround and now
> it recognises both cores.
What workaround are you using?
> The problem is that it does not do cpu frequency scaling for both
> cores, just for cpu0...And when I boot with acpi the Nvidia graphic
> card doesnt work also.
>
> I don't know if you know about these problems regarding sony acpi.
> The guys from Intel said that this notebook have 2 dst's. So to detect
> both cores the workaround just uses the second dst (although frequency
> scaling does work for both.)
>
> I can help you to fix this bug...I have the machine where we can do
> some tests..
The frequency scaling issue sounds like a BIOS/Linux incompatibility.
Please open a bugzilla, if you haven't already, and include the
output from acpidump.
The nvidia issue sounds like an interrupt issue, so please reproduce
it using the open source nvidia driver (not the nvidia binary),
and include the lspci -vv output, dmesg, and /proc/interrupts.
thanks,
-Len
> What workaround are you using?
This one: http://bugzilla.kernel.org/show_bug.cgi?id=7465
> The frequency scaling issue sounds like a BIOS/Linux incompatibility.
> Please open a bugzilla, if you haven't already, and include the
> output from acpidump.
I agree that it sound like a BIOS/Linux incompatibility. You can
find my acpidump and DSDT inside the link above. That bug is still
opened.
> The nvidia issue sounds like an interrupt issue, so please reproduce
> it using the open source nvidia driver (not the nvidia binary),
> and include the lspci -vv output, dmesg, and /proc/interrupts.
Will try that !
Thanks !
On Fri, Jan 05, 2007 at 12:02:30PM -0500, Len Brown wrote:
> > > Well, HAL has used it for changing the brightness for the last year or
> > > so: /proc/acpi/sony/brightness
> > >
> > > Although if you use a new enough HAL (CVS), the laptop will be supported
> > > via the shiny new backlight class.
> >
> > great, -mm already has the /sys/class/backlight in place for sony_acpi
> > and I suppose the /proc entry can be kept until 2.6.20 is released, i.e.
> > just before pushing things for .21.
> >
> > Len, would you allow it?
>
> Sure, no problem.
> Checking it into my tree with /proc/acpi/sony is
> no different than what is in -mm today.
>
> When we push upstream, however, the /proc/acpi/sony part should be gone,
> or at least scheduled for removal.
I'd rather avoid pushing mainline something already scheduled for
removal. Also, a workaround can eventually be implemented in the
userspace tools using /proc/acpi/sony
[...]
> thanks for stepping forward Mattia,
It's me who should thank :)
Thanks
--
mattia
:wq!
On Friday 05 January 2007 12:24, MoRpHeUz wrote:
> > What workaround are you using?
>
> This one: http://bugzilla.kernel.org/show_bug.cgi?id=7465
Ah yes, the duplicate MADT issue is clearly a BIOS bug.
It is possible that we can tweak our Linux workaround for it to be more
Microsoft Windows Bug Compatbile(TM).
> > The frequency scaling issue sounds like a BIOS/Linux incompatibility.
It looks like this issue results from that above,
rather than being an additional problem.
> > The nvidia issue sounds like an interrupt issue, so please reproduce
> > it using the open source nvidia driver (not the nvidia binary),
> > and include the lspci -vv output, dmesg, and /proc/interrupts.
>
> Will try that !
If interrupts fail using the open source nvidia driver, (and using the workaround
from the bug above to use the right MADT, please open a new bug report
as I think it would be an independent issue.
thanks,
-Len
On Friday 05 January 2007 11:10, Len Brown wrote:
> On Friday 05 January 2007 12:24, MoRpHeUz wrote:
> > > What workaround are you using?
> >
> > This one: http://bugzilla.kernel.org/show_bug.cgi?id=7465
>
> Ah yes, the duplicate MADT issue is clearly a BIOS bug.
> It is possible that we can tweak our Linux workaround for it to be more
> Microsoft Windows Bug Compatbile(TM).
Maybe Windows discovers processors using the namespace rather
than the MADT.
> Luming has a sony laptop and can help with this, but
> he can't be the permanent maintainer any more than I can, for the same reason.
> If we can get past #1, then I recommend we apply the patch series in -mm to
> the acpi-test tree and go from there.
Yes, I happen to have a sony laptop. So, I can help the permanent
maintainer of sony acpi driver on acpi related issues.
--Luming
On Friday 05 January 2007 23:09, Bjorn Helgaas wrote:
> On Friday 05 January 2007 11:10, Len Brown wrote:
> > On Friday 05 January 2007 12:24, MoRpHeUz wrote:
> > > > What workaround are you using?
> > >
> > > This one: http://bugzilla.kernel.org/show_bug.cgi?id=7465
> >
> > Ah yes, the duplicate MADT issue is clearly a BIOS bug.
> > It is possible that we can tweak our Linux workaround for it to be more
> > Microsoft Windows Bug Compatbile(TM).
>
> Maybe Windows discovers processors using the namespace rather
> than the MADT.
Nod.
Based on the fact that the 1st MADT on this box is toast, they're not using that.
If the last one also doesn't work universally, then they must be using the namespace.
For us to do the same would be a relatively significant change -- as it means
we either have to push SMP startup after the interpreter init, or move the
interpreter init yet sooner.
In general, over the last couple of years, we've been forced for compatibility
with various systems to move ACPI initialization sooner and sooner.
(I think the last issue was getting the HW into "ACPI mode" sooner
because some stuff I don't recall didn't work if we didn't)
It would probably make sense to experiment with what the soonest we
can initialize ACPI, as I have a feeling we're going to have to head that way.
-Len
Len Brown wrote:
> On Friday 05 January 2007 23:09, Bjorn Helgaas wrote:
>
>> On Friday 05 January 2007 11:10, Len Brown wrote:
>>
>>> On Friday 05 January 2007 12:24, MoRpHeUz wrote:
>>>
>>>>> What workaround are you using?
>>>>>
>>>> This one: http://bugzilla.kernel.org/show_bug.cgi?id=7465
>>>>
>>> Ah yes, the duplicate MADT issue is clearly a BIOS bug.
>>> It is possible that we can tweak our Linux workaround for it to be more
>>> Microsoft Windows Bug Compatbile(TM).
>>>
>> Maybe Windows discovers processors using the namespace rather
>> than the MADT.
>>
>
> Nod.
>
> Based on the fact that the 1st MADT on this box is toast, they're not using that.
> If the last one also doesn't work universally, then they must be using the namespace.
>
> For us to do the same would be a relatively significant change -- as it means
> we either have to push SMP startup after the interpreter init, or move the
> interpreter init yet sooner.
>
> In general, over the last couple of years, we've been forced for compatibility
> with various systems to move ACPI initialization sooner and sooner.
> (I think the last issue was getting the HW into "ACPI mode" sooner
> because some stuff I don't recall didn't work if we didn't)
> It would probably make sense to experiment with what the soonest we
> can initialize ACPI, as I have a feeling we're going to have to head that way.
>
> -Len
> -
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
If any of the two tables does not work, may be we need both together?
Regards,
Alex.