在 2023/7/25 6:47, Alison Schofield 写道:
On Wed, Jul 19, 2023 at 04:05:26PM +0800, Shiyang Ruan wrote:
The first for_each only do acpi_nfit_init_ars() for NFIT_SPA_VOLATILE
and NFIT_SPA_PM, which can be moved to next one.

Can the result of nfit_spa_type(nfit_spa->spa) change as a result of
the first switch statement? That would be a reason why they are separate.

nfit_spa_type() just gets the type of *spa by querying a type-uuid table. Also, according to the code shown below, we can find that it doesn't change anything.

int nfit_spa_type(struct acpi_nfit_system_address *spa)
{
        guid_t guid;
        int i;

        import_guid(&guid, spa->range_guid);
        for (i = 0; i < NFIT_UUID_MAX; i++)
                if (guid_equal(to_nfit_uuid(i), &guid))
                        return i;
        return -1;
}

--
Thanks,
Ruan.


Alison


Signed-off-by: Shiyang Ruan <[email protected]>
---
  drivers/acpi/nfit/core.c | 8 --------
  1 file changed, 8 deletions(-)

diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c
index 07204d482968..4090a0a0505c 100644
--- a/drivers/acpi/nfit/core.c
+++ b/drivers/acpi/nfit/core.c
@@ -2971,14 +2971,6 @@ static int acpi_nfit_register_regions(struct 
acpi_nfit_desc *acpi_desc)
                case NFIT_SPA_VOLATILE:
                case NFIT_SPA_PM:
                        acpi_nfit_init_ars(acpi_desc, nfit_spa);
-                       break;
-               }
-       }
-
-       list_for_each_entry(nfit_spa, &acpi_desc->spas, list) {
-               switch (nfit_spa_type(nfit_spa->spa)) {
-               case NFIT_SPA_VOLATILE:
-               case NFIT_SPA_PM:
                        /* register regions and kick off initial ARS run */
                        rc = ars_register(acpi_desc, nfit_spa);
                        if (rc)
--
2.41.0


Reply via email to