2014-02-19 06:02:00

by Jiang Liu

[permalink] [raw]
Subject: [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.

Signed-off-by: Jiang Liu <[email protected]>
---
drivers/acpi/utils.c | 14 ++++----------
include/acpi/acpi_bus.h | 10 +++++++++-
2 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
index 85e3b61..19d0169 100644
--- a/drivers/acpi/utils.c
+++ b/drivers/acpi/utils.c
@@ -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
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index 8256eb4..adef502 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -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);
--
1.7.10.4


2014-02-19 06:02:13

by Jiang Liu

[permalink] [raw]
Subject: [Patch v2 4/5] acpi_processor: 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.

Signed-off-by: Jiang Liu <[email protected]>
---
drivers/acpi/processor_perflib.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c
index ff90054..cfc8aba 100644
--- a/drivers/acpi/processor_perflib.c
+++ b/drivers/acpi/processor_perflib.c
@@ -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)
--
1.7.10.4

2014-02-19 06:02:11

by Jiang Liu

[permalink] [raw]
Subject: [Patch v2 5/5] ACPI: use device name LNXSYBUS.xx for ACPI \_SB and \_TZ objects

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;
}

Signed-off-by: Jiang Liu <[email protected]>
---
drivers/acpi/scan.c | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 57b053f..62ec4ba 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -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);
}
--
1.7.10.4

2014-02-19 06:02:07

by Jiang Liu

[permalink] [raw]
Subject: [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.

Signed-off-by: Jiang Liu <[email protected]>
---
drivers/acpi/acpi_pad.c | 24 +++++-------------------
1 file changed, 5 insertions(+), 19 deletions(-)

diff --git a/drivers/acpi/acpi_pad.c b/drivers/acpi/acpi_pad.c
index df96a0f..37d7302 100644
--- a/drivers/acpi/acpi_pad.c
+++ b/drivers/acpi/acpi_pad.c
@@ -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);
}

--
1.7.10.4

2014-02-19 06:03:04

by Jiang Liu

[permalink] [raw]
Subject: [Patch v2 3/5] xen, 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.

Signed-off-by: Jiang Liu <[email protected]>
---
drivers/xen/xen-acpi-pad.c | 26 +++++++-------------------
1 file changed, 7 insertions(+), 19 deletions(-)

diff --git a/drivers/xen/xen-acpi-pad.c b/drivers/xen/xen-acpi-pad.c
index 40c4bc0..f83b754 100644
--- a/drivers/xen/xen-acpi-pad.c
+++ b/drivers/xen/xen-acpi-pad.c
@@ -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);
}

--
1.7.10.4

2014-02-19 17:38:38

by Konrad Rzeszutek Wilk

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

On Wed, Feb 19, 2014 at 02:02:17PM +0800, Jiang Liu wrote:
> Use public function acpi_evaluate_ost() to replace open-coded
> version of evaluating ACPI _OST method.
>

Looks OK to me.

> Signed-off-by: Jiang Liu <[email protected]>
> ---
> drivers/xen/xen-acpi-pad.c | 26 +++++++-------------------
> 1 file changed, 7 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/xen/xen-acpi-pad.c b/drivers/xen/xen-acpi-pad.c
> index 40c4bc0..f83b754 100644
> --- a/drivers/xen/xen-acpi-pad.c
> +++ b/drivers/xen/xen-acpi-pad.c
> @@ -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);
> }
>
> --
> 1.7.10.4
>

2014-02-21 00:05:05

by Rafael J. Wysocki

[permalink] [raw]
Subject: [PATCH] ACPI: Drop acpi_evaluate_hotplug_ost() and ACPI_HOTPLUG_OST

On Wednesday, February 19, 2014 02:02:15 PM Jiang Liu wrote:
> Rename acpi_evaluate_hotplug_ost() to acpi_evaluate_ost() for later resue.
>
> Signed-off-by: Jiang Liu <[email protected]>

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.

Signed-off-by: Rafael J. Wysocki <[email protected]>
---
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
===================================================================
--- linux-pm.orig/drivers/acpi/bus.c
+++ 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);
}

