[PATCH V4] powerpc/MPIC: Add get_version API both for internal and external use

Jia Hongtao-B38951 B38951 at freescale.com
Wed Apr 10 13:04:44 EST 2013



> -----Original Message-----
> From: Wood Scott-B07421
> Sent: Wednesday, April 10, 2013 10:32 AM
> To: Jia Hongtao-B38951
> Cc: linuxppc-dev at lists.ozlabs.org; galak at kernel.crashing.org; Wood Scott-
> B07421; Li Yang-R58472; Jia Hongtao-B38951
> Subject: Re: [PATCH V4] powerpc/MPIC: Add get_version API both for
> internal and external use
> 
> On 04/07/2013 09:01:54 PM, Jia Hongtao wrote:
> > diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
> > index d30e6a6..48c8fae 100644
> > --- a/arch/powerpc/sysdev/mpic.c
> > +++ b/arch/powerpc/sysdev/mpic.c
> > @@ -1165,10 +1165,30 @@ static struct irq_domain_ops mpic_host_ops = {
> >  	.xlate = mpic_host_xlate,
> >  };
> >
> > +static u32 fsl_mpic_get_version(struct mpic *mpic) {
> > +	u32 brr1;
> > +
> > +	brr1 = _mpic_read(mpic->reg_type, &mpic->thiscpuregs,
> > +			MPIC_FSL_BRR1);
> > +
> > +	return brr1 & MPIC_FSL_BRR1_VER;
> > +}
> 
> If it's not an FSL mpic, thiscpuregs->base will be NULL.  Please check
> mpic->flags for MPIC_FSL.
> 
> > +
> >  /*
> >   * Exported functions
> >   */
> >
> > +u32 fsl_mpic_primary_get_version(void)
> > +{
> > +	struct mpic *mpic = mpic_primary;
> > +
> > +	if (mpic)
> > +		return fsl_mpic_get_version(mpic);
> > +
> > +	return 0;
> > +}
> 
> ...especially since the external version doesn't check for it either.
> 
> Otherwise, this and the MSI-X patch look OK to me.
> 
> -Scott


Since all the functions including mpic_alloc() and mpic_init() do the
check for MPIC_FSL before using fsl_mpic_get_version() I'd like to add
check just for fsl_mpic_primary_get_version().

It will be like this:
u32 fsl_mpic_primary_get_version(void)
{
        struct mpic *mpic = mpic_primary;

        if (mpic && (mpic->flags & MPIC_FSL))
                return fsl_mpic_get_version(mpic);

        return 0;
}

Could we reach an agreement here?

Thanks.
-Hongtao.



More information about the Linuxppc-dev mailing list