]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
cxl/acpi: Remove cxl_acpi_set_cache_size()
authorLi Ming <ming.li@zohomail.com>
Fri, 9 Jan 2026 15:40:42 +0000 (23:40 +0800)
committerDave Jiang <dave.jiang@intel.com>
Thu, 22 Jan 2026 23:58:13 +0000 (16:58 -0700)
cxl_acpi_set_cache_size() returns an error only when the size of the
cache range is not matched with the CXL address range. Almost all
implementation of setting cache size is in cxl_acpi_set_cache_size(),
cxl_setup_extended_linear_size() does nothing except printing a warning
in above error case, but cxl_acpi_set_cache_size() also prints a warning
at the same time. So can consolidates these two functions into one, keep
the function name as cxl_setup_extended_linear_size().

Signed-off-by: Li Ming <ming.li@zohomail.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Link: https://patch.msgid.link/20260109154042.331296-1-ming.li@zohomail.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
drivers/cxl/acpi.c

index 77ac940e30138c0a4c7b8869b96b9bbc2b5124da..e65dfae42bdedf55abc11270991e3d663956383f 100644 (file)
@@ -357,7 +357,7 @@ static int add_or_reset_cxl_resource(struct resource *parent, struct resource *r
        return rc;
 }
 
-static int cxl_acpi_set_cache_size(struct cxl_root_decoder *cxlrd)
+static void cxl_setup_extended_linear_cache(struct cxl_root_decoder *cxlrd)
 {
        struct cxl_decoder *cxld = &cxlrd->cxlsd.cxld;
        struct range *hpa = &cxld->hpa_range;
@@ -367,12 +367,14 @@ static int cxl_acpi_set_cache_size(struct cxl_root_decoder *cxlrd)
        struct resource res;
        int nid, rc;
 
+       /* Explicitly initialize cache size to 0 at the beginning */
+       cxlrd->cache_size = 0;
        res = DEFINE_RES_MEM(start, size);
        nid = phys_to_target_node(start);
 
        rc = hmat_get_extended_linear_cache_size(&res, nid, &cache_size);
        if (rc)
-               return 0;
+               return;
 
        /*
         * The cache range is expected to be within the CFMWS.
@@ -384,31 +386,10 @@ static int cxl_acpi_set_cache_size(struct cxl_root_decoder *cxlrd)
                dev_warn(&cxld->dev,
                         "Extended Linear Cache size %pa != CXL size %pa. No Support!",
                         &cache_size, &size);
-               return -ENXIO;
+               return;
        }
 
        cxlrd->cache_size = cache_size;
-
-       return 0;
-}
-
-static void cxl_setup_extended_linear_cache(struct cxl_root_decoder *cxlrd)
-{
-       int rc;
-
-       rc = cxl_acpi_set_cache_size(cxlrd);
-       if (rc) {
-               /*
-                * Failing to retrieve extended linear cache region resize does not
-                * prevent the region from functioning. Only causes cxl list showing
-                * incorrect region size.
-                */
-               dev_warn(cxlrd->cxlsd.cxld.dev.parent,
-                        "Extended linear cache retrieval failed rc:%d\n", rc);
-
-               /* Ignoring return code */
-               cxlrd->cache_size = 0;
-       }
 }
 
 DEFINE_FREE(put_cxlrd, struct cxl_root_decoder *,