[PATCH u-boot-mvebu 4/5] arm: mvebu: a37xx: Extend mbox_do_cmd() code

Marek Behún marek.behun at nic.cz
Thu Feb 17 19:40:52 CET 2022


On Thu, 17 Feb 2022 18:13:17 +0100
Pali Rohár <pali at kernel.org> wrote:

> On Thursday 17 February 2022 15:16:33 Marek Behún wrote:
> > On Thu, 17 Feb 2022 10:26:18 +0100
> > Pali Rohár <pali at kernel.org> wrote:
> >   
> > > Allow to specify input parameters, define all available mbox commands
> > > supported by CZ.NIC secure firmware + Marvell fuse.bin firmware and fix  
> >                CZ.NIC's               and also Marvell's  
> > > parsing response from Marvell OTP commands.
> > > 
> > > Signed-off-by: Pali Rohár <pali at kernel.org>  
> > 
> > ...
> >   
> > >  #define MBOX_STS_ERROR(s)		((s) & (3 << 30))
> > >  #define MBOX_STS_VALUE(s)		(((s) >> 10) & 0xfffff)
> > >  #define MBOX_STS_CMD(s)			((s) & 0x3ff)
> > > +#define MBOX_STS_MARVELL_ERROR(s)	((s) == 0 ? 0 : (s) == 2 ? ETIMEDOUT : (s) == 3 ? EINVAL : (s) == 4 ? ENOSYS : EIO)  
> > 
> > This is starting to become too complicated for a macro :-(  
> 
> It is straightforward switch macro. I can reformat it to be more
> readable, e.g.:
> 
> #define MBOX_STS_MARVELL_ERROR(s)	((s) == 0 ? 0         : \
> 					 (s) == 2 ? ETIMEDOUT : \
> 					 (s) == 3 ? EINVAL    : \
> 					 (s) == 4 ? ENOSYS    : \
> 					            EIO)

I would still prefer static functions for such expressions, but this
formatting is better then nothing.
If you resend with this formatting, you can add my Reviewed-by.

Marek


More information about the U-Boot mailing list