Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41c8bdb3 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Christoph Hellwig
Browse files

acpi, nfit: Switch to use new generic UUID API



There are new types and helpers that are supposed to be used in new code.

As a preparation to get rid of legacy types and API functions do
the conversion here.

Reviewed-by: default avatarDan Williams <dan.j.williams@intel.com>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent fafd3cdf
Loading
Loading
Loading
Loading
+27 −27
Original line number Original line Diff line number Diff line
@@ -74,11 +74,11 @@ struct nfit_table_prev {
	struct list_head flushes;
	struct list_head flushes;
};
};


static u8 nfit_uuid[NFIT_UUID_MAX][16];
static guid_t nfit_uuid[NFIT_UUID_MAX];


const u8 *to_nfit_uuid(enum nfit_uuids id)
const guid_t *to_nfit_uuid(enum nfit_uuids id)
{
{
	return nfit_uuid[id];
	return &nfit_uuid[id];
}
}
EXPORT_SYMBOL(to_nfit_uuid);
EXPORT_SYMBOL(to_nfit_uuid);


@@ -222,7 +222,7 @@ int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
	u32 offset, fw_status = 0;
	u32 offset, fw_status = 0;
	acpi_handle handle;
	acpi_handle handle;
	unsigned int func;
	unsigned int func;
	const u8 *uuid;
	const guid_t *guid;
	int rc, i;
	int rc, i;


	func = cmd;
	func = cmd;
@@ -245,7 +245,7 @@ int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
		cmd_mask = nvdimm_cmd_mask(nvdimm);
		cmd_mask = nvdimm_cmd_mask(nvdimm);
		dsm_mask = nfit_mem->dsm_mask;
		dsm_mask = nfit_mem->dsm_mask;
		desc = nd_cmd_dimm_desc(cmd);
		desc = nd_cmd_dimm_desc(cmd);
		uuid = to_nfit_uuid(nfit_mem->family);
		guid = to_nfit_uuid(nfit_mem->family);
		handle = adev->handle;
		handle = adev->handle;
	} else {
	} else {
		struct acpi_device *adev = to_acpi_dev(acpi_desc);
		struct acpi_device *adev = to_acpi_dev(acpi_desc);
@@ -254,7 +254,7 @@ int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
		cmd_mask = nd_desc->cmd_mask;
		cmd_mask = nd_desc->cmd_mask;
		dsm_mask = cmd_mask;
		dsm_mask = cmd_mask;
		desc = nd_cmd_bus_desc(cmd);
		desc = nd_cmd_bus_desc(cmd);
		uuid = to_nfit_uuid(NFIT_DEV_BUS);
		guid = to_nfit_uuid(NFIT_DEV_BUS);
		handle = adev->handle;
		handle = adev->handle;
		dimm_name = "bus";
		dimm_name = "bus";
	}
	}
@@ -289,7 +289,7 @@ int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
			in_buf.buffer.pointer,
			in_buf.buffer.pointer,
			min_t(u32, 256, in_buf.buffer.length), true);
			min_t(u32, 256, in_buf.buffer.length), true);


	out_obj = acpi_evaluate_dsm(handle, uuid, 1, func, &in_obj);
	out_obj = acpi_evaluate_dsm(handle, guid.b, 1, func, &in_obj);
	if (!out_obj) {
	if (!out_obj) {
		dev_dbg(dev, "%s:%s _DSM failed cmd: %s\n", __func__, dimm_name,
		dev_dbg(dev, "%s:%s _DSM failed cmd: %s\n", __func__, dimm_name,
				cmd_name);
				cmd_name);
@@ -409,7 +409,7 @@ int nfit_spa_type(struct acpi_nfit_system_address *spa)
	int i;
	int i;


	for (i = 0; i < NFIT_UUID_MAX; i++)
	for (i = 0; i < NFIT_UUID_MAX; i++)
		if (memcmp(to_nfit_uuid(i), spa->range_guid, 16) == 0)
		if (guid_equal(to_nfit_uuid(i), (guid_t *)&spa->range_guid))
			return i;
			return i;
	return -1;
	return -1;
}
}
@@ -1415,7 +1415,7 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc,
	struct acpi_device *adev, *adev_dimm;
	struct acpi_device *adev, *adev_dimm;
	struct device *dev = acpi_desc->dev;
	struct device *dev = acpi_desc->dev;
	unsigned long dsm_mask;
	unsigned long dsm_mask;
	const u8 *uuid;
	const guid_t *guid;
	int i;
	int i;
	int family = -1;
	int family = -1;


