net: ipa: move and redefine ipa_version_valid()
authorAlex Elder <elder@linaro.org>
Sat, 10 Sep 2022 01:11:28 +0000 (20:11 -0500)
committerJakub Kicinski <kuba@kernel.org>
Tue, 20 Sep 2022 14:45:47 +0000 (07:45 -0700)
Move the definition of ipa_version_valid(), making it a static
inline function defined together with the enumerated type in
"ipa_version.h".  Define a new count value in the type.

Rename the function to be ipa_version_supported(), and have it
return true only if the IPA version supplied is explicitly supported
by the driver.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ipa/ipa_main.c
drivers/net/ipa/ipa_version.h

index 32962d885acd501b67d8e2e5439abd823368d12e..9dfa7f58a207ff8442d55366ca5818a5423529ca 100644 (file)
@@ -616,27 +616,6 @@ static void ipa_validate_build(void)
                        field_max(AGGR_GRANULARITY_FMASK));
 }
 
-static bool ipa_version_valid(enum ipa_version version)
-{
-       switch (version) {
-       case IPA_VERSION_3_0:
-       case IPA_VERSION_3_1:
-       case IPA_VERSION_3_5:
-       case IPA_VERSION_3_5_1:
-       case IPA_VERSION_4_0:
-       case IPA_VERSION_4_1:
-       case IPA_VERSION_4_2:
-       case IPA_VERSION_4_5:
-       case IPA_VERSION_4_7:
-       case IPA_VERSION_4_9:
-       case IPA_VERSION_4_11:
-               return true;
-
-       default:
-               return false;
-       }
-}
-
 /**
  * ipa_probe() - IPA platform driver probe function
  * @pdev:      Platform device pointer
@@ -678,8 +657,8 @@ static int ipa_probe(struct platform_device *pdev)
                return -ENODEV;
        }
 
-       if (!ipa_version_valid(data->version)) {
-               dev_err(dev, "invalid IPA version\n");
+       if (!ipa_version_supported(data->version)) {
+               dev_err(dev, "unsupported IPA version %u\n", data->version);
                return -EINVAL;
        }
 
index 852d6cbc87758345b3154607bdca7cdd5ce4f2a0..58f7b43b4db3ba3095cffa688f75682d72751287 100644 (file)
  * @IPA_VERSION_4_7:   IPA version 4.7/GSI version 2.7
  * @IPA_VERSION_4_9:   IPA version 4.9/GSI version 2.9
  * @IPA_VERSION_4_11:  IPA version 4.11/GSI version 2.11 (2.1.1)
+ * @IPA_VERSION_COUNT: Number of defined IPA versions
  *
  * Defines the version of IPA (and GSI) hardware present on the platform.
- * Please update ipa_version_valid() and ipa_version_string() whenever a
- * new version is added.
+ * Please update ipa_version_string() whenever a new version is added.
  */
 enum ipa_version {
        IPA_VERSION_3_0,
@@ -36,8 +36,24 @@ enum ipa_version {
        IPA_VERSION_4_7,
        IPA_VERSION_4_9,
        IPA_VERSION_4_11,
+       IPA_VERSION_COUNT,                      /* Last; not a version */
 };
 
+static inline bool ipa_version_supported(enum ipa_version version)
+{
+       switch (version) {
+       case IPA_VERSION_3_1:
+       case IPA_VERSION_3_5_1:
+       case IPA_VERSION_4_2:
+       case IPA_VERSION_4_5:
+       case IPA_VERSION_4_9:
+       case IPA_VERSION_4_11:
+               return true;
+       default:
+               return false;
+       }
+}
+
 /* Execution environment IDs */
 enum gsi_ee_id {
        GSI_EE_AP               = 0x0,