Treat PCI id->driver_data (intel_vsec_platform_info) as read-only by making
vsec_priv->info a const pointer and updating all function signatures to
accept const intel_vsec_platform_info *.

This improves const-correctness and clarifies that the platform info data
from the driver_data table is not meant to be modified at runtime.

No functional changes intended.

Signed-off-by: David E. Box <[email protected]>
---
v4:
  - No change

v3:
  - No change

v2:
  - New patch

 drivers/platform/x86/intel/vsec.c | 20 ++++++++++----------
 include/linux/intel_vsec.h        |  4 ++--
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/platform/x86/intel/vsec.c 
b/drivers/platform/x86/intel/vsec.c
index a10e2c65205c..61b32ae7f064 100644
--- a/drivers/platform/x86/intel/vsec.c
+++ b/drivers/platform/x86/intel/vsec.c
@@ -42,7 +42,7 @@ enum vsec_device_state {
 };
 
 struct vsec_priv {
-       struct intel_vsec_platform_info *info;
+       const struct intel_vsec_platform_info *info;
        struct device *suppliers[VSEC_FEATURE_COUNT];
        struct oobmsm_plat_info plat_info;
        enum vsec_device_state state[VSEC_FEATURE_COUNT];
@@ -270,7 +270,7 @@ int intel_vsec_add_aux(struct pci_dev *pdev, struct device 
*parent,
 EXPORT_SYMBOL_NS_GPL(intel_vsec_add_aux, "INTEL_VSEC");
 
 static int intel_vsec_add_dev(struct pci_dev *pdev, struct intel_vsec_header 
*header,
-                             struct intel_vsec_platform_info *info,
+                             const struct intel_vsec_platform_info *info,
                              unsigned long cap_id, u64 base_addr)
 {
        struct intel_vsec_device __free(kfree) *intel_vsec_dev = NULL;
@@ -406,7 +406,7 @@ static int get_cap_id(u32 header_id, unsigned long *cap_id)
 
 static int intel_vsec_register_device(struct pci_dev *pdev,
                                      struct intel_vsec_header *header,
-                                     struct intel_vsec_platform_info *info,
+                                     const struct intel_vsec_platform_info 
*info,
                                      u64 base_addr)
 {
        const struct vsec_feature_dependency *consumer_deps;
@@ -452,7 +452,7 @@ static int intel_vsec_register_device(struct pci_dev *pdev,
 }
 
 static bool intel_vsec_walk_header(struct pci_dev *pdev,
-                                  struct intel_vsec_platform_info *info)
+                                  const struct intel_vsec_platform_info *info)
 {
        struct intel_vsec_header **header = info->headers;
        bool have_devices = false;
@@ -468,7 +468,7 @@ static bool intel_vsec_walk_header(struct pci_dev *pdev,
 }
 
 static bool intel_vsec_walk_dvsec(struct pci_dev *pdev,
-                                 struct intel_vsec_platform_info *info)
+                                 const struct intel_vsec_platform_info *info)
 {
        bool have_devices = false;
        int pos = 0;
@@ -519,7 +519,7 @@ static bool intel_vsec_walk_dvsec(struct pci_dev *pdev,
 }
 
 static bool intel_vsec_walk_vsec(struct pci_dev *pdev,
-                                struct intel_vsec_platform_info *info)
+                                const struct intel_vsec_platform_info *info)
 {
        bool have_devices = false;
        int pos = 0;
@@ -565,7 +565,7 @@ static bool intel_vsec_walk_vsec(struct pci_dev *pdev,
 }
 
 int intel_vsec_register(struct pci_dev *pdev,
-                        struct intel_vsec_platform_info *info)
+                       const struct intel_vsec_platform_info *info)
 {
        if (!pdev || !info || !info->headers)
                return -EINVAL;
@@ -578,7 +578,7 @@ int intel_vsec_register(struct pci_dev *pdev,
 EXPORT_SYMBOL_NS_GPL(intel_vsec_register, "INTEL_VSEC");
 
 static bool intel_vsec_get_features(struct pci_dev *pdev,
-                                   struct intel_vsec_platform_info *info)
+                                   const struct intel_vsec_platform_info *info)
 {
        bool found = false;
 
@@ -622,7 +622,7 @@ static void intel_vsec_skip_missing_dependencies(struct 
pci_dev *pdev)
 
 static int intel_vsec_pci_probe(struct pci_dev *pdev, const struct 
pci_device_id *id)
 {
-       struct intel_vsec_platform_info *info;
+       const struct intel_vsec_platform_info *info;
        struct vsec_priv *priv;
        int num_caps, ret;
        int run_once = 0;
@@ -633,7 +633,7 @@ static int intel_vsec_pci_probe(struct pci_dev *pdev, const 
struct pci_device_id
                return ret;
 
        pci_save_state(pdev);
-       info = (struct intel_vsec_platform_info *)id->driver_data;
+       info = (const struct intel_vsec_platform_info *)id->driver_data;
        if (!info)
                return -EINVAL;
 
diff --git a/include/linux/intel_vsec.h b/include/linux/intel_vsec.h
index 1a0f357c2427..d551174b0049 100644
--- a/include/linux/intel_vsec.h
+++ b/include/linux/intel_vsec.h
@@ -200,13 +200,13 @@ static inline struct intel_vsec_device 
*auxdev_to_ivdev(struct auxiliary_device
 
 #if IS_ENABLED(CONFIG_INTEL_VSEC)
 int intel_vsec_register(struct pci_dev *pdev,
-                        struct intel_vsec_platform_info *info);
+                       const struct intel_vsec_platform_info *info);
 int intel_vsec_set_mapping(struct oobmsm_plat_info *plat_info,
                           struct intel_vsec_device *vsec_dev);
 struct oobmsm_plat_info *intel_vsec_get_mapping(struct pci_dev *pdev);
 #else
 static inline int intel_vsec_register(struct pci_dev *pdev,
-                                      struct intel_vsec_platform_info *info)
+                                     const struct intel_vsec_platform_info 
*info)
 {
        return -ENODEV;
 }
-- 
2.43.0

Reply via email to