Bug 66681

Summary: CONFIG_ACPI_PROCFS does not provide /proc/acpi/event needed for acpid
Product: ACPI Reporter: Eric Renfro (erenfro)
Component: Config-OtherAssignee: acpi_config-other
Status: CLOSED DOCUMENTED    
Severity: high CC: aaron.lu, ajb, erenfro, lenb, rjw, tianyu.lan, toracat, trenn
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.12.x Subsystem:
Regression: No Bisected commit-id:

Description Eric Renfro 2013-12-06 03:08:16 UTC
CONFIG_ACPI_PROC_EVENT was deprecated and moved into CONFIG_ACPI_PROCFS, but it appears that /proc/acpi/event is not being generated when this option is enabled.

The Kconfig from 3.12 showed the following:

< config ACPI_PROC_EVENT
<       bool "Deprecated /proc/acpi/event support"
<       depends on PROC_FS
<       default y
<       help
<         A user-space daemon, acpid, typically reads /proc/acpi/event
<         and handles all ACPI-generated events.
< 
<         These events are now delivered to user-space either
<         via the input layer or as netlink events.
< 
<         This build option enables the old code for legacy
<         user-space implementation.  After some time, this will
<         be moved under CONFIG_ACPI_PROCFS, and then deleted.
< 
<         Say Y here to retain the old behaviour.  Say N if your
<         user-space is newer than kernel 2.6.23 (September 2007).
< 
< config ACPI_I2C
<       def_tristate I2C
<       depends on I2C
<       help
<         ACPI I2C enumeration support.
< 

This suggests that the option would still provide the procfs events, just be under the new configuration directive while providing the newer user-space input layer or netlink events (which method isn't mentioned in the Kconfig).

This was originally reported as a bug for elrepo for CentOS 6.x:
http://elrepo.org/bugs/view.php?id=435
Comment 1 Alan Bartlett 2013-12-06 03:39:31 UTC
The sections of the Kconfig file, quoted above, are from 3.11.X sources and not from the 3.12.Y sources.
Comment 2 Lan Tianyu 2013-12-06 04:33:00 UTC
The /proc/acpi/event is removed by following commt which is merged in v3.12-rc1.

commit 1696d9dc57e062ce5200f6a42a6aaada15b434bb
Author: Thomas Renninger <trenn@suse.de>
Date:   Mon Jul 15 10:15:09 2013 +0200

    ACPI: Remove the old /proc/acpi/event interface
    
    It is quite some time that this one has been deprecated.
    Get rid of it.
    
    Should some really important user be overseen, it may be reverted and
    the userspace program worked on first, but it is time to do something
    to get rid of this old stuff...
    
    Signed-off-by: Thomas Renninger <trenn@suse.de>
    Acked-by: Matthew Garrett <matthew.garrett@nebula.com>
    Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Comment 3 Aaron Lu 2013-12-06 06:16:39 UTC
+ Thomas and Rafael

It seems CentOS 6 is still shipping acpid-1 which only uses /proc/acpi/event, can you please take a look at this problem? Thanks.
Comment 4 Thomas Renninger 2013-12-06 11:00:19 UTC
Sorry, but this interface is deprecated for about 5 years.
It is set deprecated since 2007:
commit 14e04fb34ffa82ee61ae69f98d8fca12d2e8e31c
Author: Len Brown <len.brown@intel.com>
Date:   Thu Aug 23 15:20:26 2007 -0400

If CentOS is using/supporting a recent kernel on a that old userspace stack, they have to revert commit 1696d9dc57e062ce5200f6a42a6aaada15b434bb in their kernels.
Mainline has to move on at some point of time...

Setting resolved documented.