On Wed, Feb 17, 2016 at 4:17 AM, Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > Instead of opencoding the existing library functions let's use them directly. > > The conversion fixes a potential bug in int340x_thermal as well since we have > to use memcmp() on binary data. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > drivers/acpi/acpi_extlog.c | 8 +++--- > drivers/acpi/bus.c | 29 ++----------------- > drivers/acpi/nfit.c | 34 +++++++++++------------ > drivers/acpi/nfit.h | 3 +- > drivers/acpi/utils.c | 4 +-- > drivers/char/tpm/tpm_crb.c | 9 +++--- > drivers/char/tpm/tpm_ppi.c | 20 ++++++------- > drivers/gpu/drm/i915/intel_acpi.c | 14 ++++------ > drivers/gpu/drm/nouveau/nouveau_acpi.c | 20 ++++++------- > drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c | 9 +++--- > drivers/hid/i2c-hid/i2c-hid.c | 9 +++--- > drivers/iommu/dmar.c | 11 ++++---- > drivers/pci/pci-acpi.c | 11 ++++---- > drivers/pci/pci-label.c | 4 +-- > drivers/thermal/int340x_thermal/int3400_thermal.c | 6 ++-- > drivers/usb/host/xhci-pci.c | 9 +++--- > include/acpi/acpi_bus.h | 10 ++++--- > include/linux/acpi.h | 2 +- > include/linux/pci-acpi.h | 2 +- > sound/soc/intel/skylake/skl-nhlt.c | 7 +++-- > 20 files changed, 92 insertions(+), 129 deletions(-) > [..] > diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c > index ad6d8c6..3beb99b 100644 > --- a/drivers/acpi/nfit.c > +++ b/drivers/acpi/nfit.c > @@ -43,11 +43,11 @@ struct nfit_table_prev { > struct list_head flushes; > }; > > -static u8 nfit_uuid[NFIT_UUID_MAX][16]; > +static uuid_le nfit_uuid[NFIT_UUID_MAX]; > > -const u8 *to_nfit_uuid(enum nfit_uuids id) > +const uuid_le *to_nfit_uuid(enum nfit_uuids id) > { > - return nfit_uuid[id]; > + return &nfit_uuid[id]; > } > EXPORT_SYMBOL(to_nfit_uuid); > > @@ -83,7 +83,7 @@ static int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, > const char *cmd_name, * dimm_name; > unsigned long dsm_mask; > acpi_handle handle; > - const u8 *uuid; > + const uuid_le *uuid; > u32 offset; > int rc, i; > > @@ -225,7 +225,7 @@ static int nfit_spa_type(struct acpi_nfit_system_address *spa) > int i; > > for (i = 0; i < NFIT_UUID_MAX; i++) > - if (memcmp(to_nfit_uuid(i), spa->range_guid, 16) == 0) > + if (!uuid_le_cmp(*to_nfit_uuid(i), *(uuid_le *)spa->range_guid)) > return i; > return -1; > } > @@ -829,7 +829,7 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc, > { > struct acpi_device *adev, *adev_dimm; > struct device *dev = acpi_desc->dev; > - const u8 *uuid = to_nfit_uuid(NFIT_DEV_DIMM); > + const uuid_le *uuid = to_nfit_uuid(NFIT_DEV_DIMM); > int i; > > nfit_mem->dsm_mask = acpi_desc->dimm_dsm_force_en; > @@ -909,7 +909,7 @@ static int acpi_nfit_register_dimms(struct acpi_nfit_desc *acpi_desc) > static void acpi_nfit_init_dsms(struct acpi_nfit_desc *acpi_desc) > { > struct nvdimm_bus_descriptor *nd_desc = &acpi_desc->nd_desc; > - const u8 *uuid = to_nfit_uuid(NFIT_DEV_BUS); > + const uuid_le *uuid = to_nfit_uuid(NFIT_DEV_BUS); > struct acpi_device *adev; > int i; > > @@ -2079,16 +2079,16 @@ static __init int nfit_init(void) > BUILD_BUG_ON(sizeof(struct acpi_nfit_control_region) != 80); > BUILD_BUG_ON(sizeof(struct acpi_nfit_data_region) != 40); > > - acpi_str_to_uuid(UUID_VOLATILE_MEMORY, nfit_uuid[NFIT_SPA_VOLATILE]); > - acpi_str_to_uuid(UUID_PERSISTENT_MEMORY, nfit_uuid[NFIT_SPA_PM]); > - acpi_str_to_uuid(UUID_CONTROL_REGION, nfit_uuid[NFIT_SPA_DCR]); > - acpi_str_to_uuid(UUID_DATA_REGION, nfit_uuid[NFIT_SPA_BDW]); > - acpi_str_to_uuid(UUID_VOLATILE_VIRTUAL_DISK, nfit_uuid[NFIT_SPA_VDISK]); > - acpi_str_to_uuid(UUID_VOLATILE_VIRTUAL_CD, nfit_uuid[NFIT_SPA_VCD]); > - acpi_str_to_uuid(UUID_PERSISTENT_VIRTUAL_DISK, nfit_uuid[NFIT_SPA_PDISK]); > - acpi_str_to_uuid(UUID_PERSISTENT_VIRTUAL_CD, nfit_uuid[NFIT_SPA_PCD]); > - acpi_str_to_uuid(UUID_NFIT_BUS, nfit_uuid[NFIT_DEV_BUS]); > - acpi_str_to_uuid(UUID_NFIT_DIMM, nfit_uuid[NFIT_DEV_DIMM]); > + uuid_le_to_bin(UUID_VOLATILE_MEMORY, &nfit_uuid[NFIT_SPA_VOLATILE]); > + uuid_le_to_bin(UUID_PERSISTENT_MEMORY, &nfit_uuid[NFIT_SPA_PM]); > + uuid_le_to_bin(UUID_CONTROL_REGION, &nfit_uuid[NFIT_SPA_DCR]); > + uuid_le_to_bin(UUID_DATA_REGION, &nfit_uuid[NFIT_SPA_BDW]); > + uuid_le_to_bin(UUID_VOLATILE_VIRTUAL_DISK, &nfit_uuid[NFIT_SPA_VDISK]); > + uuid_le_to_bin(UUID_VOLATILE_VIRTUAL_CD, &nfit_uuid[NFIT_SPA_VCD]); > + uuid_le_to_bin(UUID_PERSISTENT_VIRTUAL_DISK, &nfit_uuid[NFIT_SPA_PDISK]); > + uuid_le_to_bin(UUID_PERSISTENT_VIRTUAL_CD, &nfit_uuid[NFIT_SPA_PCD]); > + uuid_le_to_bin(UUID_NFIT_BUS, &nfit_uuid[NFIT_DEV_BUS]); > + uuid_le_to_bin(UUID_NFIT_DIMM, &nfit_uuid[NFIT_DEV_DIMM]); I don't see the benefit of this change. For the NFIT driver we went through a fire drill trying to make sure the ACPI spec format of a UUID matched the Linux interpretation, and this change makes that harder to determine. ACPI drivers should use ACPICA uuid helper routines in my opinion. -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html