-----Original Message----- From: Hanjun Guo [mailto:guohanjun@huawei.com] Sent: Monday, November 23, 2015 8:41 PM To: Lukas Wunner; Moore, Robert Cc: Rafael J. Wysocki; linux-acpi@vger.kernel.org; devel@acpica.org; platform-driver-x86@vger.kernel.org; Darren Hart; Corentin Chary; Lee, Chun-Yi; alsa-devel@alsa-project.org; Takashi Iwai; Hui Wang; Mark Brown; Zheng, Lv; David Box Subject: Re: [PATCH 1/5] ACPICA: Add acpi_dev_present
On 2015/11/24 7:32, Lukas Wunner wrote:
Hi Robert,
On Mon, Nov 23, 2015 at 10:22:27PM +0000, Moore, Robert wrote:
acpi_dev_present
Do you really want to be walking the ACPICA namespace for every call?
That's what the drivers currently do. Typically this is called only once on initialization by the driver's ->probe callback.
What did you have in mind instead, cache the result? Or store the HIDs in the namespace in a hash that can be queried faster?
Will those drivers be loaded before the acpi namespace is scanned? if not, I think those IDs already cached, in acpi_init_device_object(),
I was thinking about something like this. Traversing the namespace over and over is truly brute force.
INIT_LIST_HEAD(&device->pnp.ids); ... acpi_set_pnp_ids(handle, &device->pnp, type);
please see API acpi_device_hid(), so I think you can introduce a API with acpi_device and HID passed as arguments in scan.c
Thanks Hanjun