Subject: Re: [PATCH 2/6] powerpc: export cpm2_immr symbol for CPM2 drivers to compile as module

From: Anton Vorontsov <[email-masked]>
Date: Thu, 7 Aug 2008 15:38:09 +0400

On Thu, Aug 07, 2008 at 06:19:22PM +0800, Li Yang wrote:
> On Wed, 2008-08-06 at 19:24 +0400, Anton Vorontsov wrote:
> > On Wed, Aug 06, 2008 at 03:04:41PM +0800, Li Yang wrote:
> > > Signed-off-by: Li Yang <[email-masked]>
> > > ---
> > >  arch/powerpc/sysdev/cpm2.c |    1 +
> > >  1 files changed, 1 insertions(+), 0 deletions(-)
> > > 
> > > diff --git a/arch/powerpc/sysdev/cpm2.c b/arch/powerpc/sysdev/cpm2.c
> > > index f1c3395..021480e 100644
> > > --- a/arch/powerpc/sysdev/cpm2.c
> > > +++ b/arch/powerpc/sysdev/cpm2.c
> > > @@ -52,6 +52,7 @@ cpm_cpm2_t __iomem *cpmp; /* Pointer to comm processor space */
> > >   * the communication processor devices.
> > >   */
> > >  cpm2_map_t __iomem *cpm2_immr;
> > > +EXPORT_SYMBOL(cpm2_immr);
> > 
> > This is uneeded if you'll start using cpm_muram_* functions
> > from include/asm-powerpc/cpm.h.
> 
> Right.  But there are still a few in tree drivers rely on this such as
> fs_enet.

Probably they should be fixed... Only two users left:

$ git-grep cpm2_immr drivers/
drivers/mtd/maps/wr_sbc82xx_flash.c:    volatile memctl_cpm2_t *mc = &cpm2_immr->im_memctl;
drivers/mtd/maps/wr_sbc82xx_flash.c:    mc = &cpm2_immr->im_memctl;
drivers/net/fs_enet/fs_enet-main.c:     fs_enet_immap = cpm2_immr;
drivers/net/fs_enet/mac-fcc.c:  fep->fcc.mem = (void __iomem *)cpm2_immr;

I think wr_sbc82xx_flash.c is superseded by the physmap_of driver. There
is no single CONFIG_MTD_SBC8240 enabled in the powerpc/configs.

Plus, I wonder how they didn't break the build all that time w/o
EXPORT_SYMBOL(). Probably nobody tried to build them as modules.

> Ps: In your cpm_muram_init() you re-mapped the muram space separately .
> Are we planning to get rid of cpm2_immr completely and manage memory
> mapping by each block?

At least I always thought so...

Thanks,

-- 
Anton Vorontsov
email: [email-masked]
irc://irc.freenode.net/bd2