[PATCH v3] powerpc: change rheap functions to use ulongs instead of pointers

Kumar Gala galak at kernel.crashing.org
Fri Apr 13 09:23:26 EST 2007


On Thu, 12 Apr 2007, Timur Tabi wrote:

> The rheap allocation functions return a pointer, but the actual value is based
> on how the heap was initialized, and so it can be anything, e.g. an offset
> into a buffer.  A ulong is a better representation of the value returned by
> the allocation functions.
>
> This patch changes all of the relevant rheap functions to use a unsigned long
> integers instead of a pointer.  In case of an error, the value returned is
> a negative error code that has been cast to an unsigned long.  The caller can
> use the IS_ERR_VALUE() macro to check for this.
>
> All code which calls the rheap functions is updated accordingly.  Macros
> IS_MURAM_ERR() and IS_DPERR(), have been deleted in favor of IS_ERR_VALUE().
>
> Also added error checking to rh_attach_region().
>
> Signed-off-by: Timur Tabi <timur at freescale.com>
> ---
>
> This version of the patch applies to Paul's master.  The previous version was
> intended for for-2.6.22, but it also had some errors in it that would prevent
> it from applying to any tree.
>
>  arch/powerpc/lib/rheap.c                |  117 ++++++++++++++++++-------------
>  arch/powerpc/sysdev/commproc.c          |   20 +++---
>  arch/powerpc/sysdev/cpm2_common.c       |   21 +++---
>  arch/powerpc/sysdev/qe_lib/qe.c         |   29 ++++----
>  arch/powerpc/sysdev/qe_lib/ucc_fast.c   |    5 +-
>  arch/powerpc/sysdev/qe_lib/ucc_slow.c   |    7 +-
>  arch/ppc/8xx_io/commproc.c              |   22 +++---
>  arch/ppc/lib/rheap.c                    |   95 +++++++++++++------------
>  arch/ppc/syslib/cpm2_common.c           |   23 +++---
>  drivers/net/fs_enet/mac-scc.c           |    2 +-
>  drivers/net/ucc_geth.c                  |   30 ++++----
>  drivers/serial/cpm_uart/cpm_uart_cpm1.c |    4 +-
>  drivers/serial/cpm_uart/cpm_uart_cpm2.c |    4 +-
>  include/asm-powerpc/qe.h                |   13 +---
>  include/asm-ppc/commproc.h              |   13 +---
>  include/asm-ppc/cpm2.h                  |   13 +---
>  include/asm-ppc/rheap.h                 |   20 +++---
>  17 files changed, 221 insertions(+), 217 deletions(-)

applied.

- k



More information about the Linuxppc-dev mailing list