[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2ccd44f4-5f5b-60db-d002-3f33dfcdd321@codethink.co.uk>
Date: Mon, 25 Mar 2019 16:52:05 +0000
From: Thomas Preston <thomas.preston@...ethink.co.uk>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc: rjw@...ysocki.net, lenb@...nel.org, linux-acpi@...r.kernel.org,
linux-kernel@...r.kernel.org, mika.westerberg@...ux.intel.com
Subject: Re: [PATCH v2] Documentation: acpi: Add an example for PRP0001
On 25/03/2019 16:34, Andy Shevchenko wrote:
> On Mon, Mar 25, 2019 at 03:58:13PM +0000, Thomas Preston wrote:
>> On 25/03/2019 15:30, Andy Shevchenko wrote:
>>> On Mon, Mar 25, 2019 at 03:12:10PM +0000, Thomas Preston wrote:
>>>> Add an example for the magic PRP0001 device ID which allows matching
>>>> ACPI devices against drivers using OF Device Tree compatible property.
>>>
>>>> It wasn't clear to me that PRP0001 could be used in _CID.
>>>
>>> Yes, but it's not necessary to have it if we have defined a _HID.
>>>
>>> In that case PRP0001 is a temporary stub until corresponding driver
>>> incorporates an official _HID.
>>>
>>> On the contrary, when there is no official _HID available, PRP0001 can be used
>>> instead directly as a _HID and no _CID is needed.
>>>
>>
>> In that case, how do we uniquely identify devices in sysfs?
>
> By their class, etc.
>
> Identifying devices based in instance name is bad idea to start with.
>
>> We have a
>> case where sound/soc/soc-core.c generates an i2c codec name i2c-TDA7802:00.
>> It is useful to identify that device by part name, rather than some indexed
>> generic PRP device i2c-PRP0001:04. I can achieve this with:
>
> If TDA7802 is *official* _HID dedicated for that codec by vendor, add it to the
> driver...
>
>> _HID("TDA7802")
>
>> _CID("PRP0001")
>> ...
>> compatible = "st,tda7802" // driver I want to load using OF DT
>
> ...and these lines become unneeded.
>
> The only case when both are needed is a time between one gets a case and actual
> ID appears in the upstream driver. Effectively means product developing stage.
>
> P.S. Yes, I know that sometimes the platform/BIOS vendors abuse specification
> and ACPI ID registry and made up IDs, in that case we need to support them as a
> "de facto" quirks.
>
> And yes, ASoC subsystem in ACPI case abuses Linux device hierarchy by matching
> by instance instead of matching by let say fwnode. It should be fixed there,
> not in ACPI table.
>
Okay this is all really useful information. Thank you.
>>
>>> I would really recommend to look at the examples in meta-acpi repository. There
>>> are cases like described above.
>>>
>>> This one is good enough, though see below.
>>>
>>
>> I will drop the superfluous _CID - I think the example is still useful
>> to have. Even if we don't illustrate my special case for _HID/_CID.
>
> Yes, I agree with that.
>
I will remove _CID weirdness, and resend. I will deal with my special case
elsewhere. Thanks again
Powered by blists - more mailing lists