On Wed, Apr 15, 2020 at 04:57:33PM +0200, Wolfgang Wallner wrote:
> > On Wed, Apr 15, 2020 at 5:00 PM Wolfgang Wallner
> > <wolfgang.wall...@br-automation.com> wrote:
> > > -----"Andy Shevchenko" <andy.shevche...@gmail.com> schrieb: -----
> > > > Betreff: Re: Re: [PATCH v3 13/29] dts: Add a binding for hid-over-i2c
> > > >
> > > > On Wed, Apr 8, 2020 at 11:40 PM Andy Shevchenko
> > > > <andy.shevche...@gmail.com> wrote:
> > > > > On Wed, Apr 8, 2020 at 10:39 PM Wolfgang Wallner
> > > > > <wolfgang.wall...@br-automation.com> wrote:
> > > > > > > On Tue, Apr 07, 2020 at 08:58:13PM -0600, Simon Glass wrote:
> > > > > > > > On Tue, 31 Mar 2020 at 13:25, Wolfgang Wallner
> > > > > > > > <wolfgang.wall...@br-automation.com> wrote:
> > > > > > > > > >An: u-boot@lists.denx.de
> > > > > > > > > >Von: "Simon Glass" <s...@chromium.org>
> > > > > > > > > >Datum: 31.03.2020 01:14
> > > > > > > > > >Kopie: "Andy Shevchenko" <andriy.shevche...@linux.intel.com>,
> > > > > > > > > >"Wolfgang Wallner" <wolfgang.wall...@br-automation.com>, 
> > > > > > > > > >"Leif
> > > > > > > > > >Lindholm" <l...@nuviainc.com>, "Simon Glass" 
> > > > > > > > > ><s...@chromium.org>
> > > > > > > > > >Betreff: [PATCH v3 14/29] acpi: Add a binding for ACPI 
> > > > > > > > > >settings in
> > > > > > > > > >the device tree
> > > > > > >
> > > > > > > > > The _DSD-method for "PRP0001"-devices in ACPI allows to use 
> > > > > > > > > Devicetree
> > > > > > > > > properties inside ACPI, especially it allows to re-use 
> > > > > > > > > Devicetree's
> > > > > > > > > "compatible"-property. But this is for a different use case 
> > > > > > > > > (using Devicetree
> > > > > > > > > properties inside ACPI, not add ACPI properties in 
> > > > > > > > > Devicetree).
> > > > > > >
> > > > > > > Before we are going further with this here is a BIG CAVEAT.
> > > > > > >
> > > > > > > PRP0001   MUST NOT be used in production devices.
> > > > > > >
> > > > > > > This has been derived solely for debugging / pre-production 
> > > > > > > testing / etc
> > > > > > > purposes. The real devices must have an official ACPI _HID.
> > > > > >
> > > > > > Thanks for pointing this out! I was not aware of this.
> > > > > > I have tried to understand how the PRP0001 is meant to be used, but 
> > > > > > could not
> > > > > > find sufficient documentation. The best document I could find is
> > > > > > Documentation/firmware-guide/acpi/enumeration.rst in the Linux 
> > > > > > kernel, and
> > > > > > as far as I can tell the constraint that you mention is also not 
> > > > > > described
> > > > > > there.
> > > > > >
> > > > > > Do you know any other resources regarding PRP0001, e.g. some kind of
> > > > > > speficiation?
> > > > >
> > > > > I guess the best one is to ask somebody from UEFI Forum / ASWG. PRP is
> > > > > a PNP ID for UEFI Forum.
> > > >
> > > > Basically last message in [3] from Rafael mentions his view on
> > > > PRP0001. I guess there is still no document, although as I noticed the
> > > > PRP prefix become official in a mean time.
> > >
> > > Thanks for the references. I have read them carefully, especially the 
> > > thread
> > > in [3].
> > >
> > > My understanding up to now was based on presentations by David Woodhouse,
> > > so it matches with his viewpoint in the thread at [3]. And as far as I can
> > > tell Rafael Wysocki agrees with him in this thread.
> > >
> > > What I could not find in either of the references is that PRP0001 is only
> > > for debugging, I only know about this constraint from your mail. Could you
> > > point me to any source for this?
> > 
> > From [3], Rafael said:
> > "Let alone the fact that PRP0001 is actually quite useful at the
> > prototyping stage when it is premature to allocate a new device ID just
> > yet.  Taking that to the extreme, if someone whittles a board in his or
> > her garage and wants to use it to drive their homemade grass watering
> > system, having to invent a new device ID and put it into the existing
> > driver that otherwise doesn't require any modifications is ... you know
> > what I mean."
> > 
> > It implies that the process should have included the allocation of an
> > official ACPI ID.
> 
> I understand the quoted paragraph differently. In the paragraphs above Rafael
> argues that PRP0001 is useful, as with PRP0001 we can avoid registering
> redundant ACPI IDs. In the quoted paragraph he then gives another example
> where PRP0001 is also useful: for debugging.
> But I don't understand it in a way that PRP0001 would be limited to only
> debugging.
> 
> A few posts before in [4] he explains in more detail, and I think it matches
> my understanding of the last post, especially the following sentence:
> 
> "It would be a failure if people had to write separate drivers for 
> ACPI-based and DT-based platforms to handle the same hardware, at least 
> at the leaf driver level."
> 

Maybe better to ask him directly?

> [4] https://patchwork.kernel.org/comment/15339311/
> 
> > You always can ask ASWG for the clarification. Maybe I learn something
> > new about PRP0001 :-)
> 
> I had no interaction with ASWG before so I'm not sure what the process is,
> but I will look it up.
> 
> > > > > > If PRP0001 is only for debugging, then I must also have 
> > > > > > misunderstood the
> > > > > > Linux "device-property" API (define in include/linux/property.h).
> > > > >
> > > > > Not exactly.
> > > > >
> > > > > > There are some presentations available on the internet, e.g. [1], 
> > > > > > that I
> > > > > > understand like PRP0001 + "device-property" API provide a way do 
> > > > > > access data
> > > > > > from either Devicetree or ACPI, depending on what kind of platform 
> > > > > > you are on.
> > > > >
> > > > > No, these are not hard linked to each other (the relation is that
> > > > > PRP0001 is a way to enumerate devices, which don't have dedicated ACPI
> > > > > _HID, by using compatible property [1]). The _DSD per se (i.o.w.
> > > > > device properties implementation in ACPI) is a different story [2].
> > > > >
> > > > > And I put [3] here, interesting to read. However, at that time I was
> > > > > quite far from this topic.
> > > > >
> > > > > [1]: 
> > > > > https://www.kernel.org/doc/html/latest/firmware-guide/acpi/enumeration.html#device-tree-namespace-link-device-id
> > > > > [2]: 
> > > > > https://uefi.org/sites/default/files/resources/_DSD-implementation-guide-toplevel-1_2-3.htm.
> > > > > [3]: https://patchwork.kernel.org/patch/7004241/
> > > > >
> > > > > > [1] 
> > > > > > https://elinux.org/images/2/2d/Device_tree_acpi_compatibility-david_woodhouse-kernel_recipes_2015.pdf
> 
> regards, Wolfgang

-- 
With Best Regards,
Andy Shevchenko


Reply via email to