Skip to contentSkip to conversation

ACPI: rename acpi_evaluate_hotplug_ost to acpi_evaluate_ost for reuse

PATCH In review Jiang Liu 4 participants 13 messages Feb 19, 2014 – Feb 21, 2014

Subsystems (3)
lore
Share & tools
lore

Jiang Liu

author
#0 lore raw

PATCH v2 1/5 ACPI: rename acpi_evaluate_hotplug_ost to acpi_evaluate_ost for reuse

Rename acpi_evaluate_hotplug_ost() to acpi_evaluate_ost() for later resue.

---
 drivers/acpi/utils.c    |   14 ++++----------
 include/acpi/acpi_bus.h |   10 +++++++++-
 2 files changed, 13 insertions(+), 11 deletions(-)
drivers/acpi/utils.c +4 -10
index 85e3b61..19d0169 100644
@@ -433,17 +433,15 @@ EXPORT_SYMBOL(acpi_get_physical_device_location);
  * When the platform does not support _OST, this function has no effect.
  */
 acpi_status
-acpi_evaluate_hotplug_ost(acpi_handle handle, u32 source_event,
-		u32 status_code, struct acpi_buffer *status_buf)
+acpi_evaluate_ost(acpi_handle handle, u32 source_event, u32 status_code,
+		  struct acpi_buffer *status_buf)
 {
-#ifdef ACPI_HOTPLUG_OST
 	union acpi_object params[3] = {
 		{.type = ACPI_TYPE_INTEGER,},
 		{.type = ACPI_TYPE_INTEGER,},
 		{.type = ACPI_TYPE_BUFFER,}
 	};
 	struct acpi_object_list arg_list = {3, params};
-	acpi_status status;
 
 	params[0].integer.value = source_event;
 	params[1].integer.value = status_code;
@@ -455,13 +453,9 @@ acpi_evaluate_hotplug_ost(acpi_handle handle, u32 source_event,
 		params[2].buffer.length = 0;
 	}
 
-	status = acpi_evaluate_object(handle, "_OST", &arg_list, NULL);
-	return status;
-#else
-	return AE_OK;
-#endif
+	return acpi_evaluate_object(handle, "_OST", &arg_list, NULL);
 }
-EXPORT_SYMBOL(acpi_evaluate_hotplug_ost);
+EXPORT_SYMBOL(acpi_evaluate_ost);
 
 /**
  * acpi_handle_printk: Print message with ACPI prefix and object path
include/acpi/acpi_bus.h +9 -1
index 8256eb4..adef502 100644
@@ -49,8 +49,16 @@ acpi_evaluate_reference(acpi_handle handle,
 			struct acpi_object_list *arguments,
 			struct acpi_handle_list *list);
 acpi_status
+acpi_evaluate_ost(acpi_handle handle, u32 source_event, u32 status_code,
+		  struct acpi_buffer *status_buf);
+#ifdef ACPI_HOTPLUG_OST
+#define	acpi_evaluate_hotplug_ost	acpi_evaluate_ost
+#else
+static inline acpi_status
 acpi_evaluate_hotplug_ost(acpi_handle handle, u32 source_event,
-			u32 status_code, struct acpi_buffer *status_buf);
+			u32 status_code, struct acpi_buffer *status_buf)
+{ return AE_OK; }
+#endif
 
 acpi_status
 acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld);
Signature · 1 line
1.7.10.4
author
#1 lore raw

PATCH v2 2/5 acpi_pad: use acpi_evaluate_ost() to replace open-coded version

Use public function acpi_evaluate_ost() to replace open-coded version of evaluating ACPI _OST method.

---
 drivers/acpi/acpi_pad.c |   24 +++++-------------------
 1 file changed, 5 insertions(+), 19 deletions(-)
drivers/acpi/acpi_pad.c +5 -19
index df96a0f..37d7302 100644
@@ -408,28 +408,14 @@ static int acpi_pad_pur(acpi_handle handle)
 	return num;
 }
 
-/* Notify firmware how many CPUs are idle */
-static void acpi_pad_ost(acpi_handle handle, int stat,
-	uint32_t idle_cpus)
-{
-	union acpi_object params[3] = {
-		{.type = ACPI_TYPE_INTEGER,},
-		{.type = ACPI_TYPE_INTEGER,},
-		{.type = ACPI_TYPE_BUFFER,},
-	};
-	struct acpi_object_list arg_list = {3, params};
-
-	params[0].integer.value = ACPI_PROCESSOR_AGGREGATOR_NOTIFY;
-	params[1].integer.value =  stat;
-	params[2].buffer.length = 4;
-	params[2].buffer.pointer = (void *)&idle_cpus;
-	acpi_evaluate_object(handle, "_OST", &arg_list, NULL);
-}
-
 static void acpi_pad_handle_notify(acpi_handle handle)
 {
 	int num_cpus;
 	uint32_t idle_cpus;
+	struct acpi_buffer param = {
+		.length = 4,
+		.pointer = (void *)&idle_cpus,
+	};
 
 	mutex_lock(&isolated_cpus_lock);
 	num_cpus = acpi_pad_pur(handle);
@@ -439,7 +425,7 @@ static void acpi_pad_handle_notify(acpi_handle handle)
 	}
 	acpi_pad_idle_cpus(num_cpus);
 	idle_cpus = acpi_pad_idle_cpus_num();