/* --------------------------------------------------------------------------
Index: linux-pm/include/acpi/acpi_bus.h
===================================================================
--- linux-pm.orig/include/acpi/acpi_bus.h
+++ 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);
Index: linux-pm/drivers/acpi/scan.c
===================================================================
--- linux-pm.orig/drivers/acpi/scan.c
+++ 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;
}

Index: linux-pm/drivers/acpi/utils.c
===================================================================
--- linux-pm.orig/drivers/acpi/utils.c
+++ 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
Index: linux-pm/drivers/xen/xen-acpi-cpuhotplug.c
===================================================================
--- linux-pm.orig/drivers/xen/xen-acpi-cpuhotplug.c
+++ 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();
Index: linux-pm/drivers/xen/xen-acpi-memhotplug.c
===================================================================
--- linux-pm.orig/drivers/xen/xen-acpi-memhotplug.c
+++ 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;
}

2014-02-21 05:58:29

by Jiang Liu

[permalink] [raw]
Subject: 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?

On 2014/2/21 8:19, Rafael J. Wysocki wrote:
> On Wednesday, February 19, 2014 02:02:15 PM Jiang Liu wrote:
>> Rename acpi_evaluate_hotplug_ost() to acpi_evaluate_ost() for later resue.
>>
>> Signed-off-by: Jiang Liu <[email protected]>
>
> 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.
>
> Signed-off-by: Rafael J. Wysocki <[email protected]>
> ---
> 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
> ===================================================================
> --- linux-pm.orig/drivers/acpi/bus.c
> +++ 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);
> }
>
> /* --------------------------------------------------------------------------
> Index: linux-pm/include/acpi/acpi_bus.h
> ===================================================================
> --- linux-pm.orig/include/acpi/acpi_bus.h
> +++ 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);
> Index: linux-pm/drivers/acpi/scan.c
> ===================================================================
> --- linux-pm.orig/drivers/acpi/scan.c
> +++ 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;
> }
>
> Index: linux-pm/drivers/acpi/utils.c
> ===================================================================
> --- linux-pm.orig/drivers/acpi/utils.c
> +++ 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
> Index: linux-pm/drivers/xen/xen-acpi-cpuhotplug.c
> ===================================================================
> --- linux-pm.orig/drivers/xen/xen-acpi-cpuhotplug.c
> +++ 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();
> Index: linux-pm/drivers/xen/xen-acpi-memhotplug.c
> ===================================================================
> --- linux-pm.orig/drivers/xen/xen-acpi-memhotplug.c
> +++ 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;
> }
>
>

2014-02-21 16:29:14

by Rafael J. Wysocki

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

On Friday, February 21, 2014 01:58:24 PM Jiang Liu wrote:
> 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.

> Hi Toshi,
> Any comments here?
>
> On 2014/2/21 8:19, Rafael J. Wysocki wrote:
> > On Wednesday, February 19, 2014 02:02:15 PM Jiang Liu wrote:
> >> Rename acpi_evaluate_hotplug_ost() to acpi_evaluate_ost() for later resue.
> >>
> >> Signed-off-by: Jiang Liu <[email protected]>
> >
> > 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.
> >
> > Signed-off-by: Rafael J. Wysocki <[email protected]>
> > ---
> > 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
> > ===================================================================
> > --- linux-pm.orig/drivers/acpi/bus.c
> > +++ 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);
> > }
> >
> > /* --------------------------------------------------------------------------
> > Index: linux-pm/include/acpi/acpi_bus.h
> > ===================================================================
> > --- linux-pm.orig/include/acpi/acpi_bus.h
> > +++ 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);
> > Index: linux-pm/drivers/acpi/scan.c
> > ===================================================================
> > --- linux-pm.orig/drivers/acpi/scan.c
> > +++ 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;
> > }
> >
> > Index: linux-pm/drivers/acpi/utils.c
> > ===================================================================
> > --- linux-pm.orig/drivers/acpi/utils.c
> > +++ 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
> > Index: linux-pm/drivers/xen/xen-acpi-cpuhotplug.c
> > ===================================================================
> > --- linux-pm.orig/drivers/xen/xen-acpi-cpuhotplug.c
> > +++ 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();
> > Index: linux-pm/drivers/xen/xen-acpi-memhotplug.c
> > ===================================================================
> > --- linux-pm.orig/drivers/xen/xen-acpi-memhotplug.c
> > +++ 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;
> > }
> >
> >

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

2014-02-21 16:39:07

by Toshi Kani

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

On Fri, 2014-02-21 at 13:58 +0800, Jiang Liu wrote:
> 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.

Acked-by: Toshi Kani <[email protected]>

Thanks,
-Toshi


2014-02-21 16:48:15

by Rafael J. Wysocki

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

On Friday, February 21, 2014 09:31:58 AM Toshi Kani wrote:
> On Fri, 2014-02-21 at 13:58 +0800, Jiang Liu wrote:
> > 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.

> 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.
>
> Acked-by: Toshi Kani <[email protected]>

Thanks!

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.