[PATCH] PPC4xx: ADMA separating SoC specific functions

Dan Williams dan.j.williams at intel.com
Fri Oct 1 10:57:10 EST 2010


[ adding Greg ]

On Thu, Sep 30, 2010 at 5:16 PM, Tirumala Marri <tmarri at apm.com> wrote:
>> Where  iop_adma_alloc_slots() is implemented differently between
>> iop13xx and iop3xx.  In this case why does ppc440spe-adma.h exist?  If
>> it has code specific to ppe440spe it should just live in the ppe440spe
>> C file.  If it is truly generic it should move to the base adma.c
>> implementation.  If you want to reuse a ppe440spe routine just link to
>> it.
> [Marri]That is how I started changing the code. And I see tons of warnings
> Saying "Used but not defined" or "Defined but not used". How should I
> suppress
> Some functions from adma.c are used in ppc440spe-adma.c and some from
> ppc440spe-adma.c
> Are used in adma.c.

This is part of defining a common interface.  Maybe look at the
linkages of how the common ioat_probe() routine is used to support all
three versions of its dma hardware.

> So I created intermediate file ppc440spe-adma.h with
> inlined
> Functions. In future this will be converted into ppc4xx_adma.h and move
> existing
> SoC specific stuff to ppc440spe-adma.c file.

You definitely need to be able to resolve "used but not defined" and
"defined but not used" warnings before tackling a driver conversion
like this.  In light of this comment I wonder if it would be
appropriate to submit your original driver, that just duplicated
routines from the ppc440spe driver, to the -staging tree.  Then it
would be available for someone familiar with driver conversions to
take a shot at unifying.

Greg, is this an appropriate use of -staging?

--
Dan


More information about the Linuxppc-dev mailing list