[PATCH 07/12] lib: utils: Improve variable declarations in MPXY RPMI mailbox client

Samuel Holland samuel.holland at sifive.com
Sun Jan 19 15:05:15 PST 2025


On 2025-01-16 9:56 AM, Anup Patel wrote:
> The local variable declarations should be at the start of function
> and preferrably organized like a inverted pyramid.
> 
> Signed-off-by: Anup Patel <apatel at ventanamicro.com>
> ---
>  lib/utils/mpxy/fdt_mpxy_rpmi_mbox.c | 31 ++++++++++++-----------------
>  1 file changed, 13 insertions(+), 18 deletions(-)
> 
> diff --git a/lib/utils/mpxy/fdt_mpxy_rpmi_mbox.c b/lib/utils/mpxy/fdt_mpxy_rpmi_mbox.c
> index 26b9e6a6..27f4c571 100644
> --- a/lib/utils/mpxy/fdt_mpxy_rpmi_mbox.c
> +++ b/lib/utils/mpxy/fdt_mpxy_rpmi_mbox.c
> @@ -34,8 +34,8 @@ struct mpxy_rpmi_mbox {
>  static const struct mpxy_rpmi_service_data *mpxy_find_rpmi_srvid(u32 message_id,
>  					const struct mpxy_rpmi_mbox_data *mbox_data)
>  {
> -	int mid = 0;
>  	const struct mpxy_rpmi_service_data *srv = mbox_data->service_data;
> +	int mid = 0;
>  
>  	for (mid = 0; srv[mid].id < mbox_data->num_services; mid++) {
>  		if (srv[mid].id == (u8)message_id)
> @@ -57,12 +57,10 @@ static int mpxy_mbox_read_attributes(struct sbi_mpxy_channel *channel,
>  				     u32 *outmem, u32 base_attr_id,
>  				     u32 attr_count)
>  {
> -	u32 end_id;
>  	struct mpxy_rpmi_mbox *rmb =
>  		container_of(channel, struct mpxy_rpmi_mbox, channel);
>  	u32 *attr_array = (u32 *)&rmb->msgprot_attrs;
> -
> -	end_id = base_attr_id + attr_count - 1;
> +	u32 end_id = base_attr_id + attr_count - 1;
>  
>  	if (end_id >= MPXY_MSGPROT_RPMI_ATTR_MAX_ID)
>  		return SBI_EBAD_RANGE;
> @@ -108,12 +106,11 @@ static int mpxy_mbox_write_attributes(struct sbi_mpxy_channel *channel,
>  				     u32 *outmem, u32 base_attr_id,
>  				     u32 attr_count)
>  {
> -	int ret, mem_idx;
> -	u32 end_id, attr_val, idx;
>  	struct mpxy_rpmi_mbox *rmb =
>  		container_of(channel, struct mpxy_rpmi_mbox, channel);
> -
> -	end_id = base_attr_id + attr_count - 1;
> +	u32 end_id = base_attr_id + attr_count - 1;
> +	u32 attr_val, idx;
> +	int ret, mem_idx;
>  
>  	if (end_id >= MPXY_MSGPROT_RPMI_ATTR_MAX_ID)
>  		return SBI_EBAD_RANGE;
> @@ -140,15 +137,15 @@ static int __mpxy_mbox_send_message(struct sbi_mpxy_channel *channel,
>  				  void *rx, u32 rx_max_len,
>  				  unsigned long *ack_len)
>  {
> -	int ret;
> -	u32 rx_len = 0;
> -	struct mbox_xfer xfer;
> -	struct rpmi_message_args args = {0};
>  	struct mpxy_rpmi_mbox *rmb =
>  		container_of(channel, struct mpxy_rpmi_mbox, channel);
>  	const struct mpxy_rpmi_mbox_data *data = rmb->mbox_data;
>  	const struct mpxy_rpmi_service_data *srv =
>  		mpxy_find_rpmi_srvid(message_id, data);
> +	struct rpmi_message_args args = {0};
> +	struct mbox_xfer xfer;
> +	u32 rx_len = 0;
> +	int ret;
>  
>  	if (!srv)
>  		return SBI_ENOTSUPP;
> @@ -215,12 +212,12 @@ static int mpxy_mbox_send_message_withoutresp(struct sbi_mpxy_channel *channel,
>  
>  int mpxy_rpmi_mbox_init(const void *fdt, int nodeoff, const struct fdt_match *match)
>  {
> -	int rc, len;
> +	const struct mpxy_rpmi_mbox_data *data = match->data;
> +	struct mpxy_rpmi_mbox *rmb;
> +	struct mbox_chan *chan;
>  	const fdt32_t *val;
>  	u32 channel_id;
> -	struct mbox_chan *chan;
> -	struct mpxy_rpmi_mbox *rmb;
> -	const struct mpxy_rpmi_mbox_data *data = match->data;
> +	int rc, len;
>  
>  	/* Allocate context for RPXY mbox client */
>  	rmb = sbi_zalloc(sizeof(*rmb));
> @@ -270,8 +267,6 @@ int mpxy_rpmi_mbox_init(const void *fdt, int nodeoff, const struct fdt_match *ma
>  					mpxy_mbox_send_message_withresp;
>  	rmb->channel.send_message_without_response =
>  					mpxy_mbox_send_message_withoutresp;
> -	/* No callback to switch events state data */
> -	rmb->channel.switch_eventsstate = NULL;

Does this belong as part of the previous patch? Either way:

Reviewed-by: Samuel Holland <samuel.holland at sifive.com>

>  
>  	/* RPMI Message Protocol ID */
>  	rmb->channel.attrs.msg_proto_id = SBI_MPXY_MSGPROTO_RPMI_ID;




More information about the opensbi mailing list