-----Original Message-----
From: Hanjun Guo [mailto:
[email protected]]
Sent: Monday, November 23, 2015 8:41 PM
To: Lukas Wunner; Moore, Robert
Cc: Rafael J. Wysocki; linux-acpi(a)vger.kernel.org; devel(a)acpica.org;
platform-driver-x86(a)vger.kernel.org; Darren Hart; Corentin Chary; Lee,
Chun-Yi; alsa-devel(a)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