-	acpi_pad_ost(handle, 0, idle_cpus);
+	acpi_evaluate_ost(handle, ACPI_PROCESSOR_AGGREGATOR_NOTIFY, 0, &param);
 	mutex_unlock(&isolated_cpus_lock);
 }
 
Signature · 1 line
1.7.10.4
author
#2 lore raw

PATCH v2 3/5 xen, acpi_pad: use acpi_evaluate_ost() to replace open-coded version

In reply to Jiang Liu

Use public function acpi_evaluate_ost() to replace open-coded version of evaluating ACPI _OST method.

---
 drivers/xen/xen-acpi-pad.c |   26 +++++++-------------------
 1 file changed, 7 insertions(+), 19 deletions(-)
drivers/xen/xen-acpi-pad.c +7 -19
index 40c4bc0..f83b754 100644
@@ -77,27 +77,14 @@ static int acpi_pad_pur(acpi_handle handle)
 	return num;
 }
 
-/* Notify firmware how many CPUs are idle */
-static void acpi_pad_ost(acpi_handle handle, int stat,
-	uint32_t idle_nums)
-{
-	union acpi_object params[3] = {
-		{.type = ACPI_TYPE_INTEGER,},
-		{.type = ACPI_TYPE_INTEGER,},
-		{.type = ACPI_TYPE_BUFFER,},
-	};
-	struct acpi_object_list arg_list = {3, params};
-
-	params[0].integer.value = ACPI_PROCESSOR_AGGREGATOR_NOTIFY;
-	params[1].integer.value =  stat;
-	params[2].buffer.length = 4;
-	params[2].buffer.pointer = (void *)&idle_nums;
-	acpi_evaluate_object(handle, "_OST", &arg_list, NULL);
-}
-
 static void acpi_pad_handle_notify(acpi_handle handle)
 {
 	int idle_nums;
+	struct acpi_buffer param = {
+		.length = 4,
+		.pointer = (void *)&idle_nums,
+	};
+
 
 	mutex_lock(&xen_cpu_lock);
 	idle_nums = acpi_pad_pur(handle);
@@ -109,7 +96,8 @@ static void acpi_pad_handle_notify(acpi_handle handle)
 	idle_nums = xen_acpi_pad_idle_cpus(idle_nums)
 		    ?: xen_acpi_pad_idle_cpus_num();
 	if (idle_nums >= 0)
-		acpi_pad_ost(handle, 0, idle_nums);
+		acpi_evaluate_ost(handle, ACPI_PROCESSOR_AGGREGATOR_NOTIFY,
+				  0, &param);
 	mutex_unlock(&xen_cpu_lock);
 }
 
Signature · 1 line
1.7.10.4
#3 lore raw

Re: [Patch v2 3/5] xen, acpi_pad: use acpi_evaluate_ost() to replace open-coded version

Quoted 3 lines · Jiang Liu

Use public function acpi_evaluate_ost() to replace open-coded version of evaluating ACPI _OST method.

Looks OK to me.

Quoted 55 lines
---
 drivers/xen/xen-acpi-pad.c |   26 +++++++-------------------
 1 file changed, 7 insertions(+), 19 deletions(-)
drivers/xen/xen-acpi-pad.c +7 -19
index 40c4bc0..f83b754 100644
@@ -77,27 +77,14 @@ static int acpi_pad_pur(acpi_handle handle)
 	return num;
 }
 
-/* Notify firmware how many CPUs are idle */
-static void acpi_pad_ost(acpi_handle handle, int stat,
-	uint32_t idle_nums)
-{
-	union acpi_object params[3] = {
-		{.type = ACPI_TYPE_INTEGER,},
-		{.type = ACPI_TYPE_INTEGER,},
-		{.type = ACPI_TYPE_BUFFER,},
-	};
-	struct acpi_object_list arg_list = {3, params};
-
-	params[0].integer.value = ACPI_PROCESSOR_AGGREGATOR_NOTIFY;
-	params[1].integer.value =  stat;
-	params[2].buffer.length = 4;
-	params[2].buffer.pointer = (void *)&idle_nums;
-	acpi_evaluate_object(handle, "_OST", &arg_list, NULL);
-}
-
 static void acpi_pad_handle_notify(acpi_handle handle)
 {
 	int idle_nums;
+	struct acpi_buffer param = {
+		.length = 4,
+		.pointer = (void *)&idle_nums,
+	};
+
 
 	mutex_lock(&xen_cpu_lock);
 	idle_nums = acpi_pad_pur(handle);
@@ -109,7 +96,8 @@ static void acpi_pad_handle_notify(acpi_handle handle)
 	idle_nums = xen_acpi_pad_idle_cpus(idle_nums)
 		    ?: xen_acpi_pad_idle_cpus_num();
 	if (idle_nums >= 0)
-		acpi_pad_ost(handle, 0, idle_nums);
+		acpi_evaluate_ost(handle, ACPI_PROCESSOR_AGGREGATOR_NOTIFY,
+				  0, &param);
 	mutex_unlock(&xen_cpu_lock);
 }
 
