linux/drivers/acpi
Zhang Rui e49bd2dd5a ACPI: use PNPID:instance_no as bus_id of ACPI device
Previously we used the device name in the DSDT, but would
crash upon encountering a duplicate. Also, exposing the
DSDT device name to the user in a patch isn't a good idea,
because it is arbitrary.

After some discussion, we finally decided to use
"PNPID:instance_no" as the bus_id of ACPI devices.

Two attributes for each device are added at the same time,
the full pathname in ACPI namespace and hardware_id if it has.

NOTE:	acpi_bus_id_list is used to keep the information of PNPID
	and instance number of the given PNPID. Loop the
	acpi_bus_id_list to find the instance_no of the	same PNPID
	when register a device. If failed, i.e. we don't have a
	node with this PNPID, allocate one and link it to this list.

NOTE:	Now I don't take the memory free work in charge.
	If necessary, I can add a reference count in
	struct acpi_device_bus_id, and check the reference and
	when unregister a device, i.e. memory is freed when
	the reference count of a given PNPID is 0.

Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2006-12-21 03:05:51 -05:00
..
dispatcher ACPI: ACPICA 20060707 2006-07-09 15:15:40 -04:00
events Pull bugzilla-5534 into test branch 2006-10-14 02:26:42 -04:00
executer Pull acpica-20060707 into test branch 2006-07-10 02:39:41 -04:00
hardware ACPI: Allow setting SCI_EN bit in PM1_CONTROL register 2006-10-10 17:14:44 -07:00
namespace ACPI: ACPICA 20060707 2006-07-09 15:15:40 -04:00
parser ACPI: acpi_os_allocate() fixes 2006-07-10 02:37:22 -04:00
resources ACPI: ACPICA 20060526 2006-06-14 02:44:35 -04:00
sleep ACPI: add 'const' to several ACPI file_operations 2006-07-10 00:04:29 -04:00
tables ACPI: fix printk format warnings 2006-10-14 01:59:46 -04:00
utilities Pull acpi_os_allocate into test branch 2006-07-10 02:39:47 -04:00
ac.c ACPI: fix boot with acpi=off 2006-08-15 23:16:43 -04:00
acpi_memhotplug.c [PATCH] acpi memory hotplug: remove strange add_memory fail message 2006-10-20 10:26:38 -07:00
asus_acpi.c ACPI: asus_acpi: don't printk on writing garbage to proc files 2006-10-14 02:03:49 -04:00
battery.c ACPI: add ACPI bus_type for driver model 2006-12-15 23:38:34 -05:00
blacklist.c [PATCH] x86_64: Clean up and tweak ACPI blacklist year code 2006-03-25 09:10:54 -08:00
bus.c ACPI: convert to sysfs framework 2006-12-15 23:38:34 -05:00
button.c ACPI: add 'const' to several ACPI file_operations 2006-07-10 00:04:29 -04:00
cm_sbs.c [PATCH] acpi NULL noise removal 2006-10-10 15:37:22 -07:00
container.c ACPI: convert to sysfs framework 2006-12-15 23:38:34 -05:00
debug.c ACPI: delete tracing macros from drivers/acpi/*.c 2006-06-27 00:41:40 -04:00
dock.c [PATCH] severing fs.h, radix-tree.h -> sched.h 2006-12-04 02:00:24 -05:00
ec.c ACPI: EC: export ec_transaction() for msi-laptop driver 2006-10-14 00:49:56 -04:00
event.c ACPI: add 'const' to several ACPI file_operations 2006-07-10 00:04:29 -04:00
fan.c ACPI: add ACPI bus_type for driver model 2006-12-15 23:38:34 -05:00
glue.c ACPI: Change ACPI to use dev_archdata instead of firmware_data 2006-12-01 14:52:01 -08:00
hotkey.c ACPI: hotkey.c fixes, fix for potential crash of hotkey.c 2006-08-16 18:08:06 -04:00
i2c_ec.c i2c: Constify i2c_algorithm declarations, part 2 2006-09-26 15:38:52 -07:00
i2c_ec.h ACPI: add support for Smart Battery 2006-07-01 16:36:14 -04:00
ibm_acpi.c ACPI: ibm_acpi: Remove experimental status for brightness and volume. 2006-10-14 00:32:22 -04:00
Kconfig fix drivers/acpi/Kconfig typos 2006-10-03 22:24:43 +02:00
Makefile ACPI: adjust init order 2006-12-15 23:38:34 -05:00
motherboard.c ACPI: consolidate two motherboard drivers into one 2006-12-15 23:38:35 -05:00
numa.c ACPI: remove function tracing macros from drivers/acpi/*.c 2006-07-01 16:48:23 -04:00
osl.c WorkStruct: Pass the work_struct pointer instead of context data 2006-11-22 14:55:48 +00:00
pci_bind.c ACPI: Set fake hid for non-PNPID ACPI devices 2006-12-15 23:38:35 -05:00
pci_irq.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
pci_link.c ACPI: acpi_pci_link_set() can allocate with either GFP_ATOMIC or GFP_KERNEL 2006-10-14 01:54:21 -04:00
pci_root.c ACPI: Convert ACPI PCI .bind/.unbind to use PCI bridge driver 2006-12-15 23:38:35 -05:00
power.c ACPI: fix potential OOPS in power driver with CONFIG_ACPI_DEBUG 2006-10-14 01:54:21 -04:00
processor_core.c ACPI: convert to sysfs framework 2006-12-15 23:38:34 -05:00
processor_idle.c [PATCH] fix "ACPI: Processor native C-states using MWAIT" 2006-10-20 10:26:37 -07:00
processor_perflib.c [PATCH] Correct bound checking from the value returned from _PPC method. 2006-11-23 09:18:55 -08:00
processor_thermal.c ACPI: delete tracing macros from drivers/acpi/*.c 2006-06-27 00:41:40 -04:00
processor_throttling.c ACPI: delete tracing macros from drivers/acpi/*.c 2006-06-27 00:41:40 -04:00
sbs.c ACPI: sbs: fix module_param() initializers 2006-10-14 00:34:00 -04:00
scan.c ACPI: use PNPID:instance_no as bus_id of ACPI device 2006-12-21 03:05:51 -05:00
system.c ACPI: add 'const' to several ACPI file_operations 2006-07-10 00:04:29 -04:00
tables.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
thermal.c ACPI: add ACPI bus_type for driver model 2006-12-15 23:38:34 -05:00
toshiba_acpi.c [ACPI] Lindent all ACPI files 2005-08-05 00:45:14 -04:00
utils.c ACPI: avoid irqrouter_resume might_sleep oops on resume from S4 2006-08-16 19:23:00 -04:00
video.c ACPI: Set fake hid for non-PNPID ACPI devices 2006-12-15 23:38:35 -05:00