net: ipa: pass a platform device to ipa_smp2p_init()
authorAlex Elder <elder@linaro.org>
Fri, 1 Mar 2024 17:02:41 +0000 (11:02 -0600)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Mar 2024 11:44:41 +0000 (11:44 +0000)
Rather than using the platform device pointer field in the IPA
pointer, pass a platform device pointer to ipa_smp2p_init().  Use
that pointer throughout that function.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ipa/ipa_main.c
drivers/net/ipa/ipa_smp2p.c
drivers/net/ipa/ipa_smp2p.h

index 17ee075370ce60baab8812f69e7a714ec414ed52..3125aec88e6e1ca082680dee239f14ae4a5c9f9e 100644 (file)
@@ -888,7 +888,7 @@ static int ipa_probe(struct platform_device *pdev)
        if (ret)
                goto err_endpoint_exit;
 
-       ret = ipa_smp2p_init(ipa, loader == IPA_LOADER_MODEM);
+       ret = ipa_smp2p_init(ipa, pdev, loader == IPA_LOADER_MODEM);
        if (ret)
                goto err_table_exit;
 
index 8c4497dfe5afd18f6e36bf32541e1f3a3de254da..831268551d9a7f26c5e332888b1d9422ad3a4abe 100644 (file)
@@ -220,10 +220,11 @@ static void ipa_smp2p_power_release(struct ipa *ipa)
 }
 
 /* Initialize the IPA SMP2P subsystem */
-int ipa_smp2p_init(struct ipa *ipa, bool modem_init)
+int
+ipa_smp2p_init(struct ipa *ipa, struct platform_device *pdev, bool modem_init)
 {
        struct qcom_smem_state *enabled_state;
-       struct device *dev = &ipa->pdev->dev;
+       struct device *dev = &pdev->dev;
        struct qcom_smem_state *valid_state;
        struct ipa_smp2p *smp2p;
        u32 enabled_bit;
@@ -262,7 +263,7 @@ int ipa_smp2p_init(struct ipa *ipa, bool modem_init)
        /* We have enough information saved to handle notifications */
        ipa->smp2p = smp2p;
 
-       ret = ipa_smp2p_irq_init(smp2p, smp2p->ipa->pdev, "ipa-clock-query",
+       ret = ipa_smp2p_irq_init(smp2p, pdev, "ipa-clock-query",
                                 ipa_smp2p_modem_clk_query_isr);
        if (ret < 0)
                goto err_null_smp2p;
@@ -274,8 +275,7 @@ int ipa_smp2p_init(struct ipa *ipa, bool modem_init)
 
        if (modem_init) {
                /* Result will be non-zero (negative for error) */
-               ret = ipa_smp2p_irq_init(smp2p, smp2p->ipa->pdev,
-                                        "ipa-setup-ready",
+               ret = ipa_smp2p_irq_init(smp2p, pdev, "ipa-setup-ready",
                                         ipa_smp2p_modem_setup_ready_isr);
                if (ret < 0)
                        goto err_notifier_unregister;
index 9b969b03d1a4bbdc67cc58b9ed5a453eccadb0f0..2a3d8eefb13bb08d5868a8d6a7fa5f773638d725 100644 (file)
@@ -8,17 +8,20 @@
 
 #include <linux/types.h>
 
+struct platform_device;
+
 struct ipa;
 
 /**
  * ipa_smp2p_init() - Initialize the IPA SMP2P subsystem
  * @ipa:       IPA pointer
+ * @pdev:      Platform device pointer
  * @modem_init:        Whether the modem is responsible for GSI initialization
  *
  * Return:     0 if successful, or a negative error code
- *
  */
-int ipa_smp2p_init(struct ipa *ipa, bool modem_init);
+int ipa_smp2p_init(struct ipa *ipa, struct platform_device *pdev,
+                  bool modem_init);
 
 /**
  * ipa_smp2p_exit() - Inverse of ipa_smp2p_init()