@@ -1444,7 +1444,7 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc,
	/*
	/*
	 * Until standardization materializes we need to consider 4
	 * Until standardization materializes we need to consider 4
	 * different command sets.  Note, that checking for function0 (bit0)
	 * different command sets.  Note, that checking for function0 (bit0)
	 * tells us if any commands are reachable through this uuid.
	 * tells us if any commands are reachable through this GUID.
	 */
	 */
	for (i = NVDIMM_FAMILY_INTEL; i <= NVDIMM_FAMILY_MSFT; i++)
	for (i = NVDIMM_FAMILY_INTEL; i <= NVDIMM_FAMILY_MSFT; i++)
		if (acpi_check_dsm(adev_dimm->handle, to_nfit_uuid(i), 1, 1))
		if (acpi_check_dsm(adev_dimm->handle, to_nfit_uuid(i), 1, 1))
@@ -1474,9 +1474,9 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc,
		return 0;
		return 0;
	}
	}


	uuid = to_nfit_uuid(nfit_mem->family);
	guid = to_nfit_uuid(nfit_mem->family);
	for_each_set_bit(i, &dsm_mask, BITS_PER_LONG)
	for_each_set_bit(i, &dsm_mask, BITS_PER_LONG)
		if (acpi_check_dsm(adev_dimm->handle, uuid, 1, 1ULL << i))
		if (acpi_check_dsm(adev_dimm->handle, guid.b, 1, 1ULL << i))
			set_bit(i, &nfit_mem->dsm_mask);
			set_bit(i, &nfit_mem->dsm_mask);


	return 0;
	return 0;
@@ -1611,7 +1611,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)
static void acpi_nfit_init_dsms(struct acpi_nfit_desc *acpi_desc)
{
{
	struct nvdimm_bus_descriptor *nd_desc = &acpi_desc->nd_desc;
	struct nvdimm_bus_descriptor *nd_desc = &acpi_desc->nd_desc;
	const u8 *uuid = to_nfit_uuid(NFIT_DEV_BUS);
	const guid_t *guid = to_nfit_uuid(NFIT_DEV_BUS);
	struct acpi_device *adev;
	struct acpi_device *adev;
	int i;
	int i;


@@ -1621,7 +1621,7 @@ static void acpi_nfit_init_dsms(struct acpi_nfit_desc *acpi_desc)
		return;
		return;


	for (i = ND_CMD_ARS_CAP; i <= ND_CMD_CLEAR_ERROR; i++)
	for (i = ND_CMD_ARS_CAP; i <= ND_CMD_CLEAR_ERROR; i++)
		if (acpi_check_dsm(adev->handle, uuid, 1, 1ULL << i))
		if (acpi_check_dsm(adev->handle, guid.b, 1, 1ULL << i))
			set_bit(i, &nd_desc->cmd_mask);
			set_bit(i, &nd_desc->cmd_mask);
}
}


