On Thu, 2017-06-29 at 14:48 +1000, Stephen Rothwell wrote:

> I got the following error:
> 
> drivers/usb/typec/ucsi/ucsi_acpi.c: In function 'ucsi_acpi_dsm':
> drivers/usb/typec/ucsi/ucsi_acpi.c:33:48: error: passing argument 2 of
> 'acpi_evaluate_dsm' from incompatible pointer type [-
> Werror=incompatible-pointer-types]
>   obj = acpi_evaluate_dsm(ACPI_HANDLE(ua->dev), ua->uuid.b, 1, func,
>                                                 ^
> In file included from include/linux/acpi.h:44:0,
>                  from drivers/usb/typec/ucsi/ucsi_acpi.c:14:
> include/acpi/acpi_bus.h:65:20: note: expected 'const guid_t * {aka
> const struct <anonymous> *}' but argument is of type '__u8 * {aka
> unsigned char *}'
>  union acpi_object *acpi_evaluate_dsm(acpi_handle handle, const guid_t
> *guid,  
>                     ^
> 
> I have applied the following merge fix patch (the first hunk is
> probably not strictly necessary):

It is necessary. The goal of next portion of the UUID related stuff is
to get rid of those _le / _be types completely (uuid_be gone I suppose
already).

Patch itself looks good to me.

> -     uuid_le uuid;
> +     guid_t uuid;
>  };
>  
>  static int ucsi_acpi_dsm(struct ucsi_acpi *ua, int func)
>  {
>       union acpi_object *obj;
>  
> -     obj = acpi_evaluate_dsm(ACPI_HANDLE(ua->dev), ua->uuid.b, 1,
> func,

> +     obj = acpi_evaluate_dsm(ACPI_HANDLE(ua->dev), &ua->uuid, 1,
> func,
>                               NULL);

Can it be one line after all?

>       if (!obj) {
>               dev_err(ua->dev, "%s: failed to evaluate _DSM %d\n",

-- 
Andy Shevchenko <andriy.shevche...@linux.intel.com>
Intel Finland Oy

Reply via email to