Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932966Ab3GCVqx (ORCPT ); Wed, 3 Jul 2013 17:46:53 -0400 Received: from hydra.sisk.pl ([212.160.235.94]:57684 "EHLO hydra.sisk.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932221Ab3GCVqv (ORCPT ); Wed, 3 Jul 2013 17:46:51 -0400 From: "Rafael J. Wysocki" To: Thomas Renninger Cc: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, platform-driver-x86@vger.kernel.org, ibm-acpi-devel@lists.sourceforge.net, rui.zhang@intel.com, lenb@kernel.org, Matthew Garrett , Henrique de Moraes Holschuh Subject: Re: [PATCH 2/3] ACPI: Remove old /proc/acpi/event interface Date: Wed, 03 Jul 2013 23:56:27 +0200 Message-ID: <1545278.bq6oSR27Gq@vostro.rjw.lan> User-Agent: KMail/4.9.5 (Linux/3.10.0-rc5+; KDE/4.9.5; x86_64; ; ) In-Reply-To: <1372855719-34315-3-git-send-email-trenn@suse.de> References: <1372855719-34315-1-git-send-email-trenn@suse.de> <1372855719-34315-3-git-send-email-trenn@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 27038 Lines: 722 On Wednesday, July 03, 2013 02:48:38 PM Thomas Renninger wrote: > It is quite some time that this one is deprecated. > Get rid of it. > > If there should really some important user be overseen it could get reverted > and worked on the userspace program first. But it is time to do something to > get rid of this old stuff... Does this patch depend on the other patches in this series? Rafael > CC: rui.zhang@intel.com > CC: lenb@kernel.org > CC: Rafael J. Wysocki > CC: Matthew Garrett > CC: Henrique de Moraes Holschuh > Signed-off-by: Thomas Renninger > --- > Documentation/laptops/asus-laptop.txt | 8 +- > Documentation/laptops/sony-laptop.txt | 8 +- > Documentation/power/video_extension.txt | 15 ----- > drivers/acpi/Kconfig | 18 ----- > drivers/acpi/ac.c | 1 - > drivers/acpi/acpi_pad.c | 1 - > drivers/acpi/battery.c | 2 - > drivers/acpi/bus.c | 98 ---------------------------- > drivers/acpi/button.c | 2 - > drivers/acpi/event.c | 106 ------------------------------- > drivers/acpi/processor_driver.c | 4 - > drivers/acpi/sbs.c | 15 +---- > drivers/acpi/thermal.c | 3 - > drivers/acpi/video.c | 10 --- > drivers/platform/x86/asus-laptop.c | 1 - > drivers/platform/x86/eeepc-laptop.c | 1 - > drivers/platform/x86/fujitsu-laptop.c | 4 - > drivers/platform/x86/panasonic-laptop.c | 3 - > drivers/platform/x86/sony-laptop.c | 4 - > drivers/platform/x86/thinkpad_acpi.c | 11 --- > include/acpi/acpi_bus.h | 9 --- > 21 files changed, 10 insertions(+), 314 deletions(-) > > diff --git a/Documentation/laptops/asus-laptop.txt b/Documentation/laptops/asus-laptop.txt > index 69f9fb3..79a1bc6 100644 > --- a/Documentation/laptops/asus-laptop.txt > +++ b/Documentation/laptops/asus-laptop.txt > @@ -8,8 +8,8 @@ http://acpi4asus.sf.net/ > > This driver provides support for extra features of ACPI-compatible ASUS laptops. > It may also support some MEDION, JVC or VICTOR laptops (such as MEDION 9675 or > - VICTOR XP7210 for example). It makes all the extra buttons generate standard > - ACPI events that go through /proc/acpi/events and input events (like keyboards). > + VICTOR XP7210 for example). It makes all the extra buttons generate input > + events (like keyboards). > On some models adds support for changing the display brightness and output, > switching the LCD backlight on and off, and most importantly, allows you to > blink those fancy LEDs intended for reporting mail and wireless status. > @@ -55,8 +55,8 @@ Usage > DSDT) to me. > > That's all, now, all the events generated by the hotkeys of your laptop > - should be reported in your /proc/acpi/event entry. You can check with > - "acpi_listen". > + should be reported via netlink events. You can check with > + "acpi_genl monitor" (part of the acpica project). > > Hotkeys are also reported as input keys (like keyboards) you can check > which key are supported using "xev" under X11. > diff --git a/Documentation/laptops/sony-laptop.txt b/Documentation/laptops/sony-laptop.txt > index 0d5ac7f..978b1e6 100644 > --- a/Documentation/laptops/sony-laptop.txt > +++ b/Documentation/laptops/sony-laptop.txt > @@ -12,10 +12,10 @@ Fn keys (hotkeys): > ------------------ > Some models report hotkeys through the SNC or SPIC devices, such events are > reported both through the ACPI subsystem as acpi events and through the INPUT > -subsystem. See the logs of acpid or /proc/acpi/event and > -/proc/bus/input/devices to find out what those events are and which input > -devices are created by the driver. Additionally, loading the driver with the > -debug option will report all events in the kernel log. > +subsystem. See the logs of /proc/bus/input/devices to find out what those > +events are and which input devices are created by the driver. > +Additionally, loading the driver with the debug option will report all events > +in the kernel log. > > The "scancodes" passed to the input system (that can be remapped with udev) > are indexes to the table "sony_laptop_input_keycode_map" in the sony-laptop.c > diff --git a/Documentation/power/video_extension.txt b/Documentation/power/video_extension.txt > index b2f9b15..25ac682 100644 > --- a/Documentation/power/video_extension.txt > +++ b/Documentation/power/video_extension.txt > @@ -20,18 +20,3 @@ VGA/CRT : CRT output > VGA/LCD : LCD output > VGA/TVO : TV output > VGA/*/brightness : Used to get/set brightness of output device > - > -Notify event through /proc/acpi/event: > - > -#define ACPI_VIDEO_NOTIFY_SWITCH 0x80 > -#define ACPI_VIDEO_NOTIFY_PROBE 0x81 > -#define ACPI_VIDEO_NOTIFY_CYCLE 0x82 > -#define ACPI_VIDEO_NOTIFY_NEXT_OUTPUT 0x83 > -#define ACPI_VIDEO_NOTIFY_PREV_OUTPUT 0x84 > - > -#define ACPI_VIDEO_NOTIFY_CYCLE_BRIGHTNESS 0x82 > -#define ACPI_VIDEO_NOTIFY_INC_BRIGHTNESS 0x83 > -#define ACPI_VIDEO_NOTIFY_DEC_BRIGHTNESS 0x84 > -#define ACPI_VIDEO_NOTIFY_ZERO_BRIGHTNESS 0x85 > -#define ACPI_VIDEO_NOTIFY_DISPLAY_OFF 0x86 > - > diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig > index 100bd72..3278a21 100644 > --- a/drivers/acpi/Kconfig > +++ b/drivers/acpi/Kconfig > @@ -91,24 +91,6 @@ config ACPI_EC_DEBUGFS > Thus this option is a debug option that helps to write ACPI drivers > and can be used to identify ACPI code or EC firmware bugs. > > -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_AC > tristate "AC Adapter" > depends on X86 > diff --git a/drivers/acpi/ac.c b/drivers/acpi/ac.c > index 4f4e741..f37beaa3 100644 > --- a/drivers/acpi/ac.c > +++ b/drivers/acpi/ac.c > @@ -267,7 +267,6 @@ static void acpi_ac_notify(struct acpi_device *device, u32 event) > msleep(ac_sleep_before_get_state_ms); > > acpi_ac_get_state(ac); > - acpi_bus_generate_proc_event(device, event, (u32) ac->state); > acpi_bus_generate_netlink_event(device->pnp.device_class, > dev_name(&device->dev), event, > (u32) ac->state); > diff --git a/drivers/acpi/acpi_pad.c b/drivers/acpi/acpi_pad.c > index 27bb6a9..6230637 100644 > --- a/drivers/acpi/acpi_pad.c > +++ b/drivers/acpi/acpi_pad.c > @@ -452,7 +452,6 @@ static void acpi_pad_notify(acpi_handle handle, u32 event, > switch (event) { > case ACPI_PROCESSOR_AGGREGATOR_NOTIFY: > acpi_pad_handle_notify(handle); > - acpi_bus_generate_proc_event(device, event, 0); > acpi_bus_generate_netlink_event(device->pnp.device_class, > dev_name(&device->dev), event, 0); > break; > diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c > index e710045..5f6b595 100644 > --- a/drivers/acpi/battery.c > +++ b/drivers/acpi/battery.c > @@ -1034,8 +1034,6 @@ static void acpi_battery_notify(struct acpi_device *device, u32 event) > if (event == ACPI_BATTERY_NOTIFY_INFO) > acpi_battery_refresh(battery); > acpi_battery_update(battery); > - acpi_bus_generate_proc_event(device, event, > - acpi_battery_present(battery)); > acpi_bus_generate_netlink_event(device->pnp.device_class, > dev_name(&device->dev), event, > acpi_battery_present(battery)); > diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c > index 292de3c..2a0d8d2 100644 > --- a/drivers/acpi/bus.c > +++ b/drivers/acpi/bus.c > @@ -347,104 +347,6 @@ static void acpi_bus_osc_support(void) > } > > /* -------------------------------------------------------------------------- > - Event Management > - -------------------------------------------------------------------------- */ > - > -#ifdef CONFIG_ACPI_PROC_EVENT > -static DEFINE_SPINLOCK(acpi_bus_event_lock); > - > -LIST_HEAD(acpi_bus_event_list); > -DECLARE_WAIT_QUEUE_HEAD(acpi_bus_event_queue); > - > -extern int event_is_open; > - > -int acpi_bus_generate_proc_event4(const char *device_class, const char *bus_id, u8 type, int data) > -{ > - struct acpi_bus_event *event; > - unsigned long flags = 0; > - > - /* drop event on the floor if no one's listening */ > - if (!event_is_open) > - return 0; > - > - event = kzalloc(sizeof(struct acpi_bus_event), GFP_ATOMIC); > - if (!event) > - return -ENOMEM; > - > - strcpy(event->device_class, device_class); > - strcpy(event->bus_id, bus_id); > - event->type = type; > - event->data = data; > - > - spin_lock_irqsave(&acpi_bus_event_lock, flags); > - list_add_tail(&event->node, &acpi_bus_event_list); > - spin_unlock_irqrestore(&acpi_bus_event_lock, flags); > - > - wake_up_interruptible(&acpi_bus_event_queue); > - > - return 0; > - > -} > - > -EXPORT_SYMBOL_GPL(acpi_bus_generate_proc_event4); > - > -int acpi_bus_generate_proc_event(struct acpi_device *device, u8 type, int data) > -{ > - if (!device) > - return -EINVAL; > - return acpi_bus_generate_proc_event4(device->pnp.device_class, > - device->pnp.bus_id, type, data); > -} > - > -EXPORT_SYMBOL(acpi_bus_generate_proc_event); > - > -int acpi_bus_receive_event(struct acpi_bus_event *event) > -{ > - unsigned long flags = 0; > - struct acpi_bus_event *entry = NULL; > - > - DECLARE_WAITQUEUE(wait, current); > - > - > - if (!event) > - return -EINVAL; > - > - if (list_empty(&acpi_bus_event_list)) { > - > - set_current_state(TASK_INTERRUPTIBLE); > - add_wait_queue(&acpi_bus_event_queue, &wait); > - > - if (list_empty(&acpi_bus_event_list)) > - schedule(); > - > - remove_wait_queue(&acpi_bus_event_queue, &wait); > - set_current_state(TASK_RUNNING); > - > - if (signal_pending(current)) > - return -ERESTARTSYS; > - } > - > - spin_lock_irqsave(&acpi_bus_event_lock, flags); > - if (!list_empty(&acpi_bus_event_list)) { > - entry = list_entry(acpi_bus_event_list.next, > - struct acpi_bus_event, node); > - list_del(&entry->node); > - } > - spin_unlock_irqrestore(&acpi_bus_event_lock, flags); > - > - if (!entry) > - return -ENODEV; > - > - memcpy(event, entry, sizeof(struct acpi_bus_event)); > - > - kfree(entry); > - > - return 0; > -} > - > -#endif /* CONFIG_ACPI_PROC_EVENT */ > - > -/* -------------------------------------------------------------------------- > Notification Handling > -------------------------------------------------------------------------- */ > > diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c > index d2e617b..a557738 100644 > --- a/drivers/acpi/button.c > +++ b/drivers/acpi/button.c > @@ -303,8 +303,6 @@ static void acpi_button_notify(struct acpi_device *device, u32 event) > > pm_wakeup_event(&device->dev, 0); > } > - > - acpi_bus_generate_proc_event(device, event, ++button->pushed); > break; > default: > ACPI_DEBUG_PRINT((ACPI_DB_INFO, > diff --git a/drivers/acpi/event.c b/drivers/acpi/event.c > index 1442737..8247fcd 100644 > --- a/drivers/acpi/event.c > +++ b/drivers/acpi/event.c > @@ -21,100 +21,6 @@ > #define _COMPONENT ACPI_SYSTEM_COMPONENT > ACPI_MODULE_NAME("event"); > > -#ifdef CONFIG_ACPI_PROC_EVENT > -/* Global vars for handling event proc entry */ > -static DEFINE_SPINLOCK(acpi_system_event_lock); > -int event_is_open = 0; > -extern struct list_head acpi_bus_event_list; > -extern wait_queue_head_t acpi_bus_event_queue; > - > -static int acpi_system_open_event(struct inode *inode, struct file *file) > -{ > - spin_lock_irq(&acpi_system_event_lock); > - > - if (event_is_open) > - goto out_busy; > - > - event_is_open = 1; > - > - spin_unlock_irq(&acpi_system_event_lock); > - return 0; > - > - out_busy: > - spin_unlock_irq(&acpi_system_event_lock); > - return -EBUSY; > -} > - > -static ssize_t > -acpi_system_read_event(struct file *file, char __user * buffer, size_t count, > - loff_t * ppos) > -{ > - int result = 0; > - struct acpi_bus_event event; > - static char str[ACPI_MAX_STRING]; > - static int chars_remaining = 0; > - static char *ptr; > - > - if (!chars_remaining) { > - memset(&event, 0, sizeof(struct acpi_bus_event)); > - > - if ((file->f_flags & O_NONBLOCK) > - && (list_empty(&acpi_bus_event_list))) > - return -EAGAIN; > - > - result = acpi_bus_receive_event(&event); > - if (result) > - return result; > - > - chars_remaining = sprintf(str, "%s %s %08x %08x\n", > - event.device_class ? event. > - device_class : "", > - event.bus_id ? event. > - bus_id : "", event.type, > - event.data); > - ptr = str; > - } > - > - if (chars_remaining < count) { > - count = chars_remaining; > - } > - > - if (copy_to_user(buffer, ptr, count)) > - return -EFAULT; > - > - *ppos += count; > - chars_remaining -= count; > - ptr += count; > - > - return count; > -} > - > -static int acpi_system_close_event(struct inode *inode, struct file *file) > -{ > - spin_lock_irq(&acpi_system_event_lock); > - event_is_open = 0; > - spin_unlock_irq(&acpi_system_event_lock); > - return 0; > -} > - > -static unsigned int acpi_system_poll_event(struct file *file, poll_table * wait) > -{ > - poll_wait(file, &acpi_bus_event_queue, wait); > - if (!list_empty(&acpi_bus_event_list)) > - return POLLIN | POLLRDNORM; > - return 0; > -} > - > -static const struct file_operations acpi_system_event_ops = { > - .owner = THIS_MODULE, > - .open = acpi_system_open_event, > - .read = acpi_system_read_event, > - .release = acpi_system_close_event, > - .poll = acpi_system_poll_event, > - .llseek = default_llseek, > -}; > -#endif /* CONFIG_ACPI_PROC_EVENT */ > - > /* ACPI notifier chain */ > static BLOCKING_NOTIFIER_HEAD(acpi_chain_head); > > @@ -280,9 +186,6 @@ static int acpi_event_genetlink_init(void) > > static int __init acpi_event_init(void) > { > -#ifdef CONFIG_ACPI_PROC_EVENT > - struct proc_dir_entry *entry; > -#endif > int error = 0; > > if (acpi_disabled) > @@ -293,15 +196,6 @@ static int __init acpi_event_init(void) > if (error) > printk(KERN_WARNING PREFIX > "Failed to create genetlink family for ACPI event\n"); > - > -#ifdef CONFIG_ACPI_PROC_EVENT > - /* 'event' [R] */ > - entry = proc_create("event", S_IRUSR, acpi_root_dir, > - &acpi_system_event_ops); > - if (!entry) > - return -ENODEV; > -#endif > - > return 0; > } > > diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c > index c266cdc..c3a727e 100644 > --- a/drivers/acpi/processor_driver.c > +++ b/drivers/acpi/processor_driver.c > @@ -393,21 +393,17 @@ static void acpi_processor_notify(struct acpi_device *device, u32 event) > acpi_processor_ppc_has_changed(pr, 1); > if (saved == pr->performance_platform_limit) > break; > - acpi_bus_generate_proc_event(device, event, > - pr->performance_platform_limit); > acpi_bus_generate_netlink_event(device->pnp.device_class, > dev_name(&device->dev), event, > pr->performance_platform_limit); > break; > case ACPI_PROCESSOR_NOTIFY_POWER: > acpi_processor_cst_has_changed(pr); > - acpi_bus_generate_proc_event(device, event, 0); > acpi_bus_generate_netlink_event(device->pnp.device_class, > dev_name(&device->dev), event, 0); > break; > case ACPI_PROCESSOR_NOTIFY_THROTTLING: > acpi_processor_tstate_has_changed(pr); > - acpi_bus_generate_proc_event(device, event, 0); > acpi_bus_generate_netlink_event(device->pnp.device_class, > dev_name(&device->dev), event, 0); > break; > diff --git a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c > index b6241ee..aef7e1c 100644 > --- a/drivers/acpi/sbs.c > +++ b/drivers/acpi/sbs.c > @@ -873,14 +873,9 @@ static void acpi_sbs_callback(void *context) > u8 saved_charger_state = sbs->charger_present; > u8 saved_battery_state; > acpi_ac_get_present(sbs); > - if (sbs->charger_present != saved_charger_state) { > -#ifdef CONFIG_ACPI_PROC_EVENT > - acpi_bus_generate_proc_event4(ACPI_AC_CLASS, ACPI_AC_DIR_NAME, > - ACPI_SBS_NOTIFY_STATUS, > - sbs->charger_present); > -#endif > + if (sbs->charger_present != saved_charger_state) > kobject_uevent(&sbs->charger.dev->kobj, KOBJ_CHANGE); > - } > + > if (sbs->manager_present) { > for (id = 0; id < MAX_SBS_BAT; ++id) { > if (!(sbs->batteries_supported & (1 << id))) > @@ -890,12 +885,6 @@ static void acpi_sbs_callback(void *context) > acpi_battery_read(bat); > if (saved_battery_state == bat->present) > continue; > -#ifdef CONFIG_ACPI_PROC_EVENT > - acpi_bus_generate_proc_event4(ACPI_BATTERY_CLASS, > - bat->name, > - ACPI_SBS_NOTIFY_STATUS, > - bat->present); > -#endif > kobject_uevent(&bat->bat.dev->kobj, KOBJ_CHANGE); > } > } > diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c > index a33821c..547a906 100644 > --- a/drivers/acpi/thermal.c > +++ b/drivers/acpi/thermal.c > @@ -769,7 +769,6 @@ static int thermal_notify(struct thermal_zone_device *thermal, int trip, > else > return 0; > > - acpi_bus_generate_proc_event(tz->device, type, 1); > acpi_bus_generate_netlink_event(tz->device->pnp.device_class, > dev_name(&tz->device->dev), type, 1); > > @@ -980,14 +979,12 @@ static void acpi_thermal_notify(struct acpi_device *device, u32 event) > case ACPI_THERMAL_NOTIFY_THRESHOLDS: > acpi_thermal_trips_update(tz, ACPI_TRIPS_REFRESH_THRESHOLDS); > acpi_thermal_check(tz); > - acpi_bus_generate_proc_event(device, event, 0); > acpi_bus_generate_netlink_event(device->pnp.device_class, > dev_name(&device->dev), event, 0); > break; > case ACPI_THERMAL_NOTIFY_DEVICES: > acpi_thermal_trips_update(tz, ACPI_TRIPS_REFRESH_DEVICES); > acpi_thermal_check(tz); > - acpi_bus_generate_proc_event(device, event, 0); > acpi_bus_generate_netlink_event(device->pnp.device_class, > dev_name(&device->dev), event, 0); > break; > diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c > index 440eadf..8910fdf 100644 > --- a/drivers/acpi/video.c > +++ b/drivers/acpi/video.c > @@ -1556,7 +1556,6 @@ static void acpi_video_bus_notify(struct acpi_device *device, u32 event) > switch (event) { > case ACPI_VIDEO_NOTIFY_SWITCH: /* User requested a switch, > * most likely via hotkey. */ > - acpi_bus_generate_proc_event(device, event, 0); > keycode = KEY_SWITCHVIDEOMODE; > break; > > @@ -1564,20 +1563,16 @@ static void acpi_video_bus_notify(struct acpi_device *device, u32 event) > * connector. */ > acpi_video_device_enumerate(video); > acpi_video_device_rebind(video); > - acpi_bus_generate_proc_event(device, event, 0); > keycode = KEY_SWITCHVIDEOMODE; > break; > > case ACPI_VIDEO_NOTIFY_CYCLE: /* Cycle Display output hotkey pressed. */ > - acpi_bus_generate_proc_event(device, event, 0); > keycode = KEY_SWITCHVIDEOMODE; > break; > case ACPI_VIDEO_NOTIFY_NEXT_OUTPUT: /* Next Display output hotkey pressed. */ > - acpi_bus_generate_proc_event(device, event, 0); > keycode = KEY_VIDEO_NEXT; > break; > case ACPI_VIDEO_NOTIFY_PREV_OUTPUT: /* previous Display output hotkey pressed. */ > - acpi_bus_generate_proc_event(device, event, 0); > keycode = KEY_VIDEO_PREV; > break; > > @@ -1620,31 +1615,26 @@ static void acpi_video_device_notify(acpi_handle handle, u32 event, void *data) > case ACPI_VIDEO_NOTIFY_CYCLE_BRIGHTNESS: /* Cycle brightness */ > if (brightness_switch_enabled) > acpi_video_switch_brightness(video_device, event); > - acpi_bus_generate_proc_event(device, event, 0); > keycode = KEY_BRIGHTNESS_CYCLE; > break; > case ACPI_VIDEO_NOTIFY_INC_BRIGHTNESS: /* Increase brightness */ > if (brightness_switch_enabled) > acpi_video_switch_brightness(video_device, event); > - acpi_bus_generate_proc_event(device, event, 0); > keycode = KEY_BRIGHTNESSUP; > break; > case ACPI_VIDEO_NOTIFY_DEC_BRIGHTNESS: /* Decrease brightness */ > if (brightness_switch_enabled) > acpi_video_switch_brightness(video_device, event); > - acpi_bus_generate_proc_event(device, event, 0); > keycode = KEY_BRIGHTNESSDOWN; > break; > case ACPI_VIDEO_NOTIFY_ZERO_BRIGHTNESS: /* zero brightness */ > if (brightness_switch_enabled) > acpi_video_switch_brightness(video_device, event); > - acpi_bus_generate_proc_event(device, event, 0); > keycode = KEY_BRIGHTNESS_ZERO; > break; > case ACPI_VIDEO_NOTIFY_DISPLAY_OFF: /* display device off */ > if (brightness_switch_enabled) > acpi_video_switch_brightness(video_device, event); > - acpi_bus_generate_proc_event(device, event, 0); > keycode = KEY_DISPLAY_OFF; > break; > default: > diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c > index 0eea09c..9d1d1c2 100644 > --- a/drivers/platform/x86/asus-laptop.c > +++ b/drivers/platform/x86/asus-laptop.c > @@ -1543,7 +1543,6 @@ static void asus_acpi_notify(struct acpi_device *device, u32 event) > > /* TODO Find a better way to handle events count. */ > count = asus->event_count[event % 128]++; > - acpi_bus_generate_proc_event(asus->device, event, count); > acpi_bus_generate_netlink_event(asus->device->pnp.device_class, > dev_name(&asus->device->dev), event, > count); > diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c > index 5d26e70..a6afd41 100644 > --- a/drivers/platform/x86/eeepc-laptop.c > +++ b/drivers/platform/x86/eeepc-laptop.c > @@ -1269,7 +1269,6 @@ static void eeepc_acpi_notify(struct acpi_device *device, u32 event) > if (event > ACPI_MAX_SYS_NOTIFY) > return; > count = eeepc->event_count[event % 128]++; > - acpi_bus_generate_proc_event(device, event, count); > acpi_bus_generate_netlink_event(device->pnp.device_class, > dev_name(&device->dev), event, > count); > diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c > index 1c9386e..52b8a97 100644 > --- a/drivers/platform/x86/fujitsu-laptop.c > +++ b/drivers/platform/x86/fujitsu-laptop.c > @@ -773,8 +773,6 @@ static void acpi_fujitsu_notify(struct acpi_device *device, u32 event) > else > set_lcd_level(newb); > } > - acpi_bus_generate_proc_event(fujitsu->dev, > - ACPI_VIDEO_NOTIFY_INC_BRIGHTNESS, 0); > keycode = KEY_BRIGHTNESSUP; > } else if (oldb > newb) { > if (disable_brightness_adjust != 1) { > @@ -783,8 +781,6 @@ static void acpi_fujitsu_notify(struct acpi_device *device, u32 event) > else > set_lcd_level(newb); > } > - acpi_bus_generate_proc_event(fujitsu->dev, > - ACPI_VIDEO_NOTIFY_DEC_BRIGHTNESS, 0); > keycode = KEY_BRIGHTNESSDOWN; > } > break; > diff --git a/drivers/platform/x86/panasonic-laptop.c b/drivers/platform/x86/panasonic-laptop.c > index 4add9a3..984253d 100644 > --- a/drivers/platform/x86/panasonic-laptop.c > +++ b/drivers/platform/x86/panasonic-laptop.c > @@ -464,9 +464,6 @@ static void acpi_pcc_generate_keyinput(struct pcc_acpi *pcc) > "error getting hotkey status\n")); > return; > } > - > - acpi_bus_generate_proc_event(pcc->device, HKEY_NOTIFY, result); > - > if (!sparse_keymap_report_event(hotk_input_dev, > result & 0xf, result & 0x80, false)) > ACPI_DEBUG_PRINT((ACPI_DB_ERROR, > diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c > index 2ac045f..069821b 100644 > --- a/drivers/platform/x86/sony-laptop.c > +++ b/drivers/platform/x86/sony-laptop.c > @@ -1275,9 +1275,6 @@ static void sony_nc_notify(struct acpi_device *device, u32 event) > ev_type = HOTKEY; > sony_laptop_report_input_event(real_ev); > } > - > - acpi_bus_generate_proc_event(sony_nc_acpi_device, ev_type, real_ev); > - > acpi_bus_generate_netlink_event(sony_nc_acpi_device->pnp.device_class, > dev_name(&sony_nc_acpi_device->dev), ev_type, real_ev); > } > @@ -4243,7 +4240,6 @@ static irqreturn_t sony_pic_irq(int irq, void *dev_id) > > found: > sony_laptop_report_input_event(device_event); > - acpi_bus_generate_proc_event(dev->acpi_dev, 1, device_event); > sonypi_compat_report_event(device_event); > return IRQ_HANDLED; > } > diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c > index 54d31c0..e946c0d 100644 > --- a/drivers/platform/x86/thinkpad_acpi.c > +++ b/drivers/platform/x86/thinkpad_acpi.c > @@ -2282,10 +2282,6 @@ static struct tp_acpi_drv_struct ibm_hotkey_acpidriver; > static void tpacpi_hotkey_send_key(unsigned int scancode) > { > tpacpi_input_send_key_masked(scancode); > - if (hotkey_report_mode < 2) { > - acpi_bus_generate_proc_event(ibm_hotkey_acpidriver.device, > - 0x80, TP_HKEY_EV_HOTKEY_BASE + scancode); > - } > } > > static void hotkey_read_nvram(struct tp_nvram_state *n, const u32 m) > @@ -3737,13 +3733,6 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event) > "event happened to %s\n", TPACPI_MAIL); > } > > - /* Legacy events */ > - if (!ignore_acpi_ev && > - (send_acpi_ev || hotkey_report_mode < 2)) { > - acpi_bus_generate_proc_event(ibm->acpi->device, > - event, hkey); > - } > - > /* netlink events */ > if (!ignore_acpi_ev && send_acpi_ev) { > acpi_bus_generate_netlink_event( > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h > index c13c919..09ce5b3 100644 > --- a/include/acpi/acpi_bus.h > +++ b/include/acpi/acpi_bus.h > @@ -392,15 +392,6 @@ bool acpi_bus_can_wakeup(acpi_handle handle); > static inline bool acpi_bus_can_wakeup(acpi_handle handle) { return false; } > #endif > > -#ifdef CONFIG_ACPI_PROC_EVENT > -int acpi_bus_generate_proc_event(struct acpi_device *device, u8 type, int data); > -int acpi_bus_generate_proc_event4(const char *class, const char *bid, u8 type, int data); > -int acpi_bus_receive_event(struct acpi_bus_event *event); > -#else > -static inline int acpi_bus_generate_proc_event(struct acpi_device *device, u8 type, int data) > - { return 0; } > -#endif > - > void acpi_scan_lock_acquire(void); > void acpi_scan_lock_release(void); > int acpi_scan_add_handler(struct acpi_scan_handler *handler); > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/