mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 15:14:18 +08:00
tools/testing/cxl: Make mock CEDT parsing more robust
Accept any cxl_test topology device as the first argument in cxl_chbs_context. This is in preparation for reworking the detection of the component registers across VH and RCH topologies. Move mock_acpi_table_parse_cedt() beneath the definition of is_mock_port() and use is_mock_port() instead of the explicit mock cxl_acpi device check. Acked-by: Alison Schofield <alison.schofield@intel.com> Reviewed-by: Robert Richter <rrichter@amd.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> Link: https://lore.kernel.org/r/166993043433.1882361.17651413716599606118.stgit@dwillia2-xfh.jf.intel.com Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
4029c32fb6
commit
8b3b1c0dc5
@ -70,6 +70,10 @@ static int cxl_acpi_cfmws_verify(struct device *dev,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Note, @dev must be the first member, see 'struct cxl_chbs_context'
|
||||||
|
* and mock_acpi_table_parse_cedt()
|
||||||
|
*/
|
||||||
struct cxl_cfmws_context {
|
struct cxl_cfmws_context {
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
struct cxl_port *root_port;
|
struct cxl_port *root_port;
|
||||||
|
@ -320,10 +320,12 @@ static int populate_cedt(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool is_mock_port(struct device *dev);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* WARNING, this hack assumes the format of 'struct
|
* WARNING, this hack assumes the format of 'struct cxl_cfmws_context'
|
||||||
* cxl_cfmws_context' and 'struct cxl_chbs_context' share the property that
|
* and 'struct cxl_chbs_context' share the property that the first
|
||||||
* the first struct member is the device being probed by the cxl_acpi
|
* struct member is a cxl_test device being probed by the cxl_acpi
|
||||||
* driver.
|
* driver.
|
||||||
*/
|
*/
|
||||||
struct cxl_cedt_context {
|
struct cxl_cedt_context {
|
||||||
@ -340,7 +342,7 @@ static int mock_acpi_table_parse_cedt(enum acpi_cedt_type id,
|
|||||||
unsigned long end;
|
unsigned long end;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (dev != &cxl_acpi->dev)
|
if (!is_mock_port(dev) && !is_mock_dev(dev))
|
||||||
return acpi_table_parse_cedt(id, handler_arg, arg);
|
return acpi_table_parse_cedt(id, handler_arg, arg);
|
||||||
|
|
||||||
if (id == ACPI_CEDT_TYPE_CHBS)
|
if (id == ACPI_CEDT_TYPE_CHBS)
|
||||||
|
Loading…
Reference in New Issue
Block a user