net: ipa: kill ipa_modem_setup()
authorAlex Elder <elder@linaro.org>
Mon, 26 Jul 2021 20:11:32 +0000 (15:11 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 26 Jul 2021 22:09:18 +0000 (23:09 +0100)
The functions ipa_modem_setup() and ipa_modem_teardown() are trivial
wrappers that call ipa_qmi_setup() and ipa_qmi_teardown().  Just
call the QMI functions directly, and get rid of the wrappers.

Improve the documentation of what setting up QMI does.

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_modem.c
drivers/net/ipa/ipa_modem.h
drivers/net/ipa/ipa_qmi.c
drivers/net/ipa/ipa_qmi.h

index 0567d72..971987f 100644 (file)
@@ -167,7 +167,7 @@ int ipa_setup(struct ipa *ipa)
        ipa_endpoint_default_route_set(ipa, exception_endpoint->endpoint_id);
 
        /* We're all set.  Now prepare for communication with the modem */
-       ret = ipa_modem_setup(ipa);
+       ret = ipa_qmi_setup(ipa);
        if (ret)
                goto err_default_route_clear;
 
@@ -204,7 +204,7 @@ static void ipa_teardown(struct ipa *ipa)
        struct ipa_endpoint *exception_endpoint;
        struct ipa_endpoint *command_endpoint;
 
-       ipa_modem_teardown(ipa);
+       ipa_qmi_teardown(ipa);
        ipa_endpoint_default_route_clear(ipa);
        exception_endpoint = ipa->name_map[IPA_ENDPOINT_AP_LAN_RX];
        ipa_endpoint_disable_one(exception_endpoint);
index af9aedb..5cb60e2 100644 (file)
@@ -377,13 +377,3 @@ void ipa_modem_deconfig(struct ipa *ipa)
        ipa->notifier = NULL;
        memset(&ipa->nb, 0, sizeof(ipa->nb));
 }
-
-int ipa_modem_setup(struct ipa *ipa)
-{
-       return ipa_qmi_setup(ipa);
-}
-
-void ipa_modem_teardown(struct ipa *ipa)
-{
-       ipa_qmi_teardown(ipa);
-}
index 2de3e21..5e6e3d2 100644 (file)
@@ -7,7 +7,6 @@
 #define _IPA_MODEM_H_
 
 struct ipa;
-struct ipa_endpoint;
 struct net_device;
 struct sk_buff;
 
@@ -25,7 +24,4 @@ void ipa_modem_exit(struct ipa *ipa);
 int ipa_modem_config(struct ipa *ipa);
 void ipa_modem_deconfig(struct ipa *ipa);
 
-int ipa_modem_setup(struct ipa *ipa);
-void ipa_modem_teardown(struct ipa *ipa);
-
 #endif /* _IPA_MODEM_H_ */
index 4661105..90f3aec 100644 (file)
@@ -467,10 +467,7 @@ static const struct qmi_ops ipa_client_ops = {
        .new_server     = ipa_client_new_server,
 };
 
-/* This is called by ipa_setup().  We can be informed via remoteproc that
- * the modem has shut down, in which case this function will be called
- * again to prepare for it coming back up again.
- */
+/* Set up for QMI message exchange */
 int ipa_qmi_setup(struct ipa *ipa)
 {
        struct ipa_qmi *ipa_qmi = &ipa->qmi;
@@ -526,6 +523,7 @@ err_server_handle_release:
        return ret;
 }
 
+/* Tear down IPA QMI handles */
 void ipa_qmi_teardown(struct ipa *ipa)
 {
        cancel_work_sync(&ipa->qmi.init_driver_work);
index b6f2055..856ef62 100644 (file)
@@ -39,7 +39,26 @@ struct ipa_qmi {
        bool indication_sent;
 };
 
+/**
+ * ipa_qmi_setup() - Set up for QMI message exchange
+ * @ipa:               IPA pointer
+ *
+ * This is called at the end of ipa_setup(), to prepare for the exchange
+ * of QMI messages that perform a "handshake" between the AP and modem.
+ * When the modem QMI server announces its presence, an AP request message
+ * supplies operating parameters to be used to the modem, and the modem
+ * acknowledges receipt of those parameters.  The modem will not touch the
+ * IPA hardware until this handshake is complete.
+ *
+ * If the modem crashes (or shuts down) a new handshake begins when the
+ * modem's QMI server is started again.
+ */
 int ipa_qmi_setup(struct ipa *ipa);
+
+/**
+ * ipa_qmi_teardown() - Tear down IPA QMI handles
+ * @ipa:               IPA pointer
+ */
 void ipa_qmi_teardown(struct ipa *ipa);
 
 #endif /* !_IPA_QMI_H_ */