lib: utils: Constantify mpxy_rpmi_mbox_data in mpxy_rpmi_mbox

The mpxy_rpmi_mbox_data is provided by RPMI service group specific
MPXY driver to the common MPXY RPMI mailbox client implementation
so let's constantify mpxy_rpmi_mbox_data in mpxy_rpmi_mbox so that
it is not accidently modified.

Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
This commit is contained in:
Anup Patel
2025-01-11 21:13:08 +05:30
committed by Anup Patel
parent d14340cb31
commit fc1232899d
2 changed files with 9 additions and 8 deletions

View File

@@ -69,7 +69,7 @@ static struct mpxy_rpmi_service_data clock_services[] = {
}, },
}; };
static struct mpxy_rpmi_mbox_data clock_data = { static const struct mpxy_rpmi_mbox_data clock_data = {
.servicegrp_id = RPMI_SRVGRP_CLOCK, .servicegrp_id = RPMI_SRVGRP_CLOCK,
.num_services = RPMI_CLOCK_SRV_MAX_COUNT, .num_services = RPMI_CLOCK_SRV_MAX_COUNT,
.notifications_support = 1, .notifications_support = 1,

View File

@@ -22,7 +22,7 @@
*/ */
struct mpxy_rpmi_mbox { struct mpxy_rpmi_mbox {
struct mbox_chan *chan; struct mbox_chan *chan;
struct mpxy_rpmi_mbox_data *mbox_data; const struct mpxy_rpmi_mbox_data *mbox_data;
struct mpxy_rpmi_channel_attrs msgprot_attrs; struct mpxy_rpmi_channel_attrs msgprot_attrs;
struct sbi_mpxy_channel channel; struct sbi_mpxy_channel channel;
}; };
@@ -31,11 +31,11 @@ struct mpxy_rpmi_mbox {
* Discover the RPMI service data using message_id * Discover the RPMI service data using message_id
* MPXY message_id == RPMI service_id * MPXY message_id == RPMI service_id
*/ */
static struct mpxy_rpmi_service_data *mpxy_find_rpmi_srvid(u32 message_id, static const struct mpxy_rpmi_service_data *mpxy_find_rpmi_srvid(u32 message_id,
struct mpxy_rpmi_mbox_data *mbox_data) const struct mpxy_rpmi_mbox_data *mbox_data)
{ {
int mid = 0; int mid = 0;
struct mpxy_rpmi_service_data *srv = mbox_data->service_data; const struct mpxy_rpmi_service_data *srv = mbox_data->service_data;
for (mid = 0; srv[mid].id < mbox_data->num_services; mid++) { for (mid = 0; srv[mid].id < mbox_data->num_services; mid++) {
if (srv[mid].id == (u8)message_id) if (srv[mid].id == (u8)message_id)
@@ -146,8 +146,9 @@ static int __mpxy_mbox_send_message(struct sbi_mpxy_channel *channel,
struct rpmi_message_args args = {0}; struct rpmi_message_args args = {0};
struct mpxy_rpmi_mbox *rmb = struct mpxy_rpmi_mbox *rmb =
container_of(channel, struct mpxy_rpmi_mbox, channel); container_of(channel, struct mpxy_rpmi_mbox, channel);
struct mpxy_rpmi_service_data *srv = const struct mpxy_rpmi_service_data *srv =
mpxy_find_rpmi_srvid(message_id, rmb->mbox_data); mpxy_find_rpmi_srvid(message_id, rmb->mbox_data);
if (!srv) if (!srv)
return SBI_ENOTSUPP; return SBI_ENOTSUPP;
@@ -299,7 +300,7 @@ int mpxy_rpmi_mbox_init(const void *fdt, int nodeoff, const struct fdt_match *ma
rmb->msgprot_attrs.servicegrp_ver = rmb->msgprot_attrs.servicegrp_ver =
SBI_MPXY_MSGPROTO_VERSION(MPXY_RPMI_MAJOR_VER, MPXY_RPMI_MINOR_VER); SBI_MPXY_MSGPROTO_VERSION(MPXY_RPMI_MAJOR_VER, MPXY_RPMI_MINOR_VER);
rmb->mbox_data = (struct mpxy_rpmi_mbox_data *)data; rmb->mbox_data = data;
rmb->chan = chan; rmb->chan = chan;
/* Register RPXY service group */ /* Register RPXY service group */