Signature · 1 line
1.7.10.4
#4 lore raw

Re: [Patch v2 3/5] xen, acpi_pad: use acpi_evaluate_ost() to replace open-coded version

In reply to Jiang Liu
Quoted 3 lines · Jiang Liu

Use public function acpi_evaluate_ost() to replace open-coded version of evaluating ACPI _OST method.

Looks OK to me.

Quoted 55 lines
---
 drivers/xen/xen-acpi-pad.c |   26 +++++++-------------------
 1 file changed, 7 insertions(+), 19 deletions(-)
drivers/xen/xen-acpi-pad.c +7 -19
index 40c4bc0..f83b754 100644
@@ -77,27 +77,14 @@ static int acpi_pad_pur(acpi_handle handle)
 	return num;
 }
 
-/* Notify firmware how many CPUs are idle */
-static void acpi_pad_ost(acpi_handle handle, int stat,
-	uint32_t idle_nums)
-{
-	union acpi_object params[3] = {
-		{.type = ACPI_TYPE_INTEGER,},
-		{.type = ACPI_TYPE_INTEGER,},
-		{.type = ACPI_TYPE_BUFFER,},
-	};
-	struct acpi_object_list arg_list = {3, params};
-
-	params[0].integer.value = ACPI_PROCESSOR_AGGREGATOR_NOTIFY;
-	params[1].integer.value =  stat;
-	params[2].buffer.length = 4;
-	params[2].buffer.pointer = (void *)&idle_nums;
-	acpi_evaluate_object(handle, "_OST", &arg_list, NULL);
-}
-
 static void acpi_pad_handle_notify(acpi_handle handle)
 {
 	int idle_nums;
+	struct acpi_buffer param = {
+		.length = 4,
+		.pointer = (void *)&idle_nums,
+	};
+
 
 	mutex_lock(&xen_cpu_lock);
 	idle_nums = acpi_pad_pur(handle);
@@ -109,7 +96,8 @@ static void acpi_pad_handle_notify(acpi_handle handle)
 	idle_nums = xen_acpi_pad_idle_cpus(idle_nums)
 		    ?: xen_acpi_pad_idle_cpus_num();
 	if (idle_nums >= 0)
-		acpi_pad_ost(handle, 0, idle_nums);
+		acpi_evaluate_ost(handle, ACPI_PROCESSOR_AGGREGATOR_NOTIFY,
+				  0, &param);
 	mutex_unlock(&xen_cpu_lock);
 }
 
Signature · 1 line
1.7.10.4
author
#5 lore raw

PATCH v2 3/5 xen, acpi_pad: use acpi_evaluate_ost() to replace open-coded version

In reply to Jiang Liu

Use public function acpi_evaluate_ost() to replace open-coded version of evaluating ACPI _OST method.

---
 drivers/xen/xen-acpi-pad.c |   26 +++++++-------------------
 1 file changed, 7 insertions(+), 19 deletions(-)
drivers/xen/xen-acpi-pad.c +7 -19
index 40c4bc0..f83b754 100644
@@ -77,27 +77,14 @@ static int acpi_pad_pur(acpi_handle handle)
 	return num;
 }
 
-/* Notify firmware how many CPUs are idle */
-static void acpi_pad_ost(acpi_handle handle, int stat,
-	uint32_t idle_nums)
-{
-	union acpi_object params[3] = {
-		{.type = ACPI_TYPE_INTEGER,},
-		{.type = ACPI_TYPE_INTEGER,},
-		{.type = ACPI_TYPE_BUFFER,},
-	};
-	struct acpi_object_list arg_list = {3, params};
-
-	params[0].integer.value = ACPI_PROCESSOR_AGGREGATOR_NOTIFY;
-	params[1].integer.value =  stat;
-	params[2].buffer.length = 4;
-	params[2].buffer.pointer = (void *)&idle_nums;
-	acpi_evaluate_object(handle, "_OST", &arg_list, NULL);
-}
-
 static void acpi_pad_handle_notify(acpi_handle handle)
 {
 	int idle_nums;
+	struct acpi_buffer param = {
+		.length = 4,
+		.pointer = (void *)&idle_nums,
+	};
+
 
 	mutex_lock(&xen_cpu_lock);
 	idle_nums = acpi_pad_pur(handle);
@@ -109,7 +96,8 @@ static void acpi_pad_handle_notify(acpi_handle handle)
 	idle_nums = xen_acpi_pad_idle_cpus(idle_nums)
 		    ?: xen_acpi_pad_idle_cpus_num();
 	if (idle_nums >= 0)
-		acpi_pad_ost(handle, 0, idle_nums);
+		acpi_evaluate_ost(handle, ACPI_PROCESSOR_AGGREGATOR_NOTIFY,
+				  0, &param);
 	mutex_unlock(&xen_cpu_lock);
 }
 
Signature · 1 line
1.7.10.4
author
#6 lore raw

PATCH v2 4/5 acpi_processor: use acpi_evaluate_ost() to replace open-coded version

In reply to Jiang Liu

Use public function acpi_evaluate_ost() to replace open-coded version of evaluating ACPI _OST method.

---
 drivers/acpi/processor_perflib.c |   14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)
drivers/acpi/processor_perflib.c +3 -11
index ff90054..cfc8aba 100644
@@ -156,17 +156,9 @@ static int acpi_processor_get_platform_limit(struct acpi_processor *pr)
  */
 static void acpi_processor_ppc_ost(acpi_handle handle, int status)
 {
-	union acpi_object params[2] = {
-		{.type = ACPI_TYPE_INTEGER,},
-		{.type = ACPI_TYPE_INTEGER,},
-	};
-	struct acpi_object_list arg_list = {2, params};
-
-	if (acpi_has_method(handle, "_OST")) {
-		params[0].integer.value = ACPI_PROCESSOR_NOTIFY_PERFORMANCE;
-		params[1].integer.value =  status;
-		acpi_evaluate_object(handle, "_OST", &arg_list, NULL);
-	}
+	if (acpi_has_method(handle, "_OST"))
+		acpi_evaluate_ost(handle, ACPI_PROCESSOR_NOTIFY_PERFORMANCE,
+				  status, NULL);
 }
 
 int acpi_processor_ppc_has_changed(struct acpi_processor *pr, int event_flag)
Signature · 1 line
1.7.10.4
author
#7 lore raw

PATCH v2 5/5 ACPI: use device name LNXSYBUS.xx for ACPI \_SB and \_TZ objects

In reply to Jiang Liu

Use device name "LNXSYBUS:xx" instead of "device.xx" for ACPI objects \_SB and \_TZ.

BTW, the original check of "handle == ACPI_ROOT_OBJECT" in statment "else if (list_empty(&pnp->ids) && handle == ACPI_ROOT_OBJECT)" is always false because of the code at the begin of that block.

                if (handle == ACPI_ROOT_OBJECT) {
                        acpi_add_id(pnp, ACPI_SYSTEM_HID);
                        break;
                }
---
 drivers/acpi/scan.c |   20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)
drivers/acpi/scan.c +18 -2
index 57b053f..62ec4ba 100644
@@ -1706,6 +1706,20 @@ static bool acpi_ibm_smbus_match(acpi_handle handle)
 	return false;
 }
 
