Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb095854 authored by Zhang Rui's avatar Zhang Rui Committed by Len Brown
Browse files

ACPI: use more understandable bus_id for ACPI devices



Some of the ACPI devices use the internal fake hids
which are exposed to userspace as devces' bus_id after sysfs conversion.
To make it more friendly, we convert them to more understandable strings.

For those devices w/o PNPids, we use "device:instance_no" as the bus_id
instead of "PNPIDNON:instance_no".

Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 2786f6e3
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ DEFINE_SPINLOCK(acpi_device_lock);
LIST_HEAD(acpi_wakeup_device_list);

struct acpi_device_bus_id{
	char bus_id[9];
	char bus_id[15];
	unsigned int instance_no;
	struct list_head node;
};
@@ -342,7 +342,7 @@ static int acpi_device_register(struct acpi_device *device,
	 * If failed, create one and link it into acpi_bus_id_list
	 */
	list_for_each_entry(acpi_device_bus_id, &acpi_bus_id_list, node) {
		if(!strcmp(acpi_device_bus_id->bus_id, device->flags.hardware_id? device->pnp.hardware_id : "PNPIDNON")) {
		if(!strcmp(acpi_device_bus_id->bus_id, device->flags.hardware_id? device->pnp.hardware_id : "device")) {
			acpi_device_bus_id->instance_no ++;
			found = 1;
			kfree(new_bus_id);
@@ -351,7 +351,7 @@ static int acpi_device_register(struct acpi_device *device,
	}
	if(!found) {
		acpi_device_bus_id = new_bus_id;
		strcpy(acpi_device_bus_id->bus_id, device->flags.hardware_id ? device->pnp.hardware_id : "PNPIDNON");
		strcpy(acpi_device_bus_id->bus_id, device->flags.hardware_id ? device->pnp.hardware_id : "device");
		acpi_device_bus_id->instance_no = 0;
		list_add_tail(&acpi_device_bus_id->node, &acpi_bus_id_list);
	}
+1 −1
Original line number Diff line number Diff line
@@ -184,7 +184,7 @@ struct acpi_device_dir {

typedef char acpi_bus_id[5];
typedef unsigned long acpi_bus_address;
typedef char acpi_hardware_id[9];
typedef char acpi_hardware_id[15];
typedef char acpi_unique_id[9];
typedef char acpi_device_name[40];
typedef char acpi_device_class[20];
+8 −8
Original line number Diff line number Diff line
@@ -36,14 +36,14 @@

/* _HID definitions */

#define ACPI_POWER_HID			"ACPI_PWR"
#define ACPI_PROCESSOR_HID		"ACPI_CPU"
#define ACPI_SYSTEM_HID			"ACPI_SYS"
#define ACPI_THERMAL_HID		"ACPI_THM"
#define ACPI_BUTTON_HID_POWERF		"ACPI_FPB"
#define ACPI_BUTTON_HID_SLEEPF		"ACPI_FSB"

#define ACPI_VIDEO_HID			"ACPI_VID"
#define ACPI_POWER_HID			"power_resource"
#define ACPI_PROCESSOR_HID		"processor"
#define ACPI_SYSTEM_HID			"acpi_system"
#define ACPI_THERMAL_HID		"thermal"
#define ACPI_BUTTON_HID_POWERF		"button_power"
#define ACPI_BUTTON_HID_SLEEPF		"button_sleep"
#define ACPI_VIDEO_HID			"video"
#define ACPI_BAY_HID			"bay"
/* --------------------------------------------------------------------------
                                       PCI
   -------------------------------------------------------------------------- */