@@ -3051,19 +3051,19 @@ static __init int nfit_init(void)
	BUILD_BUG_ON(sizeof(struct acpi_nfit_control_region) != 80);
	BUILD_BUG_ON(sizeof(struct acpi_nfit_control_region) != 80);
	BUILD_BUG_ON(sizeof(struct acpi_nfit_data_region) != 40);
	BUILD_BUG_ON(sizeof(struct acpi_nfit_data_region) != 40);


	acpi_str_to_uuid(UUID_VOLATILE_MEMORY, nfit_uuid[NFIT_SPA_VOLATILE]);
	guid_parse(UUID_VOLATILE_MEMORY, &nfit_uuid[NFIT_SPA_VOLATILE]);
	acpi_str_to_uuid(UUID_PERSISTENT_MEMORY, nfit_uuid[NFIT_SPA_PM]);
	guid_parse(UUID_PERSISTENT_MEMORY, &nfit_uuid[NFIT_SPA_PM]);
	acpi_str_to_uuid(UUID_CONTROL_REGION, nfit_uuid[NFIT_SPA_DCR]);
	guid_parse(UUID_CONTROL_REGION, &nfit_uuid[NFIT_SPA_DCR]);
	acpi_str_to_uuid(UUID_DATA_REGION, nfit_uuid[NFIT_SPA_BDW]);
	guid_parse(UUID_DATA_REGION, &nfit_uuid[NFIT_SPA_BDW]);
	acpi_str_to_uuid(UUID_VOLATILE_VIRTUAL_DISK, nfit_uuid[NFIT_SPA_VDISK]);
	guid_parse(UUID_VOLATILE_VIRTUAL_DISK, &nfit_uuid[NFIT_SPA_VDISK]);
	acpi_str_to_uuid(UUID_VOLATILE_VIRTUAL_CD, nfit_uuid[NFIT_SPA_VCD]);
	guid_parse(UUID_VOLATILE_VIRTUAL_CD, &nfit_uuid[NFIT_SPA_VCD]);
	acpi_str_to_uuid(UUID_PERSISTENT_VIRTUAL_DISK, nfit_uuid[NFIT_SPA_PDISK]);
	guid_parse(UUID_PERSISTENT_VIRTUAL_DISK, &nfit_uuid[NFIT_SPA_PDISK]);
	acpi_str_to_uuid(UUID_PERSISTENT_VIRTUAL_CD, nfit_uuid[NFIT_SPA_PCD]);
	guid_parse(UUID_PERSISTENT_VIRTUAL_CD, &nfit_uuid[NFIT_SPA_PCD]);
	acpi_str_to_uuid(UUID_NFIT_BUS, nfit_uuid[NFIT_DEV_BUS]);
	guid_parse(UUID_NFIT_BUS, &nfit_uuid[NFIT_DEV_BUS]);
	acpi_str_to_uuid(UUID_NFIT_DIMM, nfit_uuid[NFIT_DEV_DIMM]);
	guid_parse(UUID_NFIT_DIMM, &nfit_uuid[NFIT_DEV_DIMM]);
	acpi_str_to_uuid(UUID_NFIT_DIMM_N_HPE1, nfit_uuid[NFIT_DEV_DIMM_N_HPE1]);
	guid_parse(UUID_NFIT_DIMM_N_HPE1, &nfit_uuid[NFIT_DEV_DIMM_N_HPE1]);
	acpi_str_to_uuid(UUID_NFIT_DIMM_N_HPE2, nfit_uuid[NFIT_DEV_DIMM_N_HPE2]);
	guid_parse(UUID_NFIT_DIMM_N_HPE2, &nfit_uuid[NFIT_DEV_DIMM_N_HPE2]);
	acpi_str_to_uuid(UUID_NFIT_DIMM_N_MSFT, nfit_uuid[NFIT_DEV_DIMM_N_MSFT]);
	guid_parse(UUID_NFIT_DIMM_N_MSFT, &nfit_uuid[NFIT_DEV_DIMM_N_MSFT]);


	nfit_wq = create_singlethread_workqueue("nfit");
	nfit_wq = create_singlethread_workqueue("nfit");
	if (!nfit_wq)
	if (!nfit_wq)
+1 −2
Original line number Original line Diff line number Diff line
@@ -18,7 +18,6 @@
#include <linux/libnvdimm.h>
#include <linux/libnvdimm.h>
#include <linux/ndctl.h>
#include <linux/ndctl.h>
#include <linux/types.h>
#include <linux/types.h>
#include <linux/uuid.h>
#include <linux/acpi.h>
#include <linux/acpi.h>
#include <acpi/acuuid.h>
#include <acpi/acuuid.h>


@@ -237,7 +236,7 @@ static inline struct acpi_nfit_desc *to_acpi_desc(
	return container_of(nd_desc, struct acpi_nfit_desc, nd_desc);
	return container_of(nd_desc, struct acpi_nfit_desc, nd_desc);
}
}


const u8 *to_nfit_uuid(enum nfit_uuids id);
const guid_t *to_nfit_uuid(enum nfit_uuids id);
int acpi_nfit_init(struct acpi_nfit_desc *acpi_desc, void *nfit, acpi_size sz);
int acpi_nfit_init(struct acpi_nfit_desc *acpi_desc, void *nfit, acpi_size sz);
void acpi_nfit_shutdown(void *data);
void acpi_nfit_shutdown(void *data);
void __acpi_nfit_notify(struct device *dev, acpi_handle handle, u32 event);
void __acpi_nfit_notify(struct device *dev, acpi_handle handle, u32 event);
+1 −0
Original line number Original line Diff line number Diff line
@@ -39,6 +39,7 @@
#include <linux/dynamic_debug.h>
#include <linux/dynamic_debug.h>
#include <linux/module.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/mutex.h>
#include <linux/uuid.h>


#include <acpi/acpi_bus.h>
#include <acpi/acpi_bus.h>
#include <acpi/acpi_drivers.h>
#include <acpi/acpi_drivers.h>