+static bool acpi_object_is_system_bus(acpi_handle handle)
+{
+	acpi_handle tmp;
+
+	if (ACPI_SUCCESS(acpi_get_handle(NULL, "\\_SB", &tmp)) &&
+	    tmp == handle)
+		return true;
+	if (ACPI_SUCCESS(acpi_get_handle(NULL, "\\_TZ", &tmp)) &&
+	    tmp == handle)
+		return true;
+
+	return false;
+}
+
 static void acpi_set_pnp_ids(acpi_handle handle, struct acpi_device_pnp *pnp,
 				int device_type)
 {
@@ -1757,8 +1771,10 @@ static void acpi_set_pnp_ids(acpi_handle handle, struct acpi_device_pnp *pnp,
 			acpi_add_id(pnp, ACPI_DOCK_HID);
 		else if (acpi_ibm_smbus_match(handle))
 			acpi_add_id(pnp, ACPI_SMBUS_IBM_HID);
-		else if (list_empty(&pnp->ids) && handle == ACPI_ROOT_OBJECT) {
-			acpi_add_id(pnp, ACPI_BUS_HID); /* \_SB, LNXSYBUS */
+		else if (list_empty(&pnp->ids) &&
+			 acpi_object_is_system_bus(handle)) {
+			/* \_SB, \_TZ, LNXSYBUS */
+			acpi_add_id(pnp, ACPI_BUS_HID);
 			strcpy(pnp->device_name, ACPI_BUS_DEVICE_NAME);
 			strcpy(pnp->device_class, ACPI_BUS_CLASS);
 		}
Signature · 1 line
1.7.10.4
#8 lore raw

PATCH 1/1 ACPI: Drop acpi_evaluate_hotplug_ost() and ACPI_HOTPLUG_OST

In reply to Jiang Liu
Quoted 3 lines · Jiang Liu

Rename acpi_evaluate_hotplug_ost() to acpi_evaluate_ost() for later resue.

Below is a patch replacing acpi_evaluate_hotplug_ost() with acpi_evaluate_ost() and dropping the ACPI_HOTPLUG_OST which I don't believe is necessary at all.

On top of the current linux-next and your series.

Thanks,
Rafael

---
From: Rafael J. Wysocki <[email protected]>
Subject: ACPI: Drop acpi_evaluate_hotplug_ost() and ACPI_HOTPLUG_OST

Replace acpi_evaluate_hotplug_ost() with acpi_evaluate_ost() everywhere and drop the ACPI_HOTPLUG_OST symbol so that hotplug _OST is supported unconditionally.

---
 drivers/acpi/bus.c                |    4 +---
 drivers/acpi/scan.c               |   10 +++++-----
 drivers/acpi/utils.c              |    2 +-
 drivers/xen/xen-acpi-cpuhotplug.c |    2 +-
 drivers/xen/xen-acpi-memhotplug.c |    2 +-
 include/acpi/acpi_bus.h           |    8 --------
 6 files changed, 9 insertions(+), 19 deletions(-)
drivers/acpi/bus.c +1 -3
Index: linux-pm/drivers/acpi/bus.c
===================================================================
@@ -311,9 +311,7 @@ static void acpi_bus_osc_support(void)
 	capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PPC_OST_SUPPORT;
 #endif
 
-#ifdef ACPI_HOTPLUG_OST
 	capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_OST_SUPPORT;
-#endif
 
 	if (!ghes_disable)
 		capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_APEI_SUPPORT;
@@ -410,7 +408,7 @@ static void acpi_bus_notify(acpi_handle
 	return;
 
  err:
-	acpi_evaluate_hotplug_ost(handle, type, ost_code, NULL);
+	acpi_evaluate_ost(handle, type, ost_code, NULL);
 }
 
 /* --------------------------------------------------------------------------
include/acpi/acpi_bus.h +0 -8
Index: linux-pm/include/acpi/acpi_bus.h
===================================================================
@@ -51,14 +51,6 @@ acpi_evaluate_reference(acpi_handle hand
 acpi_status
 acpi_evaluate_ost(acpi_handle handle, u32 source_event, u32 status_code,
 		  struct acpi_buffer *status_buf);
-#ifdef ACPI_HOTPLUG_OST
-#define	acpi_evaluate_hotplug_ost	acpi_evaluate_ost
-#else
-static inline acpi_status
-acpi_evaluate_hotplug_ost(acpi_handle handle, u32 source_event,
-			u32 status_code, struct acpi_buffer *status_buf)
-{ return AE_OK; }
-#endif
 
 acpi_status
 acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld);
drivers/acpi/scan.c +5 -5
Index: linux-pm/drivers/acpi/scan.c
===================================================================
@@ -463,8 +463,8 @@ static int acpi_generic_hotplug_event(st
 			dev_info(&adev->dev, "Eject disabled\n");
 			return -EPERM;
 		}
-		acpi_evaluate_hotplug_ost(adev->handle, ACPI_NOTIFY_EJECT_REQUEST,
-					  ACPI_OST_SC_EJECT_IN_PROGRESS, NULL);
+		acpi_evaluate_ost(adev->handle, ACPI_NOTIFY_EJECT_REQUEST,
+				  ACPI_OST_SC_EJECT_IN_PROGRESS, NULL);
 		return acpi_scan_hot_remove(adev);
 	}
 	return -EINVAL;
@@ -514,7 +514,7 @@ void acpi_device_hotplug(void *data, u32
 		ost_code = ACPI_OST_SC_SUCCESS;
 
  err_out:
-	acpi_evaluate_hotplug_ost(adev->handle, src, ost_code, NULL);
+	acpi_evaluate_ost(adev->handle, src, ost_code, NULL);
 
  out:
 	acpi_bus_put_acpi_device(adev);
@@ -574,8 +574,8 @@ acpi_eject_store(struct device *d, struc
 		return count;
 
 	put_device(&acpi_device->dev);
-	acpi_evaluate_hotplug_ost(acpi_device->handle, ACPI_OST_EC_OSPM_EJECT,
-				  ACPI_OST_SC_NON_SPECIFIC_FAILURE, NULL);
+	acpi_evaluate_ost(acpi_device->handle, ACPI_OST_EC_OSPM_EJECT,
+			  ACPI_OST_SC_NON_SPECIFIC_FAILURE, NULL);
 	return status == AE_NO_MEMORY ? -ENOMEM : -EAGAIN;
 }
 
drivers/acpi/utils.c +1 -1
Index: linux-pm/drivers/acpi/utils.c
===================================================================
@@ -422,7 +422,7 @@ out:
 EXPORT_SYMBOL(acpi_get_physical_device_location);
 
 /**
- * acpi_evaluate_hotplug_ost: Evaluate _OST for hotplug operations
+ * acpi_evaluate_ost: Evaluate _OST for hotplug operations
  * @handle: ACPI device handle
  * @source_event: source event code
  * @status_code: status code
drivers/xen/xen-acpi-cpuhotplug.c +1 -1
Index: linux-pm/drivers/xen/xen-acpi-cpuhotplug.c
===================================================================
@@ -313,7 +313,7 @@ static void acpi_processor_hotplug_notif
 		goto out;
 	}
 
-	(void) acpi_evaluate_hotplug_ost(handle, event, ost_code, NULL);
+	(void) acpi_evaluate_ost(handle, event, ost_code, NULL);
 
 out:
 	acpi_scan_lock_release();
drivers/xen/xen-acpi-memhotplug.c +1 -1
Index: linux-pm/drivers/xen/xen-acpi-memhotplug.c
===================================================================
@@ -285,7 +285,7 @@ static void acpi_memory_device_notify(ac
 		return;
 	}
 
-	(void) acpi_evaluate_hotplug_ost(handle, event, ost_code, NULL);
+	(void) acpi_evaluate_ost(handle, event, ost_code, NULL);
 	return;
 }
 
author
#9 lore raw

Re: [PATCH] ACPI: Drop acpi_evaluate_hotplug_ost() and ACPI_HOTPLUG_OST

Hi Rafael,

	I failed to get the point to kill ACPI_HOTPLUG_OST altogether:(

Should I merge it into my series and resend?

Hi Toshi,
Any comments here?

Quoted 148 lines · Rafael J. Wysocki
Quoted 3 lines · Jiang Liu

Rename acpi_evaluate_hotplug_ost() to acpi_evaluate_ost() for later resue.

Below is a patch replacing acpi_evaluate_hotplug_ost() with acpi_evaluate_ost() and dropping the ACPI_HOTPLUG_OST which I don't believe is necessary at all.

On top of the current linux-next and your series.

Thanks,
Rafael

---
From: Rafael J. Wysocki <[email protected]>
Subject: ACPI: Drop acpi_evaluate_hotplug_ost() and ACPI_HOTPLUG_OST

Replace acpi_evaluate_hotplug_ost() with acpi_evaluate_ost() everywhere and drop the ACPI_HOTPLUG_OST symbol so that hotplug _OST is supported unconditionally.

---
 drivers/acpi/bus.c                |    4 +---
 drivers/acpi/scan.c               |   10 +++++-----
 drivers/acpi/utils.c              |    2 +-
 drivers/xen/xen-acpi-cpuhotplug.c |    2 +-
 drivers/xen/xen-acpi-memhotplug.c |    2 +-
 include/acpi/acpi_bus.h           |    8 --------
 6 files changed, 9 insertions(+), 19 deletions(-)

Index: linux-pm/drivers/acpi/bus.c
===================================================================

drivers/acpi/bus.c +1 -3
@@ -311,9 +311,7 @@ static void acpi_bus_osc_support(void)
 	capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PPC_OST_SUPPORT;
 #endif
 
-#ifdef ACPI_HOTPLUG_OST
 	capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_OST_SUPPORT;
-#endif
 
 	if (!ghes_disable)
 		capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_APEI_SUPPORT;
@@ -410,7 +408,7 @@ static void acpi_bus_notify(acpi_handle
 	return;
 
  err:
-	acpi_evaluate_hotplug_ost(handle, type, ost_code, NULL);
+	acpi_evaluate_ost(handle, type, ost_code, NULL);
 }
 
 /* --------------------------------------------------------------------------

Index: linux-pm/include/acpi/acpi_bus.h
===================================================================

include/acpi/acpi_bus.h +0 -8
@@ -51,14 +51,6 @@ acpi_evaluate_reference(acpi_handle hand
 acpi_status
 acpi_evaluate_ost(acpi_handle handle, u32 source_event, u32 status_code,
 		  struct acpi_buffer *status_buf);
-#ifdef ACPI_HOTPLUG_OST
-#define	acpi_evaluate_hotplug_ost	acpi_evaluate_ost
-#else
-static inline acpi_status
-acpi_evaluate_hotplug_ost(acpi_handle handle, u32 source_event,
-			u32 status_code, struct acpi_buffer *status_buf)
-{ return AE_OK; }
-#endif
 
 acpi_status
 acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld);

Index: linux-pm/drivers/acpi/scan.c
===================================================================

drivers/acpi/scan.c +5 -5
@@ -463,8 +463,8 @@ static int acpi_generic_hotplug_event(st
 			dev_info(&adev->dev, "Eject disabled\n");
 			return -EPERM;
 		}
-		acpi_evaluate_hotplug_ost(adev->handle, ACPI_NOTIFY_EJECT_REQUEST,
-					  ACPI_OST_SC_EJECT_IN_PROGRESS, NULL);
+		acpi_evaluate_ost(adev->handle, ACPI_NOTIFY_EJECT_REQUEST,
+				  ACPI_OST_SC_EJECT_IN_PROGRESS, NULL);
 		return acpi_scan_hot_remove(adev);
 	}
 	return -EINVAL;
@@ -514,7 +514,7 @@ void acpi_device_hotplug(void *data, u32
 		ost_code = ACPI_OST_SC_SUCCESS;
 
  err_out:
-	acpi_evaluate_hotplug_ost(adev->handle, src, ost_code, NULL);
+	acpi_evaluate_ost(adev->handle, src, ost_code, NULL);
 
  out:
 	acpi_bus_put_acpi_device(adev);
@@ -574,8 +574,8 @@ acpi_eject_store(struct device *d, struc
 		return count;
 
 	put_device(&acpi_device->dev);
-	acpi_evaluate_hotplug_ost(acpi_device->handle, ACPI_OST_EC_OSPM_EJECT,
-				  ACPI_OST_SC_NON_SPECIFIC_FAILURE, NULL);
+	acpi_evaluate_ost(acpi_device->handle, ACPI_OST_EC_OSPM_EJECT,
+			  ACPI_OST_SC_NON_SPECIFIC_FAILURE, NULL);
 	return status == AE_NO_MEMORY ? -ENOMEM : -EAGAIN;
 }
 

Index: linux-pm/drivers/acpi/utils.c
===================================================================

drivers/acpi/utils.c +1 -1
@@ -422,7 +422,7 @@ out:
 EXPORT_SYMBOL(acpi_get_physical_device_location);
 
 /**
- * acpi_evaluate_hotplug_ost: Evaluate _OST for hotplug operations
+ * acpi_evaluate_ost: Evaluate _OST for hotplug operations
  * @handle: ACPI device handle
  * @source_event: source event code
  * @status_code: status code

Index: linux-pm/drivers/xen/xen-acpi-cpuhotplug.c
===================================================================

drivers/xen/xen-acpi-cpuhotplug.c +1 -1
@@ -313,7 +313,7 @@ static void acpi_processor_hotplug_notif
 		goto out;
 	}
 
-	(void) acpi_evaluate_hotplug_ost(handle, event, ost_code, NULL);
+	(void) acpi_evaluate_ost(handle, event, ost_code, NULL);
 
 out:
 	acpi_scan_lock_release();

Index: linux-pm/drivers/xen/xen-acpi-memhotplug.c
===================================================================

drivers/xen/xen-acpi-memhotplug.c +1 -1
@@ -285,7 +285,7 @@ static void acpi_memory_device_notify(ac
 		return;
 	}
 
-	(void) acpi_evaluate_hotplug_ost(handle, event, ost_code, NULL);
+	(void) acpi_evaluate_ost(handle, event, ost_code, NULL);
 	return;
 }
 
#10 lore raw

Re: [PATCH] ACPI: Drop acpi_evaluate_hotplug_ost() and ACPI_HOTPLUG_OST

Quoted 3 lines · Jiang Liu

Hi Rafael,

	I failed to get the point to kill ACPI_HOTPLUG_OST altogether:(

Should I merge it into my series and resend?

No, thanks, I can handle it.

Quoted 152 lines

Hi Toshi,
Any comments here?

Quoted 148 lines · Rafael J. Wysocki
Quoted 3 lines · Jiang Liu

Rename acpi_evaluate_hotplug_ost() to acpi_evaluate_ost() for later resue.

Below is a patch replacing acpi_evaluate_hotplug_ost() with acpi_evaluate_ost() and dropping the ACPI_HOTPLUG_OST which I don't believe is necessary at all.

On top of the current linux-next and your series.

Thanks,
Rafael

---
From: Rafael J. Wysocki <[email protected]>
Subject: ACPI: Drop acpi_evaluate_hotplug_ost() and ACPI_HOTPLUG_OST

Replace acpi_evaluate_hotplug_ost() with acpi_evaluate_ost() everywhere and drop the ACPI_HOTPLUG_OST symbol so that hotplug _OST is supported unconditionally.

---
 drivers/acpi/bus.c                |    4 +---
 drivers/acpi/scan.c               |   10 +++++-----
 drivers/acpi/utils.c              |    2 +-
 drivers/xen/xen-acpi-cpuhotplug.c |    2 +-
 drivers/xen/xen-acpi-memhotplug.c |    2 +-
 include/acpi/acpi_bus.h           |    8 --------
 6 files changed, 9 insertions(+), 19 deletions(-)

Index: linux-pm/drivers/acpi/bus.c
===================================================================

drivers/acpi/bus.c +1 -3
@@ -311,9 +311,7 @@ static void acpi_bus_osc_support(void)
 	capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PPC_OST_SUPPORT;
 #endif
 
-#ifdef ACPI_HOTPLUG_OST
 	capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_OST_SUPPORT;
-#endif
 
 	if (!ghes_disable)
 		capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_APEI_SUPPORT;
@@ -410,7 +408,7 @@ static void acpi_bus_notify(acpi_handle
 	return;
 
  err:
-	acpi_evaluate_hotplug_ost(handle, type, ost_code, NULL);
+	acpi_evaluate_ost(handle, type, ost_code, NULL);
 }
 
 /* --------------------------------------------------------------------------

Index: linux-pm/include/acpi/acpi_bus.h
===================================================================

include/acpi/acpi_bus.h +0 -8
@@ -51,14 +51,6 @@ acpi_evaluate_reference(acpi_handle hand
 acpi_status
 acpi_evaluate_ost(acpi_handle handle, u32 source_event, u32 status_code,
 		  struct acpi_buffer *status_buf);
-#ifdef ACPI_HOTPLUG_OST
-#define	acpi_evaluate_hotplug_ost	acpi_evaluate_ost
-#else
-static inline acpi_status
-acpi_evaluate_hotplug_ost(acpi_handle handle, u32 source_event,
-			u32 status_code, struct acpi_buffer *status_buf)
-{ return AE_OK; }
-#endif
 
 acpi_status
 acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld);

Index: linux-pm/drivers/acpi/scan.c
===================================================================

drivers/acpi/scan.c +5 -5
@@ -463,8 +463,8 @@ static int acpi_generic_hotplug_event(st
 			dev_info(&adev->dev, "Eject disabled\n");
 			return -EPERM;
 		}
-		acpi_evaluate_hotplug_ost(adev->handle, ACPI_NOTIFY_EJECT_REQUEST,
-					  ACPI_OST_SC_EJECT_IN_PROGRESS, NULL);
+		acpi_evaluate_ost(adev->handle, ACPI_NOTIFY_EJECT_REQUEST,
+				  ACPI_OST_SC_EJECT_IN_PROGRESS, NULL);
 		return acpi_scan_hot_remove(adev);
 	}
 	return -EINVAL;
@@ -514,7 +514,7 @@ void acpi_device_hotplug(void *data, u32
 		ost_code = ACPI_OST_SC_SUCCESS;
 
  err_out:
-	acpi_evaluate_hotplug_ost(adev->handle, src, ost_code, NULL);
+	acpi_evaluate_ost(adev->handle, src, ost_code, NULL);
 
  out:
 	acpi_bus_put_acpi_device(adev);
@@ -574,8 +574,8 @@ acpi_eject_store(struct device *d, struc
 		return count;
 
 	put_device(&acpi_device->dev);
-	acpi_evaluate_hotplug_ost(acpi_device->handle, ACPI_OST_EC_OSPM_EJECT,
-				  ACPI_OST_SC_NON_SPECIFIC_FAILURE, NULL);
+	acpi_evaluate_ost(acpi_device->handle, ACPI_OST_EC_OSPM_EJECT,
+			  ACPI_OST_SC_NON_SPECIFIC_FAILURE, NULL);
 	return status == AE_NO_MEMORY ? -ENOMEM : -EAGAIN;
 }
 

Index: linux-pm/drivers/acpi/utils.c
===================================================================

drivers/acpi/utils.c +1 -1
@@ -422,7 +422,7 @@ out:
 EXPORT_SYMBOL(acpi_get_physical_device_location);
 
 /**
- * acpi_evaluate_hotplug_ost: Evaluate _OST for hotplug operations
+ * acpi_evaluate_ost: Evaluate _OST for hotplug operations
  * @handle: ACPI device handle
  * @source_event: source event code
  * @status_code: status code

Index: linux-pm/drivers/xen/xen-acpi-cpuhotplug.c
===================================================================

drivers/xen/xen-acpi-cpuhotplug.c +1 -1
@@ -313,7 +313,7 @@ static void acpi_processor_hotplug_notif
 		goto out;
 	}
 
-	(void) acpi_evaluate_hotplug_ost(handle, event, ost_code, NULL);
+	(void) acpi_evaluate_ost(handle, event, ost_code, NULL);
 
 out:
 	acpi_scan_lock_release();

Index: linux-pm/drivers/xen/xen-acpi-memhotplug.c
===================================================================

drivers/xen/xen-acpi-memhotplug.c +1 -1
@@ -285,7 +285,7 @@ static void acpi_memory_device_notify(ac
 		return;
 	}
 
-	(void) acpi_evaluate_hotplug_ost(handle, event, ost_code, NULL);
+	(void) acpi_evaluate_ost(handle, event, ost_code, NULL);
 	return;
 }
 
Signature · 2 lines
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
Acked-by
#11 lore raw

Re: [PATCH] ACPI: Drop acpi_evaluate_hotplug_ost() and ACPI_HOTPLUG_OST

In reply to Jiang Liu
Quoted 6 lines · Jiang Liu

Hi Rafael,

	I failed to get the point to kill ACPI_HOTPLUG_OST altogether:(

Should I merge it into my series and resend?

Hi Toshi,
Any comments here?

I agree with Rafael and the change looks good to me. linux/acpi.h should also be changed to drop ACPI_HOTPLUG_OST. This define was needed originally since we relied on type-specific hotplug notify handlers to call _OST. We now have the ACPI common hotplug handler to take care of _OST.

Thanks,
-Toshi

#12 lore raw

Re: [PATCH] ACPI: Drop acpi_evaluate_hotplug_ost() and ACPI_HOTPLUG_OST

Quoted 10 lines · Toshi Kani
Quoted 6 lines · Jiang Liu

Hi Rafael,

	I failed to get the point to kill ACPI_HOTPLUG_OST altogether:(

Should I merge it into my series and resend?

Hi Toshi,
Any comments here?

I agree with Rafael and the change looks good to me. linux/acpi.h should also be changed to drop ACPI_HOTPLUG_OST.

That is done by my patch too.

Quoted 6 lines

This define was needed
originally since we relied on type-specific hotplug notify handlers to call _OST. We now have the ACPI common hotplug handler to take care of _OST.

Thanks!

Signature · 2 lines
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.