> -----Original Message----- > From: Michael Ellerman [mailto:mich...@ellerman.id.au] > Sent: Tuesday, March 26, 2013 12:14 PM > To: Jia Hongtao-B38951 > Cc: linuxppc-dev@lists.ozlabs.org; ga...@kernel.crashing.org; Wood Scott- > B07421 > Subject: Re: [PATCH 1/2] powerpc/MPIC: Add get_version API both for > internal and external use > > On Tue, Mar 26, 2013 at 11:28:46AM +0800, Jia Hongtao wrote: > > MPIC version is useful information for both mpic_alloc() and > mpic_init(). > > The patch provide an API to get MPIC version for reusing the code. > > Also, some other IP block may need MPIC version for their own use. > > The API for external use is also provided. > > > > Signed-off-by: Jia Hongtao <hongtao....@freescale.com> > > Signed-off-by: Li Yang <le...@freescale.com> > > --- > > arch/powerpc/include/asm/mpic.h | 3 +++ > > arch/powerpc/sysdev/mpic.c | 30 +++++++++++++++++++++++------- > > 2 files changed, 26 insertions(+), 7 deletions(-) > > > > diff --git a/arch/powerpc/include/asm/mpic.h > > b/arch/powerpc/include/asm/mpic.h index c0f9ef9..95053d6 100644 > > --- a/arch/powerpc/include/asm/mpic.h > > +++ b/arch/powerpc/include/asm/mpic.h > > @@ -393,6 +393,9 @@ struct mpic > > #define MPIC_REGSET_STANDARD MPIC_REGSET(0) /* Original > MPIC */ > > #define MPIC_REGSET_TSI108 MPIC_REGSET(1) /* Tsi108/109 > PIC */ > > > > +/* Get the mpic version */ > > +extern u32 mpic_primary_get_version(void); > > + > > /* Allocate the controller structure and setup the linux irq descs > > * for the range if interrupts passed in. No HW initialization is > > * actually performed. > > diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c > > index d30e6a6..d6b6fb6 100644 > > --- a/arch/powerpc/sysdev/mpic.c > > +++ b/arch/powerpc/sysdev/mpic.c > > @@ -1165,10 +1165,31 @@ static struct irq_domain_ops mpic_host_ops = { > > .xlate = mpic_host_xlate, > > }; > > > > +static u32 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; > > +} > > + > > /* > > * Exported functions > > */ > > > > +u32 mpic_primary_get_version(void) > > +{ > > + u32 brr1; > > + struct mpic *mpic = mpic_primary; > > + > > + brr1 = _mpic_read(mpic->reg_type, &mpic->thiscpuregs, > > + MPIC_FSL_BRR1); > > + > > + return brr1 & MPIC_FSL_BRR1_VER; > > +} > > Why doesn't mpic_primary_get_version() call mpic_get_version() ? > > cheers
Good idea. Thanks. -Hongtao. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev