Re: [PATCH v1 06/10] device property: switch to use UUID API

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

 



On Thu, 2016-02-18 at 01:03 +0100, Rafael J. Wysocki wrote:
> On Wednesday, February 17, 2016 02:17:24 PM Andy Shevchenko wrote:
> > Switch to use a generic UUID API instead of custom approach. It
> > allows to
> > define UUIDs, compare them, and validate.

[]

> > +static const uuid_le ads_uuid =
> > +	UUID_LE(0xdbb8e3e6, 0x5886, 0x4ba6,
> > +		0x87, 0x95, 0x13, 0x19, 0xf5, 0x2a, 0x96, 0x6b);
> >  
> >  static bool acpi_enumerate_nondev_subnodes(acpi_handle scope,
> >  					   const union acpi_object
> > *desc,
> > @@ -138,7 +136,7 @@ static bool
> > acpi_enumerate_nondev_subnodes(acpi_handle scope,
> >  		    || links->type != ACPI_TYPE_PACKAGE)
> >  			break;
> >  
> > -		if (memcmp(uuid->buffer.pointer, ads_uuid,
> > sizeof(ads_uuid)))
> > +		if (uuid_le_cmp(*(uuid_le *)uuid->buffer.pointer,
> > ads_uuid))
> 
> Maybe it's too late, but I don't quite understand the pointer
> manipulations here.
> 
> I can see why you need a type conversion (although it looks ugly),
> but why do you
> need to dereference it too?

The function takes that kind of type on input. The other variants are
not compiled.
Perhaps we better change uuid_{lb}e_cmp() first to take normal
pointers, though I think the initial idea was to get type checking at
compile time.

-- 
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux