]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: qcom: Constify GPR callback response data
authorKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Sun, 30 Nov 2025 09:40:25 +0000 (10:40 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 19 Dec 2025 21:29:30 +0000 (21:29 +0000)
GPR bus driver calls each GPR client callback with pointer to the GPR
response packet.  The callbacks are not suppose to modify that response
packet, so make it a pointer to const to document that expectation
explicitly.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20251130-asoc-apr-const-v1-3-d0833f3ed423@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/linux/soc/qcom/apr.h
sound/soc/qcom/qdsp6/q6apm.c
sound/soc/qcom/qdsp6/q6prm.c

index b16530f319ad52d9515f1cab342fa011a890884a..6e1b1202e81855f02952d187897321488ce11696 100644 (file)
@@ -122,7 +122,7 @@ struct gpr_ibasic_rsp_accepted_t {
 #define APR_SVC_MAJOR_VERSION(v)       ((v >> 16) & 0xFF)
 #define APR_SVC_MINOR_VERSION(v)       (v & 0xFF)
 
-typedef int (*gpr_port_cb) (struct gpr_resp_pkt *d, void *priv, int op);
+typedef int (*gpr_port_cb) (const struct gpr_resp_pkt *d, void *priv, int op);
 struct packet_router;
 struct pkt_router_svc {
        struct device *dev;
index 94cc6376a36762b926fd3f2f2e62361a7910d004..cec135c53b99e06f4db996876a2d5528a5521841 100644 (file)
@@ -487,14 +487,14 @@ int q6apm_get_hw_pointer(struct q6apm_graph *graph, int dir)
 }
 EXPORT_SYMBOL_GPL(q6apm_get_hw_pointer);
 
-static int graph_callback(struct gpr_resp_pkt *data, void *priv, int op)
+static int graph_callback(const struct gpr_resp_pkt *data, void *priv, int op)
 {
        struct data_cmd_rsp_rd_sh_mem_ep_data_buffer_done_v2 *rd_done;
        struct data_cmd_rsp_wr_sh_mem_ep_data_buffer_done_v2 *done;
        struct apm_cmd_rsp_shared_mem_map_regions *rsp;
        struct gpr_ibasic_rsp_result_t *result;
        struct q6apm_graph *graph = priv;
-       struct gpr_hdr *hdr = &data->hdr;
+       const struct gpr_hdr *hdr = &data->hdr;
        struct device *dev = graph->dev;
        uint32_t client_event;
        phys_addr_t phys;
@@ -761,13 +761,13 @@ struct audioreach_module *q6apm_find_module_by_mid(struct q6apm_graph *graph, ui
 
 }
 
-static int apm_callback(struct gpr_resp_pkt *data, void *priv, int op)
+static int apm_callback(const struct gpr_resp_pkt *data, void *priv, int op)
 {
        gpr_device_t *gdev = priv;
        struct q6apm *apm = dev_get_drvdata(&gdev->dev);
        struct device *dev = &gdev->dev;
        struct gpr_ibasic_rsp_result_t *result;
-       struct gpr_hdr *hdr = &data->hdr;
+       const struct gpr_hdr *hdr = &data->hdr;
 
        result = data->payload;
 
index 0b8fad0bc83242f814805ede3bee4e3fb4ade0db..eaec6d211cf8489df73b4d6ad30f645be269aa5e 100644 (file)
@@ -175,12 +175,12 @@ int q6prm_set_lpass_clock(struct device *dev, int clk_id, int clk_attr, int clk_
 }
 EXPORT_SYMBOL_GPL(q6prm_set_lpass_clock);
 
-static int prm_callback(struct gpr_resp_pkt *data, void *priv, int op)
+static int prm_callback(const struct gpr_resp_pkt *data, void *priv, int op)
 {
        gpr_device_t *gdev = priv;
        struct q6prm *prm = dev_get_drvdata(&gdev->dev);
        struct gpr_ibasic_rsp_result_t *result;
-       struct gpr_hdr *hdr = &data->hdr;
+       const struct gpr_hdr *hdr = &data->hdr;
 
        switch (hdr->opcode) {
        case PRM_CMD_RSP_REQUEST_HW_RSC: