Re: [RFC/mock up/PoC/DRAFT PATCH v1] efi/apple-properties: Convert to be a property provider

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2018-02-28 at 19:14 +0100, Lukas Wunner wrote:
> On Wed, Feb 28, 2018 at 07:25:59PM +0200, Andy Shevchenko wrote:
> > Instead of mapping to built-in device properties, implement a full
> > property provider.
> > 
> > This is needed due to an architectural differences between built-in
> > device property data structures and ones that are used on Apple
> > machines.
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> > ---
> > 
> > Hi, Lukas.
> > 
> > This is a skeleton of proof-of-concept conversion of apple-
> > properties to
> > be a full featured property provider.
> 
> I'm struggling to understand what the problem is with the existing
> code
> that necessitates these changes.  In a prior e-mail there was the
> question what type these Mac EFI properties have and I said it's just
> a raw byte array.  Thus, always assuming an array of type DEV_PROP_U8
> would seem to be sufficient.  That's also the type I used to retrieve
> the "ThunderboltDROM" property in drivers/thunderbolt/eeprom.c.
> Would that not work?  (Sorry if I'm sounding really ignorant.)

If you go to include/linux/property.h and do

s/union/struct/g (for struct property_entry definition)

It will simple not work.

That's called "union aliasing" (google it) and must be avoided.

Moreover, Apple properties does NOT have a type of value, thus they can
NOT use struct property_entry.

You must had not used it in the first place, but this is my mistake.

Now it's a time to do right things right.

-- 
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe linux-efi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux