[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0ac56c5f-7a8b-5bab-13fc-300206d65d13@gmail.com>
Date: Mon, 18 Jan 2021 08:31:52 +0000
From: Daniel Scally <djrscally@...il.com>
To: Laurent Pinchart <laurent.pinchart@...asonboard.com>
Cc: linux-kernel@...r.kernel.org, linux-acpi@...r.kernel.org,
linux-gpio@...r.kernel.org, linux-i2c@...r.kernel.org,
platform-driver-x86@...r.kernel.org, devel@...ica.org,
rjw@...ysocki.net, lenb@...nel.org, andy@...nel.org,
mika.westerberg@...ux.intel.com, linus.walleij@...aro.org,
bgolaszewski@...libre.com, wsa@...nel.org, lee.jones@...aro.org,
hdegoede@...hat.com, mgross@...ux.intel.com,
robert.moore@...el.com, erik.kaneda@...el.com,
sakari.ailus@...ux.intel.com, andriy.shevchenko@...ux.intel.com,
kieran.bingham@...asonboard.com
Subject: Re: [PATCH v2 1/7] acpi: utils: move acpi_lpss_dep() to utils
Hi Laurent
On 18/01/2021 07:24, Laurent Pinchart wrote:
> Hi Daniel,
>
> Thank you for the patch.
>
> On Mon, Jan 18, 2021 at 12:34:22AM +0000, Daniel Scally wrote:
>> I need to be able to identify devices which declare themselves to be
>> dependent on other devices through _DEP; add this function to utils.c
>> and export it to the rest of the ACPI layer.
>>
>> Suggested-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
>> Signed-off-by: Daniel Scally <djrscally@...il.com>
>> ---
>> Changes in v2:
>> - Introduced
>>
>> drivers/acpi/acpi_lpss.c | 24 ------------------------
>> drivers/acpi/internal.h | 1 +
>> drivers/acpi/utils.c | 24 ++++++++++++++++++++++++
>> 3 files changed, 25 insertions(+), 24 deletions(-)
>>
>> diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
>> index be73974ce449..70c7d9a3f715 100644
>> --- a/drivers/acpi/acpi_lpss.c
>> +++ b/drivers/acpi/acpi_lpss.c
>> @@ -543,30 +543,6 @@ static struct device *acpi_lpss_find_device(const char *hid, const char *uid)
>> return bus_find_device(&pci_bus_type, NULL, &data, match_hid_uid);
>> }
>>
>> -static bool acpi_lpss_dep(struct acpi_device *adev, acpi_handle handle)
>> -{
>> - struct acpi_handle_list dep_devices;
>> - acpi_status status;
>> - int i;
>> -
>> - if (!acpi_has_method(adev->handle, "_DEP"))
>> - return false;
>> -
>> - status = acpi_evaluate_reference(adev->handle, "_DEP", NULL,
>> - &dep_devices);
>> - if (ACPI_FAILURE(status)) {
>> - dev_dbg(&adev->dev, "Failed to evaluate _DEP.\n");
>> - return false;
>> - }
>> -
>> - for (i = 0; i < dep_devices.count; i++) {
>> - if (dep_devices.handles[i] == handle)
>> - return true;
>> - }
>> -
>> - return false;
>> -}
>> -
>> static void acpi_lpss_link_consumer(struct device *dev1,
>> const struct lpss_device_links *link)
>> {
>> diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h
>> index cb229e24c563..ee62c0973576 100644
>> --- a/drivers/acpi/internal.h
>> +++ b/drivers/acpi/internal.h
>> @@ -79,6 +79,7 @@ static inline void acpi_lpss_init(void) {}
>> #endif
>>
>> void acpi_apd_init(void);
>> +bool acpi_lpss_dep(struct acpi_device *adev, acpi_handle handle);
> "lpss" stands for low power subsystem, an Intel device within the PCH
> that handles I2C, SPI, UART, ... I think the function should be renamed,
> as it's now generic. acpi_dev_has_dep() is a potential candidate, I'm
> sure better ones exist. A bit of kerneldoc would also not hurt.
Okedokey; I shall add kerneldoc and think of an appropriate name, plus
rename all the uses of it. How about acpi_dev_is_dep()? "has_dep" to me
implies anything at all in _DEP should return true.
>>
>> acpi_status acpi_hotplug_schedule(struct acpi_device *adev, u32 src);
>> bool acpi_queue_hotplug_work(struct work_struct *work);
>> diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
>> index ddca1550cce6..78b38775f18b 100644
>> --- a/drivers/acpi/utils.c
>> +++ b/drivers/acpi/utils.c
>> @@ -807,6 +807,30 @@ static int acpi_dev_match_cb(struct device *dev, const void *data)
>> return hrv == match->hrv;
>> }
>>
>> +bool acpi_lpss_dep(struct acpi_device *adev, acpi_handle handle)
>> +{
>> + struct acpi_handle_list dep_devices;
>> + acpi_status status;
>> + int i;
>> +
>> + if (!acpi_has_method(adev->handle, "_DEP"))
>> + return false;
>> +
>> + status = acpi_evaluate_reference(adev->handle, "_DEP", NULL,
>> + &dep_devices);
>> + if (ACPI_FAILURE(status)) {
>> + dev_dbg(&adev->dev, "Failed to evaluate _DEP.\n");
>> + return false;
>> + }
>> +
>> + for (i = 0; i < dep_devices.count; i++) {
>> + if (dep_devices.handles[i] == handle)
>> + return true;
>> + }
>> +
>> + return false;
>> +}
>> +
>> /**
>> * acpi_dev_present - Detect that a given ACPI device is present
>> * @hid: Hardware ID of the device.
Powered by blists - more mailing lists