cxl/region: Delete 'region' attribute from root decoders
authorDan Williams <dan.j.williams@intel.com>
Sat, 23 Jul 2022 00:56:03 +0000 (17:56 -0700)
committerDan Williams <dan.j.williams@intel.com>
Mon, 1 Aug 2022 22:36:33 +0000 (15:36 -0700)
For switch and endpoint decoders the relationship of decoders to regions
is 1:1. However, for root decoders the relationship is 1:N. Also,
regions are already children of root decoders, so the 1:N relationship
is observed by walking the following glob:

    /sys/bus/cxl/devices/$decoder/region*

Hide the vestigial 'region' attribute for root decoders.

Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
Reviewed-by: Alison Schofield <alison.schofield@intel.com>
Link: https://lore.kernel.org/r/165853776328.2430596.4647259305040072751.stgit@dwillia2-xfh.jf.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/core/port.c

index 3d2d011..bffde86 100644 (file)
@@ -290,7 +290,6 @@ static struct attribute *cxl_decoder_base_attrs[] = {
        &dev_attr_locked.attr,
        &dev_attr_interleave_granularity.attr,
        &dev_attr_interleave_ways.attr,
-       SET_CXL_REGION_ATTR(region)
        NULL,
 };
 
@@ -345,6 +344,7 @@ static const struct attribute_group *cxl_decoder_root_attribute_groups[] = {
 static struct attribute *cxl_decoder_switch_attrs[] = {
        &dev_attr_target_type.attr,
        &dev_attr_target_list.attr,
+       SET_CXL_REGION_ATTR(region)
        NULL,
 };
 
@@ -364,6 +364,7 @@ static struct attribute *cxl_decoder_endpoint_attrs[] = {
        &dev_attr_mode.attr,
        &dev_attr_dpa_size.attr,
        &dev_attr_dpa_resource.attr,
+       SET_CXL_REGION_ATTR(region)
        NULL,
 };