LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* build error with kdump shutdown hook support
From: Geoff Levand @ 2008-01-31  3:22 UTC (permalink / raw)
  To: Michael Neuling; +Cc: linuxppc-dev@ozlabs.org

Hi.

It seems something is missing in the current
linux-2.6.git (8af03e782cae1e0a0f530ddd22301cdd12cf9dc0).

  CC      arch/powerpc/kernel/crash.o
arch/powerpc/kernel/crash.c: In function 'default_machine_crash_shutdown':
arch/powerpc/kernel/crash.c:388: error: '__debugger_fault_handler' undeclared (first use in this function)
arch/powerpc/kernel/crash.c:388: error: (Each undeclared identifier is reported only once
arch/powerpc/kernel/crash.c:388: error: for each function it appears in.)


commit 496b010e1e70a9b4286fa34f19523f24a194f119
Author: Michael Neuling <mikey@neuling.org>
Date:   Fri Jan 18 15:50:30 2008 +1100

    [POWERPC] kdump shutdown hook support

    This adds hooks into the default_machine_crash_shutdown so drivers can
    register a function to be run in the first kernel before we hand off
    to the second kernel.  This should only be used in exceptional
    circumstances, like where the device can't be reset in the second
    kernel alone (as is the case with eHEA).  To emphasize this, the
    number of handles allowed to be registered is currently #def to 1.

    This uses the setjmp/longjmp code around the call out to the
    registered hooks, so any bogus exceptions we encounter will hopefully
    be recoverable.

    Tested with bogus data and instruction exceptions.

    Signed-off-by: Michael Neuling <mikey@neuling.org>
    Signed-off-by: Paul Mackerras <paulus@samba.org>

^ permalink raw reply

* RE: [PATCH 3/6] Move include/asm-ppc/rio.h to include/asm-powerpc/rio.h
From: Zhang Wei @ 2008-01-31  3:36 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <AF5092BE-3384-44F8-A104-560DD4331726@kernel.crashing.org>

=20

> -----Original Message-----
> From: Kumar Gala [mailto:galak@kernel.crashing.org]=20
> On Jan 30, 2008, at 4:30 AM, Zhang Wei wrote:
>=20
> > Signed-off-by: Zhang Wei <wei.zhang@freescale.com>
> > ---
> > include/asm-powerpc/rio.h |   18 ++++++++++++++++++
> > include/asm-ppc/rio.h     |   18 ------------------
> > 2 files changed, 18 insertions(+), 18 deletions(-)
> > create mode 100644 include/asm-powerpc/rio.h
> > delete mode 100644 include/asm-ppc/rio.h
>=20
> it seems with OF we can just git rid of this?
>=20

Aha, yep :), The change just make the RIO driver in arch/powerpc can be
compiled with RapidIO OF patch.

If we have OF patch, you can drop this patch.

Thanks!
Wei.

^ permalink raw reply

* [PATCH] [POWERPC] Fix compilation for CONFIG_DEBUGGER=n and CONFIG_KEXEC=y
From: Olof Johansson @ 2008-01-31  3:34 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: linuxppc-dev, torvalds
In-Reply-To: <18337.8955.539106.868486@cargo.ozlabs.ibm.com>

Looks like "[POWERPC] kdump shutdown hook support" broke builds when
CONFIG_DEBUGGER=n and CONFIG_KEXEC=y, such as in g5_defconfig:

arch/powerpc/kernel/crash.c: In function 'default_machine_crash_shutdown':
arch/powerpc/kernel/crash.c:388: error: '__debugger_fault_handler' undeclared (first use in this function)
arch/powerpc/kernel/crash.c:388: error: (Each undeclared identifier is reported only once
arch/powerpc/kernel/crash.c:388: error: for each function it appears in.)

Move the debugger hooks to under CONFIG_DEBUGGER || CONFIG_KEXEC, since
that's when the crash code is enabled.

(I should have caught this with my build-script pre-merge, my bad. :( )


Signed-off-by: Olof Johansson <olof@lixom.net>


diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 848a204..4b5b7ff 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -54,7 +54,7 @@
 #endif
 #include <asm/kexec.h>
 
-#ifdef CONFIG_DEBUGGER
+#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
 int (*__debugger)(struct pt_regs *regs);
 int (*__debugger_ipi)(struct pt_regs *regs);
 int (*__debugger_bpt)(struct pt_regs *regs);
diff --git a/include/asm-powerpc/system.h b/include/asm-powerpc/system.h
index bc9739d..8d37283 100644
--- a/include/asm-powerpc/system.h
+++ b/include/asm-powerpc/system.h
@@ -65,7 +65,7 @@
 struct task_struct;
 struct pt_regs;
 
-#ifdef CONFIG_DEBUGGER
+#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
 
 extern int (*__debugger)(struct pt_regs *regs);
 extern int (*__debugger_ipi)(struct pt_regs *regs);

^ permalink raw reply related

* Re: [RFC] [POWERPC] bootwrapper: build multiple cuImages
From: Grant Likely @ 2008-01-31  2:40 UTC (permalink / raw)
  To: Stephen Neuendorffer; +Cc: scottwood, linuxppc-dev
In-Reply-To: <20080131014952.83827290071@mail95-dub.bigfish.com>

On 1/30/08, Stephen Neuendorffer <stephen.neuendorffer@xilinx.com> wrote:
>
> I like the spirit...  It does seem like the compiled in device tree is
> specified in the wrong place.

heh, thanks.  :-)

> > +zImage.mpc866ads: vmlinux $(wrapperbits) $(dtstree)/mpc866ads.dts
> > +     $(call if_changed,wrap,$*,$(dtstree)/mpc866ads.dts)
> > +zImage.initrd.mpc866ads: vmlinux $(wrapperbits)
> $(dtstree)/mpc866ads.dts
> > +     $(call
> if_changed,wrap,$*,$(dtstree)/mpc866ads.dts,,$(obj)/ramdisk.image.gz)
> > +
> > +zImage.mpc885ads: vmlinux $(wrapperbits) $(dtstree)/mpc885ads.dts
> > +     $(call if_changed,wrap,$*,$(dtstree)/mpc885ads.dts)
> > +zImage.initrd.mpc885ads: vmlinux $(wrapperbits)
> $(dtstree)/mpc885ads.dts
> > +     $(call
> if_changed,wrap,$*,$(dtstree)/mpc885ads.dts,,$(obj)/ramdisk.image.gz)
> > +
> > +zImage.ep88xc: vmlinux $(wrapperbits) $(dtstree)/ep88xc.dts
> > +     $(call if_changed,wrap,$*,$(dtstree)/ep88xc.dts)
> > +zImage.initrd.ep88xc: vmlinux $(wrapperbits) $(dtstree)/ep88xc.dts
> > +     $(call
> if_changed,wrap,$*,$(dtstree)/ep88xc.dts,,$(obj)/ramdisk.image.gz)
>
> It seems like all you've done here is expand out the $(obj)/zImage.%
> rule?, but now the $* has nothing to match to?  I don't think this
> works.

Oops, that's a mistake.  $* should have been replaced.

>
> How about just:
> $(obj)/zImage.initrd.%: vmlinux $(wrapperbits) %.dts
>         $(call if_changed,wrap,$*,$*.dts,,$(obj)/ramdisk.image.gz)

mpc866ads, mpc885ads and ep88xc are oddities in that they build
zImages with embedded device tree blobs.  Most zImages don't do that
and zImage* is an overloaded target.  Only the three boards above have
.dts files that should be included.  Doing it this way matches the
method used for the ps3 zImages.

Consider for instance when zImage.chrp is built.  With the rule above,
the wrapper would go looking for chrp.dts and fail when it couldn't
find it.  The old rule works because dts is set to nothing if
CONFIG_DEVICE_TREE is not set and the wrapper just passes over the dts
processing commands.

I could change the wrapper to just skip dts files that don't exist,
but I don't think that is the right behavior either.  Then you'll have
inconsistent behavior when files are present/absent and there are
cases (like the three boards above) where we *want* the wrapper to
fail if the dts file is missing.

One option would be to add two new targets: zImage.dtb.% and
zImage.initrd.dtb.%, but I'm not sure if it is a good idea.

>
> Which would handle the default case of platform code for each dts.
>
> Then for cases where you have a multiplatform target, you'd have
> something like
> $(obj)/zImage.initrd.virtex.%: vmlinux $(wrapperbits) %.dts
>         $(call if_changed,wrap,virtex,$*.dts,,$(obj)/ramdisk.image.gz)

cuImage is already an example of exactly this, except for the mapping
between cuImage-*.c and .dts files.  Also, I think the '.virtex' in
the above example is superfluous.  The .dts file itself discribes the
platform as a virtex platform.

However, specifically for the virtex, we still need something like:
zImage.raw.% or elfImage.%.  (I'd like to avoid overloading zImage
even more, so 'elfImage' or something like it is probably the better
choice).

> > diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
> > index 763a0c4..b70ec6a 100755
> > --- a/arch/powerpc/boot/wrapper
> > +++ b/arch/powerpc/boot/wrapper
> > @@ -158,6 +158,26 @@ miboot|uboot)
> >  cuboot*)
> >      binary=y
> >      gzip=
> > +    case "$platform" in
> > +    *-mpc885ads|*-adder875*|*-ep88xc)
> > +        platformo=$object/cuboot-8xx.o
> > +        ;;
> > +    *5200*|*-motionpro)
> > +        platformo=$object/cuboot-52xx.o
> > +        ;;
> > +    *-pq2fads|*-ep8248e|*-mpc8272*)
> > +        platformo=$object/cuboot-pq2.o
> > +        ;;
> > +    *-mpc824*)
> > +        platformo=$object/cuboot-824x.o
> > +        ;;
> > +    *-mpc83*)
> > +        platformo=$object/cuboot-83xx.o
> > +        ;;
> > +    *-mpc85*)
> > +        platformo=$object/cuboot-85xx.o
> > +        ;;
> > +    esac
> >      ;;
> >  ps3)
> >      platformo="$object/ps3-head.o $object/ps3-hvcall.o $object/ps3.o"
>
> I'm not particularly fond of making the wrapper smarter...  It seems
> like the wrapper should be stupid and the logic about what to include
> done in the Makefile or in Kconfig.  Also, it seems like a strange place
> to explicitly encode the dependency between the name of the dts file and
> the platform code.

No; I'm not totally sold on this approach either, but there is already
precedence in the wrapper and I can't think of a cleaner or easier
place to map dts files to cuboot-* objects.

Thanks for the comments

Cheers,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

^ permalink raw reply

* RE: [RFC] [POWERPC] bootwrapper: build multiple cuImages
From: Stephen Neuendorffer @ 2008-01-31  1:49 UTC (permalink / raw)
  To: Grant Likely, jwboyer, linuxppc-dev, scottwood, galak
In-Reply-To: <20080131003347.5779.96112.stgit@trillian.secretlab.ca>


I like the spirit...  It does seem like the compiled in device tree is
specified in the wrong place.
Comments inline.

> -----Original Message-----
> From: =
linuxppc-dev-bounces+stephen.neuendorffer=3Dxilinx.com@ozlabs.org
[mailto:linuxppc-dev-
> bounces+stephen.neuendorffer=3Dxilinx.com@ozlabs.org] On Behalf Of =
Grant
Likely
> Sent: Wednesday, January 30, 2008 4:34 PM
> To: jwboyer@gmail.com; linuxppc-dev@ozlabs.org;
scottwood@freescale.com; galak@kernel.crashing.org
> Subject: [RFC] [POWERPC] bootwrapper: build multiple cuImages
>=20
> From: Grant Likely <grant.likely@secretlab.ca>
>=20
> Currently, the kernel uses CONFIG_DEVICE_TREE to wrap a kernel image
> with a fdt blob which means for any given configuration only one dts
> file can be selected and so support for only one board can be built
>=20
> This patch moves the selection of the default .dts file out of the
kernel
> config and into the bootwrapper makefile.  The makefile chooses which
> images to build based on the kernel config and the dts source file
> name is taken directly from the image name.  For example
"cuImage.ebony"
> will use "ebony.dts" as the device tree source file.
>=20
> In addition, this patch allows a specific image to be requested from
the
> command line by adding "cuImage.%" and "treeImage.%" targets to the
list
> of valid built targets in arch/powerpc/Makefile.  This allows the
default
> dts selection to be overridden.
>=20
> Another advantage to this change is it allows a single defconfig to be
> supplied for all boards using the same chip family and only differing
in
> the device tree.
>=20
> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
>=20
> ---
>=20
> Please review and comment.  I have not exhaustively tested this patch
> and I'm sure to have missed some boards.  However, I think the concept
> is sound and will be a good change.
> ---
>=20
>  arch/powerpc/Kconfig       |   19 -------
>  arch/powerpc/Makefile      |    9 +--
>  arch/powerpc/boot/Makefile |  123
++++++++++++++++++++++++++++++++------------
>  arch/powerpc/boot/wrapper  |   20 +++++++
>  4 files changed, 112 insertions(+), 59 deletions(-)
>=20
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 5e10838..5c205c7 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -407,25 +407,6 @@ config WANT_DEVICE_TREE
>  	bool
>  	default n
>=20
> -config DEVICE_TREE
> -	string "Static device tree source file"
> -	depends on WANT_DEVICE_TREE
> -	help
> -	  This specifies the device tree source (.dts) file to be
> -	  compiled and included when building the bootwrapper.  If a
> -	  relative filename is given, then it will be relative to
> -	  arch/powerpc/boot/dts.  If you are not using the bootwrapper,
> -	  or do not need to build a dts into the bootwrapper, this
> -	  field is ignored.
> -
> -	  For example, this is required when building a cuImage target
> -	  for an older U-Boot, which cannot pass a device tree itself.
> -	  Such a kernel will not work with a newer U-Boot that tries to
> -	  pass a device tree (unless you tell it not to).  If your
U-Boot
> -	  does not mention a device tree in "help bootm", then use the
> -	  cuImage target and specify a device tree here.  Otherwise, use
> -	  the uImage target and leave this field blank.
> -
>  endmenu
>=20
>  config ISA_DMA_API
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index f70df9b..6845482 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -151,14 +151,11 @@ core-$(CONFIG_XMON)		+=3D
arch/powerpc/xmon/
>  drivers-$(CONFIG_OPROFILE)	+=3D arch/powerpc/oprofile/
>=20
>  # Default to zImage, override when needed
> -defaultimage-y			:=3D zImage
> -defaultimage-$(CONFIG_DEFAULT_UIMAGE) :=3D uImage
> -KBUILD_IMAGE :=3D $(defaultimage-y)
> -all: $(KBUILD_IMAGE)
> +all: zImage
>=20
>  CPPFLAGS_vmlinux.lds	:=3D -Upowerpc
>=20
> -BOOT_TARGETS =3D zImage zImage.initrd uImage
> +BOOT_TARGETS =3D zImage zImage.initrd uImage treeImage.% cuImage.%
>=20
>  PHONY +=3D $(BOOT_TARGETS)
>=20
> @@ -180,7 +177,7 @@ define archhelp
>  endef
>=20
>  install: vdso_install
> -	$(Q)$(MAKE) $(build)=3D$(boot) BOOTIMAGE=3D$(KBUILD_IMAGE) install
> +	$(Q)$(MAKE) $(build)=3D$(boot) install
>=20
>  vdso_install:
>  ifeq ($(CONFIG_PPC64),y)
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index b36f911..7173abe 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -123,6 +123,8 @@ targets		+=3D $(patsubst
$(obj)/%,%,$(obj-boot) wrapper.a)
>  extra-y		:=3D $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \
>  		   $(obj)/zImage.lds $(obj)/zImage.coff.lds
$(obj)/zImage.ps3.lds
>=20
> +dtstree		:=3D $(srctree)/$(src)/dts
> +
>  wrapper		:=3D$(srctree)/$(src)/wrapper
>  wrapperbits	:=3D $(extra-y) $(addprefix $(obj)/,addnote hack-coff
mktree dtc) \
>  			$(wrapper) FORCE
> @@ -191,26 +193,67 @@ image-$(CONFIG_PPC_PRPMC2800)		+=3D
zImage.prpmc2800
>  image-$(CONFIG_PPC_ISERIES)		+=3D zImage.iseries
>  image-$(CONFIG_DEFAULT_UIMAGE)		+=3D uImage
>=20
> -ifneq ($(CONFIG_DEVICE_TREE),"")
> -image-$(CONFIG_PPC_8xx)			+=3D cuImage.8xx
> -image-$(CONFIG_PPC_EP88XC)		+=3D zImage.ep88xc
> +#
> +# Targets which embed a device tree blob
> +#
> +# Theses are default targets to build images which embed device tree
blobs.
> +# They are only required on boards which do not have FDT support in
firmware.
> +# Boards with newish u-boot firmare can use the uImage target above
> +#
> +
> +# Board ports in arch/powerpc/platform/40x/Kconfig
>  image-$(CONFIG_EP405)			+=3D zImage.ep405
> -image-$(CONFIG_8260)			+=3D cuImage.pq2
> -image-$(CONFIG_EP8248E)			+=3D zImage.ep8248e
> -image-$(CONFIG_PPC_MPC52xx)		+=3D cuImage.52xx
> -image-$(CONFIG_STORCENTER)		+=3D cuImage.824x
> -image-$(CONFIG_PPC_83xx)		+=3D cuImage.83xx
> -image-$(CONFIG_PPC_85xx)		+=3D cuImage.85xx
> -image-$(CONFIG_MPC7448HPC2)		+=3D cuImage.hpc2
> +image-$(CONFIG_WALNUT)			+=3D treeImage.walnut
> +
> +# Board ports in arch/powerpc/platform/44x/Kconfig
>  image-$(CONFIG_EBONY)			+=3D treeImage.ebony
cuImage.ebony
>  image-$(CONFIG_BAMBOO)			+=3D treeImage.bamboo
cuImage.bamboo
>  image-$(CONFIG_SEQUOIA)			+=3D cuImage.sequoia
>  image-$(CONFIG_RAINIER)			+=3D cuImage.rainier
> -image-$(CONFIG_WALNUT)			+=3D treeImage.walnut
>  image-$(CONFIG_TAISHAN)			+=3D cuImage.taishan
>  image-$(CONFIG_KATMAI)			+=3D cuImage.katmai
>  image-$(CONFIG_WARP)			+=3D cuImage.warp
> -endif
> +
> +# Board ports in arch/powerpc/platform/8xx/Kconfig
> +image-$(CONFIG_PPC_MPC86XADS)		+=3D zImage.mpc866ads
> +image-$(CONFIG_PPC_MPC885ADS)		+=3D zImage.mpc885ads
> +image-$(CONFIG_PPC_EP88XC)		+=3D zImage.ep88xc
> +image-$(CONFIG_PPC_ADDER875)		+=3D cuImage.adder875-uboot
> +
> +# Board ports in arch/powerpc/platform/52xx/Kconfig
> +image-$(CONFIG_PPC_LITE5200)		+=3D cuImage.lite5200
cuImage.lite5200b
> +
> +# Board ports in arch/powerpc/platform/82xx/Kconfig
> +image-$(CONFIG_MPC8272_ADS)		+=3D cuImage.mpc8272ads
> +image-$(CONFIG_PQ2FADS)			+=3D cuImage.pq2fads
> +image-$(CONFIG_EP8248E)			+=3D zImage.ep8248e
> +
> +# Board ports in arch/powerpc/platform/83xx/Kconfig
> +image-$(CONFIG_MPC8313_RDB)		+=3D cuImage.mpc8313erdb
> +image-$(CONFIG_MPC832x_MDS)		+=3D cuImage.mpc832x_mds
> +image-$(CONFIG_MPC832x_RDB)		+=3D cuImage.mpc832x_rdb
> +image-$(CONFIG_MPC834x_ITX)		+=3D cuImage.mpc8349emitx \
> +					   cuImage.mpc8349emitxgp
> +image-$(CONFIG_MPC834x_MDS)		+=3D cuImage.mpc834x_mds
> +image-$(CONFIG_MPC836x_MDS)		+=3D cuImage.mpc836x_mds
> +image-$(CONFIG_MPC837x_MDS)		+=3D cuImage.mpc8377_mds \
> +					   cuImage.mpc8378_mds \
> +					   cuImage.mpc8379_mds
> +
> +# Board ports in arch/powerpc/platform/83xx/Kconfig
> +image-$(CONFIG_MPC8540_ADS)		+=3D cuImage.mpc8540ads
> +image-$(CONFIG_MPC8560_ADS)		+=3D cuImage.mpc8560ads
> +image-$(CONFIG_MPC85xx_CDS)		+=3D cuImage.mpc8541cds \
> +					   cuImage.mpc8548cds \
> +					   cuImage.mpc8555cds
> +image-$(CONFIG_MPC85xx_MDS)		+=3D cuImage.mpc8568mds
> +image-$(CONFIG_MPC85xx_DS)		+=3D cuImage.mpc8544ds \
> +					   cuImage.mpc8572ds
> +
> +# Board ports in arch/powerpc/platform/embedded6xx/Kconfig
> +image-$(CONFIG_STORCENTER)		+=3D cuImage.storcenter
> +image-$(CONFIG_PPC_PRPMC2800)		+=3D cuImage.prpmc2800
> +image-$(CONFIG_MPC7448HPC2)		+=3D cuImage.mpc7448hpc2
>=20
>  ifneq ($(CONFIG_REDBOOT),"")
>  image-$(CONFIG_PPC_8xx)			+=3D zImage.redboot-8xx
> @@ -230,24 +273,14 @@ targets	+=3D $(image-y) $(initrd-y)
>=20
>  $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz
>=20
> -# If CONFIG_WANT_DEVICE_TREE is set and CONFIG_DEVICE_TREE isn't an
> -# empty string, define 'dts' to be path to the dts
> -# CONFIG_DEVICE_TREE will have "" around it, make sure to strip them
> -ifeq ($(CONFIG_WANT_DEVICE_TREE),y)
> -ifneq ($(CONFIG_DEVICE_TREE),"")
> -dts =3D $(if $(shell echo $(CONFIG_DEVICE_TREE) | grep '^/'),\
> -	,$(srctree)/$(src)/dts/)$(CONFIG_DEVICE_TREE:"%"=3D%)
> -endif
> -endif
> -
>  # Don't put the ramdisk on the pattern rule; when its missing make
will try
>  # the pattern rule with less dependencies that also matches (even
with the
>  # hard dependency listed).
> -$(obj)/zImage.initrd.%: vmlinux $(wrapperbits) $(dts)
> -	$(call if_changed,wrap,$*,$(dts),,$(obj)/ramdisk.image.gz)
> +$(obj)/zImage.initrd.%: vmlinux $(wrapperbits)
> +	$(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz)
>=20
> -$(obj)/zImage.%: vmlinux $(wrapperbits) $(dts)
> -	$(call if_changed,wrap,$*,$(dts))
> +$(obj)/zImage.%: vmlinux $(wrapperbits)
> +	$(call if_changed,wrap,$*)
>=20
>  # This cannot be in the root of $(src) as the zImage rule always adds
a $(obj)
>  # prefix
> @@ -259,22 +292,42 @@ $(obj)/zImage.iseries: vmlinux
>=20
>  $(obj)/zImage.ps3: vmlinux  $(wrapper) $(wrapperbits)
$(srctree)/$(src)/dts/ps3.dts
>  	$(STRIP) -s -R .comment $< -o vmlinux.strip
> -	$(call cmd,wrap,ps3,$(srctree)/$(src)/dts/ps3.dts,,)
> +	$(call cmd,wrap,ps3,$(dtstree)/ps3.dts,,)
>=20
>  $(obj)/zImage.initrd.ps3: vmlinux  $(wrapper) $(wrapperbits)
$(srctree)/$(src)/dts/ps3.dts
> $(obj)/ramdisk.image.gz
> -	$(call
cmd,wrap,ps3,$(srctree)/$(src)/dts/ps3.dts,,$(obj)/ramdisk.image.gz)
> +	$(call cmd,wrap,ps3,$(dtstree)/ps3.dts,,$(obj)/ramdisk.image.gz)
> +
> +zImage.ep405: vmlinux $(wrapperbits) $(dtstree)/ep405.dts
> +	$(call if_changed,wrap,$*,$(dtstree)/ep405.dts)
> +zImage.initrd.ep405: vmlinux $(wrapperbits) $(dtstree)/ep405.dts
> +	$(call
if_changed,wrap,$*,$(dtstree)/ep405.dts,,$(obj)/ramdisk.image.gz)
> +
> +zImage.mpc866ads: vmlinux $(wrapperbits) $(dtstree)/mpc866ads.dts
> +	$(call if_changed,wrap,$*,$(dtstree)/mpc866ads.dts)
> +zImage.initrd.mpc866ads: vmlinux $(wrapperbits)
$(dtstree)/mpc866ads.dts
> +	$(call
if_changed,wrap,$*,$(dtstree)/mpc866ads.dts,,$(obj)/ramdisk.image.gz)
> +
> +zImage.mpc885ads: vmlinux $(wrapperbits) $(dtstree)/mpc885ads.dts
> +	$(call if_changed,wrap,$*,$(dtstree)/mpc885ads.dts)
> +zImage.initrd.mpc885ads: vmlinux $(wrapperbits)
$(dtstree)/mpc885ads.dts
> +	$(call
if_changed,wrap,$*,$(dtstree)/mpc885ads.dts,,$(obj)/ramdisk.image.gz)
> +
> +zImage.ep88xc: vmlinux $(wrapperbits) $(dtstree)/ep88xc.dts
> +	$(call if_changed,wrap,$*,$(dtstree)/ep88xc.dts)
> +zImage.initrd.ep88xc: vmlinux $(wrapperbits) $(dtstree)/ep88xc.dts
> +	$(call
if_changed,wrap,$*,$(dtstree)/ep88xc.dts,,$(obj)/ramdisk.image.gz)

It seems like all you've done here is expand out the $(obj)/zImage.%
rule?, but now the $* has nothing to match to?  I don't think this
works.

How about just:
$(obj)/zImage.initrd.%: vmlinux $(wrapperbits) %.dts
	$(call if_changed,wrap,$*,$*.dts,,$(obj)/ramdisk.image.gz)

Which would handle the default case of platform code for each dts.

Then for cases where you have a multiplatform target, you'd have
something like
$(obj)/zImage.initrd.virtex.%: vmlinux $(wrapperbits) %.dts
	$(call if_changed,wrap,virtex,$*.dts,,$(obj)/ramdisk.image.gz)

>=20
>  $(obj)/uImage: vmlinux $(wrapperbits)
>  	$(call if_changed,wrap,uboot)
>=20
> -$(obj)/cuImage.%: vmlinux $(dts) $(wrapperbits)
> -	$(call if_changed,wrap,cuboot-$*,$(dts))
> +$(obj)/cuImage.%: vmlinux $(dtstree)/%.dts $(wrapperbits)
> +	$(call if_changed,wrap,cuboot-$*,$(dtstree)/$*.dts)
>=20
> -$(obj)/treeImage.initrd.%: vmlinux $(dts) $(wrapperbits)
> -	$(call
if_changed,wrap,treeboot-$*,$(dts),,$(obj)/ramdisk.image.gz)
> +$(obj)/treeImage.initrd.%: vmlinux $(dtstree)/%.dts $(wrapperbits)
> +	$(call
if_changed,wrap,treeboot-$*,$(dtstree)/$*.dts,,$(obj)/ramdisk.image.gz)
>=20
> -$(obj)/treeImage.%: vmlinux $(dts) $(wrapperbits)
> -	$(call if_changed,wrap,treeboot-$*,$(dts))
> +$(obj)/treeImage.%: vmlinux $(dtstree)/%.dts $(wrapperbits)
> +	$(call if_changed,wrap,treeboot-$*,$(dtstree)/$*.dts)
>=20
>  # If there isn't a platform selected then just strip the vmlinux.
>  ifeq (,$(image-y))
> @@ -283,8 +336,10 @@ endif
>=20
>  $(obj)/zImage:		$(addprefix $(obj)/, $(image-y))
>  	@rm -f $@; ln $< $@
> +	@echo target images: $(image-y)
>  $(obj)/zImage.initrd:	$(addprefix $(obj)/, $(initrd-y))
>  	@rm -f $@; ln $< $@
> +	@echo target images: $(initrd-y)
>=20
>  install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
>  	sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux
System.map "$(INSTALL_PATH)" $<
> diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
> index 763a0c4..b70ec6a 100755
> --- a/arch/powerpc/boot/wrapper
> +++ b/arch/powerpc/boot/wrapper
> @@ -158,6 +158,26 @@ miboot|uboot)
>  cuboot*)
>      binary=3Dy
>      gzip=3D
> +    case "$platform" in
> +    *-mpc885ads|*-adder875*|*-ep88xc)
> +        platformo=3D$object/cuboot-8xx.o
> +        ;;
> +    *5200*|*-motionpro)
> +        platformo=3D$object/cuboot-52xx.o
> +        ;;
> +    *-pq2fads|*-ep8248e|*-mpc8272*)
> +        platformo=3D$object/cuboot-pq2.o
> +        ;;
> +    *-mpc824*)
> +        platformo=3D$object/cuboot-824x.o
> +        ;;
> +    *-mpc83*)
> +        platformo=3D$object/cuboot-83xx.o
> +        ;;
> +    *-mpc85*)
> +        platformo=3D$object/cuboot-85xx.o
> +        ;;
> +    esac
>      ;;
>  ps3)
>      platformo=3D"$object/ps3-head.o $object/ps3-hvcall.o =
$object/ps3.o"

I'm not particularly fond of making the wrapper smarter...  It seems
like the wrapper should be stupid and the logic about what to include
done in the Makefile or in Kconfig.  Also, it seems like a strange place
to explicitly encode the dependency between the name of the dts file and
the platform code.

Steve


>=20
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev

^ permalink raw reply

* compilation errors...sorry, sigh...
From: Lorenzo T. Flores @ 2008-01-31  1:01 UTC (permalink / raw)
  To: linuxppc-embedded

Hey all,

I was wondering if anyone could help me figure out what to do next as 
far as some compilation errors are concerned.

I'm working with an Avnet 4vfx12ls eval board (has virtex-4 and PPC).

Now, I've generated BSP files using Xilinx XPS, and from past posts on 
this forum found the Secret Lab's virtex 2.6 git tree (not sure if I'm 
using proper terminology, feel free to correct me, please!)

Well, I copied in the BSP files into the distribution. Ran 'make 
menuconfig' then 'make bzImage'

Here's the errors I get:

---------------------------------------------------------------------
 GEN     .version
  CHK     include/linux/compile.h
dnsdomainname: Unknown host
  UPD     include/linux/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
kernel/built-in.o: In function `enable_all_kprobes':
kernel/kprobes.c:926: undefined reference to `arch_arm_kprobe'
kernel/built-in.o: In function `disable_all_kprobes':
kernel/kprobes.c:957: undefined reference to `arch_disarm_kprobe'
kernel/kprobes.c:956: undefined reference to `arch_trampoline_kprobe'
kernel/built-in.o: In function `init_kprobes':
kernel/kprobes.c:823: undefined reference to `arch_init_kprobes'
kernel/built-in.o: In function `report_probe':
kernel/kprobes.c:838: undefined reference to `setjmp_pre_handler'
kernel/kprobes.c:838: undefined reference to `setjmp_pre_handler'
kernel/built-in.o: In function `unregister_kprobe':
kernel/kprobes.c:610: undefined reference to `arch_disarm_kprobe'
kernel/kprobes.c:632: undefined reference to `arch_remove_kprobe'
kernel/built-in.o: In function `pre_handler_kretprobe':
kernel/kprobes.c:702: undefined reference to `arch_prepare_kretprobe'
kernel/built-in.o: In function `in_kprobes_functions':
kernel/kprobes.c:495: undefined reference to `__kprobes_text_start'
kernel/kprobes.c:495: undefined reference to `__kprobes_text_start'
kernel/kprobes.c:495: undefined reference to `__kprobes_text_end'
kernel/kprobes.c:495: undefined reference to `__kprobes_text_end'
kernel/built-in.o: In function `__register_kprobe':
kernel/kprobes.c:556: undefined reference to `arch_prepare_kprobe'
kernel/kprobes.c:565: undefined reference to `arch_arm_kprobe'
kernel/built-in.o: In function `register_jprobe':
kernel/kprobes.c:669: undefined reference to `setjmp_pre_handler'
kernel/kprobes.c:669: undefined reference to `setjmp_pre_handler'
kernel/kprobes.c:670: undefined reference to `longjmp_break_handler'
kernel/kprobes.c:670: undefined reference to `longjmp_break_handler'
kernel/built-in.o:(__ksymtab_gpl+0x398): undefined reference to 
`jprobe_return'
kernel/built-in.o:(.data+0x4a84): undefined reference to 
`kprobe_exceptions_notify'
make: *** [.tmp_vmlinux1] Error 1
---------------------------------------------------------------------

I'm using ELDK's ppc_4xx toolchain.

Any info or links to relevant posts would be so much appreciated. I 
looked through the archives and know my answers are probably in there 
somewhere...I'm just not sure if I could distill the proper information.

Thank you all for any input!

best,
Lorenzo Flores



-- 
Embedded Systems Engineer
Alpha Golf
(510) 526-7443, ext. 07
65 Franciscan Way
Kensington, CA 94707

^ permalink raw reply

* Please pull powerpc.git for-2.6.25 branch
From: Paul Mackerras @ 2008-01-31  1:23 UTC (permalink / raw)
  To: torvalds; +Cc: linuxppc-dev

Linus,

Please do

git pull \
git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc.git for-2.6.25

to get a powerpc update for 2.6.25.

Thanks,
Paul.

 Documentation/kernel-parameters.txt                |    1 
 Documentation/powerpc/00-INDEX                     |    3 
 Documentation/powerpc/booting-without-of.txt       |  367 +++
 Documentation/powerpc/qe_firmware.txt              |  295 +++
 arch/powerpc/Kconfig                               |   17 
 arch/powerpc/Kconfig.debug                         |   26 
 arch/powerpc/Makefile                              |    3 
 arch/powerpc/boot/.gitignore                       |    2 
 arch/powerpc/boot/4xx.c                            |  476 ++++
 arch/powerpc/boot/4xx.h                            |   14 
 arch/powerpc/boot/Makefile                         |  118 +
 arch/powerpc/boot/bamboo.c                         |    6 
 arch/powerpc/boot/cuboot-52xx.c                    |    2 
 arch/powerpc/boot/cuboot-824x.c                    |   53 
 arch/powerpc/boot/cuboot-83xx.c                    |    5 
 arch/powerpc/boot/cuboot-85xx-cpm2.c               |   66 +
 arch/powerpc/boot/cuboot-85xx.c                    |    7 
 arch/powerpc/boot/cuboot-8xx.c                     |    2 
 arch/powerpc/boot/cuboot-hpc2.c                    |    2 
 arch/powerpc/boot/cuboot-katmai.c                  |   56 +
 arch/powerpc/boot/cuboot-pq2.c                     |    2 
 arch/powerpc/boot/cuboot-rainier.c                 |   56 +
 arch/powerpc/boot/cuboot-sequoia.c                 |    4 
 arch/powerpc/boot/cuboot-taishan.c                 |   54 
 arch/powerpc/boot/cuboot-warp.c                    |   39 
 arch/powerpc/boot/dcr.h                            |   59 +
 arch/powerpc/boot/devtree.c                        |   14 
 arch/powerpc/boot/dtc-src/.gitignore               |    3 
 arch/powerpc/boot/dtc-src/Makefile.dtc             |   25 
 arch/powerpc/boot/dtc-src/checks.c                 |  750 +++++++
 arch/powerpc/boot/dtc-src/data.c                   |  321 +++
 arch/powerpc/boot/dtc-src/dtc-lexer.l              |  328 +++
 arch/powerpc/boot/dtc-src/dtc-lexer.lex.c_shipped  | 2174 ++++++++++++++++++++
 arch/powerpc/boot/dtc-src/dtc-parser.tab.c_shipped | 1983 ++++++++++++++++++
 arch/powerpc/boot/dtc-src/dtc-parser.tab.h_shipped |  111 +
 arch/powerpc/boot/dtc-src/dtc-parser.y             |  336 +++
 arch/powerpc/boot/dtc-src/dtc.c                    |  231 ++
 arch/powerpc/boot/dtc-src/dtc.h                    |  269 ++
 arch/powerpc/boot/dtc-src/flattree.c               |  968 +++++++++
 arch/powerpc/boot/dtc-src/fstree.c                 |   94 +
 arch/powerpc/boot/dtc-src/livetree.c               |  305 +++
 arch/powerpc/boot/dtc-src/srcpos.c                 |  105 +
 arch/powerpc/boot/dtc-src/srcpos.h                 |   75 +
 arch/powerpc/boot/dtc-src/treesource.c             |  275 +++
 arch/powerpc/boot/dtc-src/version_gen.h            |    1 
 arch/powerpc/boot/dts/adder875-redboot.dts         |  184 ++
 arch/powerpc/boot/dts/adder875-uboot.dts           |  183 ++
 arch/powerpc/boot/dts/bamboo.dts                   |   62 +
 arch/powerpc/boot/dts/cm5200.dts                   |  234 ++
 arch/powerpc/boot/dts/ebony.dts                    |   58 -
 arch/powerpc/boot/dts/ep405.dts                    |  228 ++
 arch/powerpc/boot/dts/ep8248e.dts                  |  207 ++
 arch/powerpc/boot/dts/haleakala.dts                |  274 +++
 arch/powerpc/boot/dts/katmai.dts                   |  400 ++++
 arch/powerpc/boot/dts/kilauea.dts                  |   99 +
 arch/powerpc/boot/dts/kuroboxHD.dts                |   16 
 arch/powerpc/boot/dts/kuroboxHG.dts                |   16 
 arch/powerpc/boot/dts/lite5200.dts                 |  104 -
 arch/powerpc/boot/dts/lite5200b.dts                |  101 -
 arch/powerpc/boot/dts/makalu.dts                   |  347 +++
 arch/powerpc/boot/dts/motionpro.dts                |  301 +++
 arch/powerpc/boot/dts/mpc8313erdb.dts              |  217 +-
 arch/powerpc/boot/dts/mpc8315erdb.dts              |  287 +++
 arch/powerpc/boot/dts/mpc832x_mds.dts              |  352 ++-
 arch/powerpc/boot/dts/mpc832x_rdb.dts              |  224 +-
 arch/powerpc/boot/dts/mpc8349emitx.dts             |  231 +-
 arch/powerpc/boot/dts/mpc8349emitxgp.dts           |  144 +
 arch/powerpc/boot/dts/mpc834x_mds.dts              |  311 +--
 arch/powerpc/boot/dts/mpc836x_mds.dts              |  335 ++-
 arch/powerpc/boot/dts/mpc8377_mds.dts              |  280 +++
 arch/powerpc/boot/dts/mpc8377_rdb.dts              |  296 +++
 arch/powerpc/boot/dts/mpc8378_mds.dts              |  266 ++
 arch/powerpc/boot/dts/mpc8378_rdb.dts              |  282 +++
 arch/powerpc/boot/dts/mpc8379_mds.dts              |  294 +++
 arch/powerpc/boot/dts/mpc8379_rdb.dts              |  310 +++
 arch/powerpc/boot/dts/mpc8540ads.dts               |   59 -
 arch/powerpc/boot/dts/mpc8541cds.dts               |   41 
 arch/powerpc/boot/dts/mpc8544ds.dts                |   65 -
 arch/powerpc/boot/dts/mpc8548cds.dts               |   68 -
 arch/powerpc/boot/dts/mpc8555cds.dts               |   41 
 arch/powerpc/boot/dts/mpc8560ads.dts               |   59 -
 arch/powerpc/boot/dts/mpc8568mds.dts               |  104 -
 arch/powerpc/boot/dts/mpc8572ds.dts                |   66 -
 arch/powerpc/boot/dts/mpc8610_hpcd.dts             |  256 ++
 arch/powerpc/boot/dts/mpc8641_hpcn.dts             |  433 ++--
 arch/powerpc/boot/dts/mpc866ads.dts                |  156 +
 arch/powerpc/boot/dts/rainier.dts                  |  353 +++
 arch/powerpc/boot/dts/sbc8349.dts                  |  244 ++
 arch/powerpc/boot/dts/sbc8548.dts                  |  244 ++
 arch/powerpc/boot/dts/sbc8560.dts                  |  330 +++
 arch/powerpc/boot/dts/sequoia.dts                  |   49 
 arch/powerpc/boot/dts/storcenter.dts               |  141 +
 arch/powerpc/boot/dts/stx_gp3_8560.dts             |  228 ++
 arch/powerpc/boot/dts/taishan.dts                  |  383 ++++
 arch/powerpc/boot/dts/tqm5200.dts                  |  177 ++
 arch/powerpc/boot/dts/tqm8540.dts                  |  204 ++
 arch/powerpc/boot/dts/tqm8541.dts                  |  228 ++
 arch/powerpc/boot/dts/tqm8555.dts                  |  228 ++
 arch/powerpc/boot/dts/tqm8560.dts                  |  245 ++
 arch/powerpc/boot/dts/walnut.dts                   |   55 -
 arch/powerpc/boot/dts/warp.dts                     |  239 ++
 arch/powerpc/boot/ebony.c                          |   64 -
 arch/powerpc/boot/ep405.c                          |   74 +
 arch/powerpc/boot/ep8248e.c                        |   55 +
 arch/powerpc/boot/ep88xc.c                         |    2 
 arch/powerpc/boot/flatdevtree.c                    | 1036 ----------
 arch/powerpc/boot/flatdevtree.h                    |  113 -
 arch/powerpc/boot/flatdevtree_misc.c               |   79 -
 arch/powerpc/boot/holly.c                          |    2 
 arch/powerpc/boot/libfdt-wrapper.c                 |  193 ++
 arch/powerpc/boot/libfdt/Makefile.libfdt           |   14 
 arch/powerpc/boot/libfdt/fdt.c                     |  156 +
 arch/powerpc/boot/libfdt/fdt.h                     |   60 +
 arch/powerpc/boot/libfdt/fdt_ro.c                  |  583 +++++
 arch/powerpc/boot/libfdt/fdt_rw.c                  |  447 ++++
 arch/powerpc/boot/libfdt/fdt_strerror.c            |   96 +
 arch/powerpc/boot/libfdt/fdt_sw.c                  |  258 ++
 arch/powerpc/boot/libfdt/fdt_wip.c                 |  144 +
 arch/powerpc/boot/libfdt/libfdt.h                  |  721 +++++++
 arch/powerpc/boot/libfdt/libfdt_internal.h         |   89 +
 arch/powerpc/boot/libfdt_env.h                     |   17 
 arch/powerpc/boot/main.c                           |    1 
 arch/powerpc/boot/ops.h                            |   27 
 arch/powerpc/boot/prpmc2800.c                      |    3 
 arch/powerpc/boot/ps3.c                            |    2 
 arch/powerpc/boot/redboot-8xx.c                    |   58 +
 arch/powerpc/boot/redboot.h                        |   56 +
 arch/powerpc/boot/reg.h                            |    8 
 arch/powerpc/boot/serial.c                         |    5 
 arch/powerpc/boot/treeboot-walnut.c                |   53 
 arch/powerpc/boot/wrapper                          |   21 
 arch/powerpc/configs/adder875-redboot_defconfig    |  629 +++---
 arch/powerpc/configs/adder875-uboot_defconfig      |  629 +++---
 arch/powerpc/configs/bamboo_defconfig              |   26 
 arch/powerpc/configs/celleb_defconfig              |   38 
 arch/powerpc/configs/ebony_defconfig               |    8 
 arch/powerpc/configs/ep405_defconfig               |  543 +++--
 arch/powerpc/configs/ep8248e_defconfig             |  660 +++---
 arch/powerpc/configs/katmai_defconfig              |  389 ++--
 arch/powerpc/configs/kilauea_defconfig             |   74 +
 arch/powerpc/configs/makalu_defconfig              |  495 ++---
 arch/powerpc/configs/mpc5200_defconfig             | 1286 ++++++++++++
 arch/powerpc/configs/mpc8313_rdb_defconfig         |   48 
 arch/powerpc/configs/mpc8315_rdb_defconfig         | 1417 +++++++++++++
 arch/powerpc/configs/mpc834x_itx_defconfig         |    3 
 arch/powerpc/configs/mpc837x_mds_defconfig         |  573 +++--
 arch/powerpc/configs/mpc837x_rdb_defconfig         |  550 +++--
 arch/powerpc/configs/mpc83xx_defconfig             |  530 +++--
 arch/powerpc/configs/mpc85xx_defconfig             | 1523 ++++++++++++++
 arch/powerpc/configs/mpc8610_hpcd_defconfig        |  171 ++
 arch/powerpc/configs/pasemi_defconfig              |   32 
 arch/powerpc/configs/ppc64_defconfig               |    8 
 arch/powerpc/configs/ps3_defconfig                 |   49 
 arch/powerpc/configs/rainier_defconfig             |  474 ++--
 arch/powerpc/configs/sbc834x_defconfig             |  555 ++---
 arch/powerpc/configs/sbc8548_defconfig             |  412 +---
 arch/powerpc/configs/sbc8560_defconfig             |  487 ++--
 arch/powerpc/configs/sequoia_defconfig             |   34 
 arch/powerpc/configs/storcenter_defconfig          |  713 +++++--
 arch/powerpc/configs/stx_gp3_defconfig             |  990 +++++----
 arch/powerpc/configs/taishan_defconfig             |  389 ++--
 arch/powerpc/configs/tqm8540_defconfig             |  587 +++--
 arch/powerpc/configs/tqm8541_defconfig             |  602 +++---
 arch/powerpc/configs/tqm8555_defconfig             |  602 +++---
 arch/powerpc/configs/tqm8560_defconfig             |  598 +++---
 arch/powerpc/configs/walnut_defconfig              |   94 +
 arch/powerpc/configs/warp_defconfig                | 1057 ++++++++++
 arch/powerpc/kernel/Makefile                       |   13 
 arch/powerpc/kernel/btext.c                        |    2 
 arch/powerpc/kernel/cpu_setup_44x.S                |   15 
 arch/powerpc/kernel/cputable.c                     |  149 +
 arch/powerpc/kernel/crash.c                        |  101 +
 arch/powerpc/kernel/dma_64.c                       |   19 
 arch/powerpc/kernel/head_44x.S                     |   14 
 arch/powerpc/kernel/head_64.S                      |    1 
 arch/powerpc/kernel/head_booke.h                   |    2 
 arch/powerpc/kernel/head_fsl_booke.S               |   20 
 arch/powerpc/kernel/ibmebus.c                      |   12 
 arch/powerpc/kernel/iommu.c                        |    8 
 arch/powerpc/kernel/isa-bridge.c                   |    6 
 arch/powerpc/kernel/legacy_serial.c                |   51 
 arch/powerpc/kernel/lparcfg.c                      |   12 
 arch/powerpc/kernel/misc.S                         |   73 +
 arch/powerpc/kernel/misc_32.S                      |   56 -
 arch/powerpc/kernel/misc_64.S                      |    7 
 arch/powerpc/kernel/module_32.c                    |   77 +
 arch/powerpc/kernel/module_64.c                    |   81 +
 arch/powerpc/kernel/of_device.c                    |    2 
 arch/powerpc/kernel/of_platform.c                  |   33 
 arch/powerpc/kernel/pci-common.c                   |  774 +++++++
 arch/powerpc/kernel/pci_32.c                       |  969 ---------
 arch/powerpc/kernel/pci_64.c                       |  444 +---
 arch/powerpc/kernel/pci_dn.c                       |    7 
 arch/powerpc/kernel/ppc_ksyms.c                    |    1 
 arch/powerpc/kernel/prom.c                         |   52 
 arch/powerpc/kernel/prom_init.c                    |  149 +
 arch/powerpc/kernel/prom_parse.c                   |   22 
 arch/powerpc/kernel/rio.c                          |    0 
 arch/powerpc/kernel/rtas_pci.c                     |   13 
 arch/powerpc/kernel/setup-common.c                 |   78 +
 arch/powerpc/kernel/signal_32.c                    |    3 
 arch/powerpc/kernel/smp.c                          |   49 
 arch/powerpc/kernel/systbl_chk.c                   |   58 +
 arch/powerpc/kernel/systbl_chk.sh                  |   33 
 arch/powerpc/kernel/time.c                         |   91 +
 arch/powerpc/kernel/traps.c                        |   87 +
 arch/powerpc/kernel/udbg.c                         |    7 
 arch/powerpc/kernel/udbg_16550.c                   |   43 
 arch/powerpc/math-emu/op-4.h                       |   40 
 arch/powerpc/mm/Makefile                           |    1 
 arch/powerpc/mm/fault.c                            |    8 
 arch/powerpc/mm/fsl_booke_mmu.c                    |    6 
 arch/powerpc/mm/hash_low_64.S                      |   16 
 arch/powerpc/mm/hash_utils_64.c                    |  107 +
 arch/powerpc/mm/hugetlbpage.c                      |  119 +
 arch/powerpc/mm/lmb.c                              |   13 
 arch/powerpc/mm/mem.c                              |   21 
 arch/powerpc/mm/slb.c                              |    3 
 arch/powerpc/mm/slb_low.S                          |    5 
 arch/powerpc/mm/subpage-prot.c                     |  213 ++
 arch/powerpc/oprofile/op_model_cell.c              |   20 
 arch/powerpc/platforms/40x/Kconfig                 |   40 
 arch/powerpc/platforms/40x/Makefile                |    2 
 arch/powerpc/platforms/40x/ep405.c                 |  123 +
 arch/powerpc/platforms/40x/kilauea.c               |   10 
 arch/powerpc/platforms/40x/makalu.c                |   58 +
 arch/powerpc/platforms/40x/virtex.c                |   17 
 arch/powerpc/platforms/40x/walnut.c                |   12 
 arch/powerpc/platforms/44x/Kconfig                 |   61 +
 arch/powerpc/platforms/44x/Makefile                |    7 
 arch/powerpc/platforms/44x/bamboo.c                |   11 
 arch/powerpc/platforms/44x/ebony.c                 |   12 
 arch/powerpc/platforms/44x/katmai.c                |   63 +
 arch/powerpc/platforms/44x/rainier.c               |   62 +
 arch/powerpc/platforms/44x/sequoia.c               |   11 
 arch/powerpc/platforms/44x/taishan.c               |   73 +
 arch/powerpc/platforms/44x/warp-nand.c             |  105 +
 arch/powerpc/platforms/44x/warp.c                  |  153 +
 arch/powerpc/platforms/52xx/Kconfig                |   50 
 arch/powerpc/platforms/52xx/Makefile               |    1 
 arch/powerpc/platforms/52xx/efika.c                |    3 
 arch/powerpc/platforms/52xx/lite5200.c             |   46 
 arch/powerpc/platforms/52xx/lite5200_pm.c          |   13 
 arch/powerpc/platforms/52xx/mpc5200_simple.c       |   85 +
 arch/powerpc/platforms/52xx/mpc52xx_common.c       |  154 +
 arch/powerpc/platforms/52xx/mpc52xx_pci.c          |   20 
 arch/powerpc/platforms/52xx/mpc52xx_pic.c          |   22 
 arch/powerpc/platforms/52xx/mpc52xx_pm.c           |   15 
 arch/powerpc/platforms/82xx/Kconfig                |   13 
 arch/powerpc/platforms/82xx/Makefile               |    1 
 arch/powerpc/platforms/82xx/ep8248e.c              |  324 +++
 arch/powerpc/platforms/82xx/mpc8272_ads.c          |    5 
 arch/powerpc/platforms/82xx/pq2.c                  |    4 
 arch/powerpc/platforms/82xx/pq2fads.c              |    7 
 arch/powerpc/platforms/83xx/Kconfig                |   63 -
 arch/powerpc/platforms/83xx/Makefile               |    5 
 arch/powerpc/platforms/83xx/mpc831x_rdb.c          |   51 
 arch/powerpc/platforms/83xx/mpc832x_mds.c          |   20 
 arch/powerpc/platforms/83xx/mpc832x_rdb.c          |   23 
 arch/powerpc/platforms/83xx/mpc834x_itx.c          |   12 
 arch/powerpc/platforms/83xx/mpc834x_mds.c          |   18 
 arch/powerpc/platforms/83xx/mpc836x_mds.c          |   20 
 arch/powerpc/platforms/83xx/mpc837x_mds.c          |  147 +
 arch/powerpc/platforms/83xx/mpc837x_rdb.c          |   99 +
 arch/powerpc/platforms/83xx/mpc83xx.h              |    3 
 arch/powerpc/platforms/83xx/pci.c                  |    2 
 arch/powerpc/platforms/83xx/sbc834x.c              |  115 +
 arch/powerpc/platforms/83xx/usb.c                  |   50 
 arch/powerpc/platforms/85xx/Kconfig                |   87 +
 arch/powerpc/platforms/85xx/Makefile               |    4 
 arch/powerpc/platforms/85xx/mpc85xx_ads.c          |   18 
 arch/powerpc/platforms/85xx/mpc85xx_cds.c          |    6 
 arch/powerpc/platforms/85xx/mpc85xx_ds.c           |    2 
 arch/powerpc/platforms/85xx/mpc85xx_mds.c          |   43 
 arch/powerpc/platforms/85xx/sbc8548.c              |  167 ++
 arch/powerpc/platforms/85xx/sbc8560.c              |  283 +++
 arch/powerpc/platforms/85xx/stx_gp3.c              |  183 ++
 arch/powerpc/platforms/85xx/tqm85xx.c              |  187 ++
 arch/powerpc/platforms/86xx/mpc8610_hpcd.c         |   17 
 arch/powerpc/platforms/86xx/mpc86xx_hpcn.c         |   16 
 arch/powerpc/platforms/8xx/Kconfig                 |   10 
 arch/powerpc/platforms/8xx/Makefile                |    1 
 arch/powerpc/platforms/8xx/adder875.c              |  118 +
 arch/powerpc/platforms/8xx/ep88xc.c                |   10 
 arch/powerpc/platforms/8xx/m8xx_setup.c            |   13 
 arch/powerpc/platforms/8xx/mpc86xads.h             |   44 
 arch/powerpc/platforms/8xx/mpc86xads_setup.c       |  294 +--
 arch/powerpc/platforms/8xx/mpc885ads_setup.c       |   12 
 arch/powerpc/platforms/8xx/mpc8xx.h                |   21 
 arch/powerpc/platforms/Kconfig                     |   18 
 arch/powerpc/platforms/Kconfig.cputype             |   11 
 arch/powerpc/platforms/cell/Makefile               |    2 
 arch/powerpc/platforms/cell/cbe_cpufreq.c          |    3 
 arch/powerpc/platforms/cell/cbe_cpufreq_pmi.c      |    3 
 arch/powerpc/platforms/cell/cbe_regs.c             |    5 
 arch/powerpc/platforms/cell/io-workarounds.c       |    9 
 arch/powerpc/platforms/cell/iommu.c                |  398 +++-
 arch/powerpc/platforms/cell/pmu.c                  |    7 
 arch/powerpc/platforms/cell/setup.c                |    7 
 arch/powerpc/platforms/cell/smp.c                  |    3 
 arch/powerpc/platforms/cell/spu_base.c             |  224 +-
 arch/powerpc/platforms/cell/spu_fault.c            |   98 +
 arch/powerpc/platforms/cell/spu_manage.c           |   28 
 arch/powerpc/platforms/cell/spufs/Makefile         |    2 
 arch/powerpc/platforms/cell/spufs/backing_ops.c    |   31 
 arch/powerpc/platforms/cell/spufs/context.c        |   53 
 arch/powerpc/platforms/cell/spufs/coredump.c       |    8 
 arch/powerpc/platforms/cell/spufs/fault.c          |  187 +-
 arch/powerpc/platforms/cell/spufs/file.c           |  429 +++-
 arch/powerpc/platforms/cell/spufs/hw_ops.c         |   33 
 arch/powerpc/platforms/cell/spufs/lscsa_alloc.c    |    4 
 arch/powerpc/platforms/cell/spufs/run.c            |  190 +-
 arch/powerpc/platforms/cell/spufs/sched.c          |  361 ++-
 arch/powerpc/platforms/cell/spufs/spufs.h          |   64 -
 arch/powerpc/platforms/cell/spufs/switch.c         |   73 -
 arch/powerpc/platforms/celleb/Kconfig              |    2 
 arch/powerpc/platforms/celleb/io-workarounds.c     |    7 
 arch/powerpc/platforms/celleb/iommu.c              |   26 
 arch/powerpc/platforms/celleb/pci.c                |   14 
 arch/powerpc/platforms/celleb/scc_epci.c           |    2 
 arch/powerpc/platforms/celleb/scc_uhc.c            |    3 
 arch/powerpc/platforms/celleb/setup.c              |  147 +
 arch/powerpc/platforms/chrp/pci.c                  |    6 
 arch/powerpc/platforms/chrp/setup.c                |   65 +
 arch/powerpc/platforms/embedded6xx/Kconfig         |   23 
 arch/powerpc/platforms/embedded6xx/Makefile        |    1 
 arch/powerpc/platforms/embedded6xx/holly.c         |    3 
 arch/powerpc/platforms/embedded6xx/ls_uart.c       |    5 
 arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c  |    2 
 arch/powerpc/platforms/embedded6xx/storcenter.c    |  192 ++
 arch/powerpc/platforms/iseries/Makefile            |    2 
 arch/powerpc/platforms/iseries/iommu.c             |    4 
 arch/powerpc/platforms/iseries/lpevents.c          |    2 
 arch/powerpc/platforms/iseries/pci.c               |  670 ++++--
 arch/powerpc/platforms/iseries/pci.h               |   27 
 arch/powerpc/platforms/iseries/setup.c             |   61 -
 arch/powerpc/platforms/iseries/setup.h             |    1 
 arch/powerpc/platforms/iseries/vpdinfo.c           |  275 ---
 arch/powerpc/platforms/maple/Kconfig               |    1 
 arch/powerpc/platforms/maple/pci.c                 |    2 
 arch/powerpc/platforms/maple/setup.c               |    2 
 arch/powerpc/platforms/pasemi/Kconfig              |   12 
 arch/powerpc/platforms/pasemi/Makefile             |    1 
 arch/powerpc/platforms/pasemi/cpufreq.c            |   19 
 arch/powerpc/platforms/pasemi/electra_ide.c        |   96 -
 arch/powerpc/platforms/pasemi/gpio_mdio.c          |   96 +
 arch/powerpc/platforms/pasemi/idle.c               |    5 
 arch/powerpc/platforms/pasemi/pasemi.h             |    6 
 arch/powerpc/platforms/pasemi/powersave.S          |   11 
 arch/powerpc/platforms/pasemi/setup.c              |   61 -
 arch/powerpc/platforms/powermac/low_i2c.c          |   10 
 arch/powerpc/platforms/powermac/pci.c              |  248 +-
 arch/powerpc/platforms/powermac/pfunc_base.c       |    3 
 arch/powerpc/platforms/powermac/pic.c              |    3 
 arch/powerpc/platforms/powermac/pmac.h             |    2 
 arch/powerpc/platforms/powermac/setup.c            |   21 
 arch/powerpc/platforms/powermac/time.c             |    2 
 arch/powerpc/platforms/ps3/Kconfig                 |   24 
 arch/powerpc/platforms/ps3/device-init.c           |  531 +++--
 arch/powerpc/platforms/ps3/mm.c                    |   24 
 arch/powerpc/platforms/ps3/platform.h              |   34 
 arch/powerpc/platforms/ps3/repository.c            |  320 ++-
 arch/powerpc/platforms/ps3/spu.c                   |   27 
 arch/powerpc/platforms/ps3/system-bus.c            |   19 
 arch/powerpc/platforms/pseries/eeh.c               |   46 
 arch/powerpc/platforms/pseries/eeh_driver.c        |   19 
 arch/powerpc/platforms/pseries/iommu.c             |   28 
 arch/powerpc/platforms/pseries/pci_dlpar.c         |   14 
 arch/powerpc/platforms/pseries/plpar_wrappers.h    |    5 
 arch/powerpc/platforms/pseries/smp.c               |    3 
 arch/powerpc/platforms/pseries/xics.c              |   59 -
 arch/powerpc/platforms/pseries/xics.h              |    3 
 arch/powerpc/sysdev/Kconfig                        |    8 
 arch/powerpc/sysdev/Makefile                       |   13 
 arch/powerpc/sysdev/axonram.c                      |    5 
 arch/powerpc/sysdev/bestcomm/bestcomm.c            |   16 
 arch/powerpc/sysdev/bestcomm/bestcomm.h            |    2 
 arch/powerpc/sysdev/commproc.h                     |   12 
 arch/powerpc/sysdev/cpm1.c                         |   71 -
 arch/powerpc/sysdev/cpm2.c                         |   28 
 arch/powerpc/sysdev/fsl_pci.c                      |  154 +
 arch/powerpc/sysdev/fsl_rio.c                      |    0 
 arch/powerpc/sysdev/fsl_rio.h                      |    0 
 arch/powerpc/sysdev/fsl_soc.c                      |  232 ++
 arch/powerpc/sysdev/grackle.c                      |    2 
 arch/powerpc/sysdev/ipic.c                         |  287 ++-
 arch/powerpc/sysdev/ipic.h                         |   13 
 arch/powerpc/sysdev/micropatch.c                   |    2 
 arch/powerpc/sysdev/mmio_nvram.c                   |    2 
 arch/powerpc/sysdev/mpc8xx_pic.c                   |    1 
 arch/powerpc/sysdev/mpic.c                         |   70 +
 arch/powerpc/sysdev/mpic.h                         |   10 
 arch/powerpc/sysdev/mpic_pasemi_msi.c              |  172 ++
 arch/powerpc/sysdev/mv64x60_dev.c                  |   24 
 arch/powerpc/sysdev/mv64x60_pci.c                  |    4 
 arch/powerpc/sysdev/mv64x60_udbg.c                 |    4 
 arch/powerpc/sysdev/of_rtc.c                       |   59 +
 arch/powerpc/sysdev/pmi.c                          |    4 
 arch/powerpc/sysdev/ppc4xx_pci.c                   | 1528 ++++++++++++++
 arch/powerpc/sysdev/ppc4xx_pci.h                   |  369 +++
 arch/powerpc/sysdev/qe_lib/Kconfig                 |    2 
 arch/powerpc/sysdev/qe_lib/qe.c                    |  356 +++
 arch/powerpc/sysdev/qe_lib/ucc_slow.c              |   10 
 arch/powerpc/sysdev/tsi108_dev.c                   |    9 
 arch/powerpc/sysdev/uic.c                          |  132 -
 arch/powerpc/sysdev/xilinx_intc.c                  |    8 
 arch/powerpc/xmon/setjmp.S                         |   61 -
 arch/powerpc/xmon/xmon.c                           |   75 +
 arch/ppc/8260_io/enet.c                            |    2 
 arch/ppc/8xx_io/commproc.c                         |   40 
 arch/ppc/8xx_io/enet.c                             |    6 
 arch/ppc/8xx_io/fec.c                              |    2 
 arch/ppc/8xx_io/micropatch.c                       |    2 
 arch/ppc/Kconfig                                   |   91 -
 arch/ppc/Makefile                                  |    9 
 arch/ppc/boot/simple/iic.c                         |    2 
 arch/ppc/boot/simple/m8xx_tty.c                    |    2 
 arch/ppc/configs/TQM8541_defconfig                 |  986 ---------
 arch/ppc/configs/TQM8555_defconfig                 |  983 ---------
 arch/ppc/configs/mpc834x_sys_defconfig             |  844 --------
 arch/ppc/configs/mpc8540_ads_defconfig             |  706 ------
 arch/ppc/configs/mpc8548_cds_defconfig             |  658 ------
 arch/ppc/configs/mpc8555_cds_defconfig             |  784 -------
 arch/ppc/configs/mpc8560_ads_defconfig             |  769 -------
 arch/ppc/kernel/Makefile                           |    2 
 arch/ppc/kernel/asm-offsets.c                      |    6 
 arch/ppc/kernel/entry.S                            |   12 
 arch/ppc/kernel/head_44x.S                         |    2 
 arch/ppc/kernel/head_booke.h                       |   55 -
 arch/ppc/kernel/head_fsl_booke.S                   | 1065 ----------
 arch/ppc/kernel/misc.S                             |   46 
 arch/ppc/kernel/ppc_ksyms.c                        |   11 
 arch/ppc/kernel/setup.c                            |    4 
 arch/ppc/kernel/traps.c                            |  185 --
 arch/ppc/mm/44x_mmu.c                              |   51 
 arch/ppc/mm/Makefile                               |    1 
 arch/ppc/mm/fsl_booke_mmu.c                        |  236 --
 arch/ppc/mm/init.c                                 |    6 
 arch/ppc/mm/mmu_context.c                          |    2 
 arch/ppc/mm/mmu_decl.h                             |    6 
 arch/ppc/mm/pgtable.c                              |   28 
 arch/ppc/mm/ppc_mmu.c                              |    2 
 arch/ppc/platforms/83xx/Makefile                   |    4 
 arch/ppc/platforms/83xx/mpc834x_sys.c              |  326 ---
 arch/ppc/platforms/83xx/mpc834x_sys.h              |   54 
 arch/ppc/platforms/85xx/Kconfig                    |  106 -
 arch/ppc/platforms/85xx/Makefile                   |   13 
 arch/ppc/platforms/85xx/mpc8540_ads.c              |  226 --
 arch/ppc/platforms/85xx/mpc8540_ads.h              |   22 
 arch/ppc/platforms/85xx/mpc8555_cds.h              |   23 
 arch/ppc/platforms/85xx/mpc8560_ads.c              |  303 ---
 arch/ppc/platforms/85xx/mpc8560_ads.h              |   24 
 arch/ppc/platforms/85xx/mpc85xx_ads_common.c       |  198 --
 arch/ppc/platforms/85xx/mpc85xx_ads_common.h       |   67 -
 arch/ppc/platforms/85xx/mpc85xx_cds_common.c       |  601 ------
 arch/ppc/platforms/85xx/mpc85xx_cds_common.h       |   80 -
 arch/ppc/platforms/85xx/sbc8560.c                  |  234 --
 arch/ppc/platforms/85xx/sbc8560.h                  |   47 
 arch/ppc/platforms/85xx/sbc85xx.c                  |  166 --
 arch/ppc/platforms/85xx/sbc85xx.h                  |   70 -
 arch/ppc/platforms/85xx/stx_gp3.c                  |  340 ---
 arch/ppc/platforms/85xx/stx_gp3.h                  |   69 -
 arch/ppc/platforms/85xx/tqm85xx.c                  |  391 ----
 arch/ppc/platforms/85xx/tqm85xx.h                  |   53 
 arch/ppc/platforms/ev64260.c                       |    4 
 arch/ppc/platforms/mpc866ads_setup.c               |    2 
 arch/ppc/platforms/mpc885ads_setup.c               |    2 
 arch/ppc/platforms/prep_pci.c                      |    1 
 arch/ppc/syslib/Makefile                           |   14 
 arch/ppc/syslib/gt64260_pic.c                      |    1 
 arch/ppc/syslib/ipic.c                             |  646 ------
 arch/ppc/syslib/ipic.h                             |   47 
 arch/ppc/syslib/mpc52xx_pic.c                      |    1 
 arch/ppc/syslib/mpc52xx_setup.c                    |   36 
 arch/ppc/syslib/mpc83xx_devices.c                  |  251 --
 arch/ppc/syslib/mpc83xx_sys.c                      |  122 -
 arch/ppc/syslib/mpc85xx_devices.c                  |  826 --------
 arch/ppc/syslib/mpc85xx_sys.c                      |  233 --
 arch/ppc/syslib/mpc8xx_devices.c                   |    2 
 arch/ppc/syslib/mv64360_pic.c                      |    1 
 arch/ppc/syslib/ocp.c                              |    4 
 arch/ppc/syslib/open_pic.c                         |    2 
 arch/ppc/syslib/ppc83xx_pci.h                      |  151 -
 arch/ppc/syslib/ppc83xx_setup.c                    |  411 ----
 arch/ppc/syslib/ppc83xx_setup.h                    |   55 -
 arch/ppc/syslib/ppc85xx_common.c                   |   38 
 arch/ppc/syslib/ppc85xx_common.h                   |   22 
 arch/ppc/syslib/ppc85xx_setup.c                    |  367 ---
 arch/ppc/syslib/ppc85xx_setup.h                    |   56 -
 arch/ppc/syslib/ppc8xx_pic.c                       |    2 
 arch/ppc/syslib/ppc8xx_pic.h                       |    1 
 arch/ppc/syslib/ppc_sys.c                          |    2 
 arch/ppc/xmon/start.c                              |    1 
 arch/ppc/xmon/start_8xx.c                          |    2 
 drivers/ata/Kconfig                                |   14 
 drivers/ata/Makefile                               |    1 
 drivers/ata/pata_mpc52xx.c                         |    6 
 drivers/ata/pata_of_platform.c                     |  114 +
 drivers/ata/pata_platform.c                        |  144 +
 drivers/char/hw_random/Kconfig                     |    2 
 drivers/char/hw_random/pasemi-rng.c                |    7 
 drivers/edac/pasemi_edac.c                         |    4 
 drivers/macintosh/adb.c                            |  174 +-
 drivers/macintosh/mediabay.c                       |   14 
 drivers/macintosh/therm_adt746x.c                  |   24 
 drivers/macintosh/therm_pm72.c                     |   64 -
 drivers/macintosh/therm_windtunnel.c               |   42 
 drivers/macintosh/via-pmu-backlight.c              |   48 
 drivers/macintosh/via-pmu.c                        |  664 ++----
 drivers/net/Kconfig                                |    2 
 drivers/net/fec_8xx/fec_8xx-netta.c                |    2 
 drivers/net/fec_8xx/fec_main.c                     |    2 
 drivers/net/fec_8xx/fec_mii.c                      |    2 
 drivers/net/fec_mpc52xx.c                          |    6 
 drivers/net/fec_mpc52xx_phy.c                      |    8 
 drivers/net/fs_enet/fs_enet-main.c                 |    9 
 drivers/net/fs_enet/fs_enet.h                      |    2 
 drivers/net/fs_enet/mac-fcc.c                      |   10 
 drivers/net/fs_enet/mac-fec.c                      |    2 
 drivers/net/fs_enet/mac-scc.c                      |   13 
 drivers/net/ibm_newemac/core.c                     |    1 
 drivers/net/phy/Kconfig                            |   32 
 drivers/net/phy/fixed.c                            |  445 ++--
 drivers/net/ps3_gelic_net.c                        |    4 
 drivers/net/ucc_geth.c                             |   55 -
 drivers/net/ucc_geth_mii.c                         |    3 
 drivers/of/base.c                                  |   58 +
 drivers/of/device.c                                |   29 
 drivers/pci/Makefile                               |    2 
 drivers/pci/hotplug/rpadlpar_core.c                |    2 
 drivers/ps3/Makefile                               |    1 
 drivers/ps3/ps3-lpm.c                              | 1248 +++++++++++
 drivers/ps3/ps3-sys-manager.c                      |   14 
 drivers/ps3/ps3-vuart.c                            |   38 
 drivers/rapidio/rio.c                              |    5 
 drivers/serial/Kconfig                             |   10 
 drivers/serial/Makefile                            |    1 
 drivers/serial/cpm_uart/cpm_uart_cpm1.c            |    6 
 drivers/serial/cpm_uart/cpm_uart_cpm1.h            |    2 
 drivers/serial/cpm_uart/cpm_uart_cpm2.c            |   10 
 drivers/serial/mpc52xx_uart.c                      |  217 +-
 drivers/serial/uartlite.c                          |    6 
 drivers/serial/ucc_uart.c                          | 1514 ++++++++++++++
 drivers/spi/mpc52xx_psc_spi.c                      |   77 -
 drivers/spi/spi_mpc83xx.c                          |    6 
 drivers/usb/host/ohci-ppc-of.c                     |    2 
 include/asm-powerpc/8xx_immap.h                    |    2 
 include/asm-powerpc/cpm.h                          |   74 +
 include/asm-powerpc/cpm1.h                         |   79 -
 include/asm-powerpc/cpm2.h                         |   64 -
 include/asm-powerpc/cputable.h                     |   13 
 include/asm-powerpc/cputhreads.h                   |   71 +
 include/asm-powerpc/dcr-native.h                   |   30 
 include/asm-powerpc/dcr-regs.h                     |   71 +
 include/asm-powerpc/dma-mapping.h                  |   10 
 include/asm-powerpc/firmware.h                     |    2 
 include/asm-powerpc/immap_86xx.h                   |   25 
 include/asm-powerpc/immap_qe.h                     |   34 
 include/asm-powerpc/io.h                           |    5 
 include/asm-powerpc/iommu.h                        |    3 
 include/asm-powerpc/ipic.h                         |   12 
 include/asm-powerpc/irq.h                          |  212 --
 include/asm-powerpc/iseries/hv_lp_event.h          |    2 
 include/asm-powerpc/kexec.h                        |    3 
 include/asm-powerpc/lmb.h                          |    1 
 include/asm-powerpc/machdep.h                      |   58 -
 include/asm-powerpc/mmu-hash64.h                   |    7 
 include/asm-powerpc/mpc52xx.h                      |   16 
 include/asm-powerpc/mpc52xx_psc.h                  |    3 
 include/asm-powerpc/mpc8260.h                      |    1 
 include/asm-powerpc/mpc8xx.h                       |   20 
 include/asm-powerpc/mpic.h                         |   20 
 include/asm-powerpc/nvram.h                        |   11 
 include/asm-powerpc/of_platform.h                  |   14 
 include/asm-powerpc/pci-bridge.h                   |  199 +-
 include/asm-powerpc/pci.h                          |   29 
 include/asm-powerpc/pgalloc-64.h                   |    5 
 include/asm-powerpc/pgtable-64k.h                  |   39 
 include/asm-powerpc/ppc-pci.h                      |    4 
 include/asm-powerpc/prom.h                         |    4 
 include/asm-powerpc/ps3.h                          |   74 +
 include/asm-powerpc/ptrace.h                       |    3 
 include/asm-powerpc/qe.h                           |  156 +
 include/asm-powerpc/reg.h                          |    7 
 include/asm-powerpc/reg_booke.h                    |   18 
 include/asm-powerpc/setjmp.h                       |   18 
 include/asm-powerpc/smu.h                          |  142 +
 include/asm-powerpc/sparsemem.h                    |    5 
 include/asm-powerpc/spu.h                          |   28 
 include/asm-powerpc/spu_csa.h                      |   13 
 include/asm-powerpc/spu_priv1.h                    |   15 
 include/asm-powerpc/systbl.h                       |    1 
 include/asm-powerpc/system.h                       |    2 
 include/asm-powerpc/udbg.h                         |    1 
 include/asm-powerpc/unistd.h                       |    3 
 include/asm-ppc/8xx_immap.h                        |    2 
 include/asm-ppc/cpm1.h                             |   14 
 include/asm-ppc/cpm2.h                             |    2 
 include/asm-ppc/immap_85xx.h                       |  126 -
 include/asm-ppc/mmu.h                              |    6 
 include/asm-ppc/mmu_context.h                      |    5 
 include/asm-ppc/mpc52xx_psc.h                      |    3 
 include/asm-ppc/mpc83xx.h                          |  107 -
 include/asm-ppc/mpc85xx.h                          |  192 --
 include/asm-ppc/pgtable.h                          |   46 
 include/asm-ppc/ppc_sys.h                          |    4 
 include/asm-ppc/ppcboot.h                          |    8 
 include/asm-ppc/reg_booke.h                        |   30 
 include/asm-ppc/serial.h                           |    4 
 include/linux/of.h                                 |   12 
 include/linux/of_device.h                          |    2 
 include/linux/pata_platform.h                      |    9 
 include/linux/phy_fixed.h                          |   51 
 include/linux/pmu.h                                |   36 
 kernel/sys_ni.c                                    |    1 
 615 files changed, 51820 insertions(+), 30363 deletions(-)
 create mode 100644 Documentation/powerpc/qe_firmware.txt
 create mode 100644 arch/powerpc/boot/cuboot-824x.c
 create mode 100644 arch/powerpc/boot/cuboot-85xx-cpm2.c
 create mode 100644 arch/powerpc/boot/cuboot-katmai.c
 create mode 100644 arch/powerpc/boot/cuboot-rainier.c
 create mode 100644 arch/powerpc/boot/cuboot-taishan.c
 create mode 100644 arch/powerpc/boot/cuboot-warp.c
 create mode 100644 arch/powerpc/boot/dtc-src/.gitignore
 create mode 100644 arch/powerpc/boot/dtc-src/Makefile.dtc
 create mode 100644 arch/powerpc/boot/dtc-src/checks.c
 create mode 100644 arch/powerpc/boot/dtc-src/data.c
 create mode 100644 arch/powerpc/boot/dtc-src/dtc-lexer.l
 create mode 100644 arch/powerpc/boot/dtc-src/dtc-lexer.lex.c_shipped
 create mode 100644 arch/powerpc/boot/dtc-src/dtc-parser.tab.c_shipped
 create mode 100644 arch/powerpc/boot/dtc-src/dtc-parser.tab.h_shipped
 create mode 100644 arch/powerpc/boot/dtc-src/dtc-parser.y
 create mode 100644 arch/powerpc/boot/dtc-src/dtc.c
 create mode 100644 arch/powerpc/boot/dtc-src/dtc.h
 create mode 100644 arch/powerpc/boot/dtc-src/flattree.c
 create mode 100644 arch/powerpc/boot/dtc-src/fstree.c
 create mode 100644 arch/powerpc/boot/dtc-src/livetree.c
 create mode 100644 arch/powerpc/boot/dtc-src/srcpos.c
 create mode 100644 arch/powerpc/boot/dtc-src/srcpos.h
 create mode 100644 arch/powerpc/boot/dtc-src/treesource.c
 create mode 100644 arch/powerpc/boot/dtc-src/version_gen.h
 create mode 100644 arch/powerpc/boot/dts/adder875-redboot.dts
 create mode 100644 arch/powerpc/boot/dts/adder875-uboot.dts
 create mode 100644 arch/powerpc/boot/dts/cm5200.dts
 create mode 100644 arch/powerpc/boot/dts/ep405.dts
 create mode 100644 arch/powerpc/boot/dts/ep8248e.dts
 create mode 100644 arch/powerpc/boot/dts/haleakala.dts
 create mode 100644 arch/powerpc/boot/dts/katmai.dts
 create mode 100644 arch/powerpc/boot/dts/makalu.dts
 create mode 100644 arch/powerpc/boot/dts/motionpro.dts
 create mode 100644 arch/powerpc/boot/dts/mpc8315erdb.dts
 create mode 100644 arch/powerpc/boot/dts/mpc8377_mds.dts
 create mode 100644 arch/powerpc/boot/dts/mpc8377_rdb.dts
 create mode 100644 arch/powerpc/boot/dts/mpc8378_mds.dts
 create mode 100644 arch/powerpc/boot/dts/mpc8378_rdb.dts
 create mode 100644 arch/powerpc/boot/dts/mpc8379_mds.dts
 create mode 100644 arch/powerpc/boot/dts/mpc8379_rdb.dts
 create mode 100644 arch/powerpc/boot/dts/rainier.dts
 create mode 100644 arch/powerpc/boot/dts/sbc8349.dts
 create mode 100644 arch/powerpc/boot/dts/sbc8548.dts
 create mode 100644 arch/powerpc/boot/dts/sbc8560.dts
 create mode 100644 arch/powerpc/boot/dts/storcenter.dts
 create mode 100644 arch/powerpc/boot/dts/stx_gp3_8560.dts
 create mode 100644 arch/powerpc/boot/dts/taishan.dts
 create mode 100644 arch/powerpc/boot/dts/tqm5200.dts
 create mode 100644 arch/powerpc/boot/dts/tqm8540.dts
 create mode 100644 arch/powerpc/boot/dts/tqm8541.dts
 create mode 100644 arch/powerpc/boot/dts/tqm8555.dts
 create mode 100644 arch/powerpc/boot/dts/tqm8560.dts
 create mode 100644 arch/powerpc/boot/dts/warp.dts
 create mode 100644 arch/powerpc/boot/ep405.c
 create mode 100644 arch/powerpc/boot/ep8248e.c
 delete mode 100644 arch/powerpc/boot/flatdevtree.c
 delete mode 100644 arch/powerpc/boot/flatdevtree.h
 delete mode 100644 arch/powerpc/boot/flatdevtree_misc.c
 create mode 100644 arch/powerpc/boot/libfdt-wrapper.c
 create mode 100644 arch/powerpc/boot/libfdt/Makefile.libfdt
 create mode 100644 arch/powerpc/boot/libfdt/fdt.c
 create mode 100644 arch/powerpc/boot/libfdt/fdt.h
 create mode 100644 arch/powerpc/boot/libfdt/fdt_ro.c
 create mode 100644 arch/powerpc/boot/libfdt/fdt_rw.c
 create mode 100644 arch/powerpc/boot/libfdt/fdt_strerror.c
 create mode 100644 arch/powerpc/boot/libfdt/fdt_sw.c
 create mode 100644 arch/powerpc/boot/libfdt/fdt_wip.c
 create mode 100644 arch/powerpc/boot/libfdt/libfdt.h
 create mode 100644 arch/powerpc/boot/libfdt/libfdt_internal.h
 create mode 100644 arch/powerpc/boot/libfdt_env.h
 create mode 100644 arch/powerpc/boot/redboot-8xx.c
 create mode 100644 arch/powerpc/boot/redboot.h
 copy arch/powerpc/configs/{lite5200_defconfig => adder875-redboot_defconfig} (54%)
 copy arch/powerpc/configs/{lite5200_defconfig => adder875-uboot_defconfig} (54%)
 copy arch/powerpc/configs/{lite5200_defconfig => ep405_defconfig} (63%)
 copy arch/powerpc/configs/{lite5200_defconfig => ep8248e_defconfig} (52%)
 copy arch/powerpc/configs/{lite5200_defconfig => katmai_defconfig} (68%)
 copy arch/powerpc/configs/{lite5200_defconfig => makalu_defconfig} (63%)
 create mode 100644 arch/powerpc/configs/mpc5200_defconfig
 create mode 100644 arch/powerpc/configs/mpc8315_rdb_defconfig
 copy arch/powerpc/configs/{lite5200_defconfig => mpc837x_mds_defconfig} (61%)
 copy arch/powerpc/configs/{lite5200_defconfig => mpc837x_rdb_defconfig} (60%)
 copy arch/powerpc/configs/{lite5200_defconfig => mpc83xx_defconfig} (62%)
 create mode 100644 arch/powerpc/configs/mpc85xx_defconfig
 copy arch/powerpc/configs/{lite5200_defconfig => rainier_defconfig} (67%)
 copy arch/powerpc/configs/{lite5200_defconfig => sbc834x_defconfig} (58%)
 copy arch/powerpc/configs/{lite5200_defconfig => sbc8548_defconfig} (63%)
 copy arch/powerpc/configs/{lite5200_defconfig => sbc8560_defconfig} (60%)
 copy arch/powerpc/configs/{lite5200_defconfig => storcenter_defconfig} (51%)
 rename arch/{ppc/configs/stx_gp3_defconfig => powerpc/configs/stx_gp3_defconfig} (54%)
 rename arch/powerpc/configs/{lite5200_defconfig => taishan_defconfig} (68%)
 rename arch/{ppc/configs/TQM8540_defconfig => powerpc/configs/tqm8540_defconfig} (66%)
 copy arch/{ppc/configs/TQM8560_defconfig => powerpc/configs/tqm8541_defconfig} (66%)
 copy arch/{ppc/configs/TQM8560_defconfig => powerpc/configs/tqm8555_defconfig} (66%)
 rename arch/{ppc/configs/TQM8560_defconfig => powerpc/configs/tqm8560_defconfig} (66%)
 create mode 100644 arch/powerpc/configs/warp_defconfig
 rename arch/{ppc/kernel/rio.c => powerpc/kernel/rio.c} (100%)
 create mode 100644 arch/powerpc/kernel/systbl_chk.c
 create mode 100644 arch/powerpc/kernel/systbl_chk.sh
 create mode 100644 arch/powerpc/mm/subpage-prot.c
 create mode 100644 arch/powerpc/platforms/40x/ep405.c
 create mode 100644 arch/powerpc/platforms/40x/makalu.c
 create mode 100644 arch/powerpc/platforms/44x/katmai.c
 create mode 100644 arch/powerpc/platforms/44x/rainier.c
 create mode 100644 arch/powerpc/platforms/44x/taishan.c
 create mode 100644 arch/powerpc/platforms/44x/warp-nand.c
 create mode 100644 arch/powerpc/platforms/44x/warp.c
 create mode 100644 arch/powerpc/platforms/52xx/mpc5200_simple.c
 create mode 100644 arch/powerpc/platforms/82xx/ep8248e.c
 rename arch/powerpc/platforms/83xx/{mpc8313_rdb.c => mpc831x_rdb.c} (58%)
 create mode 100644 arch/powerpc/platforms/83xx/mpc837x_mds.c
 create mode 100644 arch/powerpc/platforms/83xx/mpc837x_rdb.c
 create mode 100644 arch/powerpc/platforms/83xx/sbc834x.c
 create mode 100644 arch/powerpc/platforms/85xx/sbc8548.c
 create mode 100644 arch/powerpc/platforms/85xx/sbc8560.c
 create mode 100644 arch/powerpc/platforms/85xx/stx_gp3.c
 create mode 100644 arch/powerpc/platforms/85xx/tqm85xx.c
 create mode 100644 arch/powerpc/platforms/8xx/adder875.c
 create mode 100644 arch/powerpc/platforms/8xx/mpc8xx.h
 create mode 100644 arch/powerpc/platforms/cell/spu_fault.c
 create mode 100644 arch/powerpc/platforms/embedded6xx/storcenter.c
 delete mode 100644 arch/powerpc/platforms/iseries/vpdinfo.c
 delete mode 100644 arch/powerpc/platforms/pasemi/electra_ide.c
 create mode 100644 arch/powerpc/sysdev/Kconfig
 delete mode 100644 arch/powerpc/sysdev/commproc.h
 rename arch/powerpc/sysdev/{commproc.c => cpm1.c} (92%)
 rename arch/powerpc/sysdev/{cpm2_common.c => cpm2.c} (95%)
 rename arch/{ppc/syslib/ppc85xx_rio.c => powerpc/sysdev/fsl_rio.c} (100%)
 rename arch/{ppc/syslib/ppc85xx_rio.h => powerpc/sysdev/fsl_rio.h} (100%)
 create mode 100644 arch/powerpc/sysdev/mpic_pasemi_msi.c
 create mode 100644 arch/powerpc/sysdev/of_rtc.c
 create mode 100644 arch/powerpc/sysdev/ppc4xx_pci.c
 create mode 100644 arch/powerpc/sysdev/ppc4xx_pci.h
 delete mode 100644 arch/ppc/configs/TQM8541_defconfig
 delete mode 100644 arch/ppc/configs/TQM8555_defconfig
 delete mode 100644 arch/ppc/configs/mpc834x_sys_defconfig
 delete mode 100644 arch/ppc/configs/mpc8540_ads_defconfig
 delete mode 100644 arch/ppc/configs/mpc8548_cds_defconfig
 delete mode 100644 arch/ppc/configs/mpc8555_cds_defconfig
 delete mode 100644 arch/ppc/configs/mpc8560_ads_defconfig
 delete mode 100644 arch/ppc/kernel/head_fsl_booke.S
 delete mode 100644 arch/ppc/mm/fsl_booke_mmu.c
 delete mode 100644 arch/ppc/platforms/83xx/Makefile
 delete mode 100644 arch/ppc/platforms/83xx/mpc834x_sys.c
 delete mode 100644 arch/ppc/platforms/83xx/mpc834x_sys.h
 delete mode 100644 arch/ppc/platforms/85xx/Kconfig
 delete mode 100644 arch/ppc/platforms/85xx/Makefile
 delete mode 100644 arch/ppc/platforms/85xx/mpc8540_ads.c
 delete mode 100644 arch/ppc/platforms/85xx/mpc8540_ads.h
 delete mode 100644 arch/ppc/platforms/85xx/mpc8555_cds.h
 delete mode 100644 arch/ppc/platforms/85xx/mpc8560_ads.c
 delete mode 100644 arch/ppc/platforms/85xx/mpc8560_ads.h
 delete mode 100644 arch/ppc/platforms/85xx/mpc85xx_ads_common.c
 delete mode 100644 arch/ppc/platforms/85xx/mpc85xx_ads_common.h
 delete mode 100644 arch/ppc/platforms/85xx/mpc85xx_cds_common.c
 delete mode 100644 arch/ppc/platforms/85xx/mpc85xx_cds_common.h
 delete mode 100644 arch/ppc/platforms/85xx/sbc8560.c
 delete mode 100644 arch/ppc/platforms/85xx/sbc8560.h
 delete mode 100644 arch/ppc/platforms/85xx/sbc85xx.c
 delete mode 100644 arch/ppc/platforms/85xx/sbc85xx.h
 delete mode 100644 arch/ppc/platforms/85xx/stx_gp3.c
 delete mode 100644 arch/ppc/platforms/85xx/stx_gp3.h
 delete mode 100644 arch/ppc/platforms/85xx/tqm85xx.c
 delete mode 100644 arch/ppc/platforms/85xx/tqm85xx.h
 delete mode 100644 arch/ppc/syslib/ipic.c
 delete mode 100644 arch/ppc/syslib/ipic.h
 delete mode 100644 arch/ppc/syslib/mpc83xx_devices.c
 delete mode 100644 arch/ppc/syslib/mpc83xx_sys.c
 delete mode 100644 arch/ppc/syslib/mpc85xx_devices.c
 delete mode 100644 arch/ppc/syslib/mpc85xx_sys.c
 delete mode 100644 arch/ppc/syslib/ppc83xx_pci.h
 delete mode 100644 arch/ppc/syslib/ppc83xx_setup.c
 delete mode 100644 arch/ppc/syslib/ppc83xx_setup.h
 delete mode 100644 arch/ppc/syslib/ppc85xx_common.c
 delete mode 100644 arch/ppc/syslib/ppc85xx_common.h
 delete mode 100644 arch/ppc/syslib/ppc85xx_setup.c
 delete mode 100644 arch/ppc/syslib/ppc85xx_setup.h
 create mode 100644 drivers/ata/pata_of_platform.c
 create mode 100644 drivers/ps3/ps3-lpm.c
 create mode 100644 drivers/serial/ucc_uart.c
 rename include/asm-powerpc/{commproc.h => cpm1.h} (89%)
 create mode 100644 include/asm-powerpc/cputhreads.h
 create mode 100644 include/asm-powerpc/dcr-regs.h
 create mode 100644 include/asm-powerpc/setjmp.h
 rename include/asm-ppc/{commproc.h => cpm1.h} (98%)
 delete mode 100644 include/asm-ppc/immap_85xx.h
 delete mode 100644 include/asm-ppc/mpc83xx.h
 delete mode 100644 include/asm-ppc/mpc85xx.h

Aegis Lin (1):
      [POWERPC] spufs: Use separate timer for /proc/spu_loadavg calculation

Andre Detsch (2):
      [POWERPC] cell: safer of_has_vicinity routine
      [POWERPC] spufs: DMA Restart after SIGSEGV

Anton Vorontsov (8):
      libata: pata_platform: make probe and remove functions device type neutral
      libata: pata_of_platform: OF-Platform PATA device driver
      [POWERPC] booting-without-of: localbus should not include board name
      [POWERPC] MPC8349E-mITX: introduce localbus and pata nodes
      [POWERPC] QE: get rid of most device_types and model
      ucc_geth: get rid of device_type for mdio
      spi_mpc83xx: use brg-frequency for SPI in QE
      [POWERPC] fsl_spi: stop using device_type = "spi"

Arnd Bergmann (1):
      [POWERPC] spufs: block fault handlers in spu_acquire_runnable

Balbir Singh (1):
      [POWERPC] Fake NUMA emulation for PowerPC

Becky Bruce (1):
      [POWERPC] Fixup use of phys_addr_t in mpic code

Benjamin Herrenschmidt (51):
      [POWERPC] Cleanup SMT thread handling
      [POWERPC] Add xmon function to dump 44x TLB
      [POWERPC] Make isa_mem_base common to 32 and 64 bits
      [POWERPC] Merge pci_process_bridge_OF_ranges()
      [POWERPC] Fix powerpc 32-bit resource fixup for 64-bit resources
      [POWERPC] Change 32-bit PCI message about resource allocation
      [POWERPC] Remove useless volatiles in udbg_16550.c
      [POWERPC] Add of_translate_dma_address
      [POWERPC] Early debug forces console log level to max
      [POWERPC] pci32: Remove bogus alignment message
      [POWERPC] pci32: Use generic pci_assign_unassign_resources
      [POWERPC] pci32: Remove PowerMac P2P bridge IO hack
      [POWERPC] pci32: Add flags modifying the PCI code behaviour
      [POWERPC] pci32: Remove obsolete PowerMac bus number hack
      [POWERPC] pci32: Add platform option to enable /proc PCI domains
      [POWERPC] Merge pcibios_resource_to_bus/bus_to_resource
      [POWERPC] Merge PCI resource fixups
      [POWERPC] Merge PCI resource allocation & assignment
      [POWERPC] fix iSeries PCI resource management
      [POWERPC] Updates/fixes to 32 bits pcibios_enable_device()
      [POWERPC] Merge 32 and 64 bits pcibios_enable_device
      [POWERPC] Fixup powermac enable device hook
      [POWERPC] Clear pci_probe_only on 64 bits PowerMac
      [POWERPC] Various fixes to pcibios_enable_device()
      [POWERPC] Enable self-view of the HT host bridge on PowerMac G5
      [POWERPC] Improve resource setup of PowerMac G5 HT bridge
      [POWERPC] Fixup skipping of PowerMac PCI<->PCI bridge "closed" resources
      [POWERPC] Disable PCI IO/Mem on a device when resources can't be allocated
      [POWERPC] Fix PCI IRQ fallback code to not map IRQ 0
      [POWERPC] Fix for via-pmu based backlight control
      [POWERPC] Fix possible NULL deref in ppc32 PCI
      [POWERPC] Reworking machine check handling and Fix 440/440A
      [POWERPC] 4xx: Improve support for 4xx indirect DCRs
      [POWERPC] 4xx: PLB to PCI-X support
      [POWERPC] 4xx: PLB to PCI 2.x support
      [POWERPC] 4xx: PLB to PCI Express support
      [POWERPC] 4xx: PCI support for Ebony board
      [POWERPC] 4xx: Add early udbg support for 40x processors
      [POWERPC] 4xx: EP405 boards support for arch/powerpc
      [POWERPC] 4xx: Add PCI to Walnut platform
      [POWERPC] 4xx: Wire up PCI on Bamboo board
      [POWERPC] 4xx: Wire up 440EP USB controller support to Bamboo board
      [POWERPC] 4xx: Adds decoding of 440SPE memory size to boot wrapper library
      [POWERPC] 4xx: Add mfspr/mtspr inline macros to 4xx bootwrapper
      [POWERPC] 4xx: Add CPR0 accessors to boot wrapper
      [POWERPC] 4xx: Rework clock probing in boot wrapper
      [POWERPC] 4xx: Base support for 440SPe "Katmai" eval board
      [POWERPC] 4xx: remove bogus "ranges" property in Bamboo EBC node
      [POWERPC] 4xx: PCI-E Link setup improvements
      [POWERPC] pci32: 4xx embedded platforms want to reassign all PCI resources
      [POWERPC] Always hookup PHB IO resource even when empty

Bob Nelson (1):
      [POWERPC] OProfile: fix cbe pm signal routing problem

Christoph Hellwig (2):
      [POWERPC] spufs: add enchanced simple attr macros
      [POWERPC] spufs: make state_mutex interruptible

Cyrill Gorcunov (5):
      [POWERPC] CELLEB: Fix possible NULL pointer dereference
      [POWERPC] CHRP: Fix possible NULL pointer dereference
      [POWERPC] Use for_each macros in arch/powerpc/sysdev
      [POWERPC] Use for_each macros in arch/powerpc/kernel
      [POWERPC] Use for_each macros in arch/powerpc/platforms/powermac

Dale Farnsworth (1):
      [POWERPC] 85xx: Respect KERNELBASE, PAGE_OFFSET, and PHYSICAL_START on e500

David Gibson (6):
      [POWERPC] Merge libfdt upstream source
      [POWERPC] Use embedded libfdt in the bootwrapper
      [POWERPC] Kill flatdevtree.c
      [POWERPC] Merge dtc upstream source
      [POWERPC] Use embedded dtc in kernel builds
      [POWERPC] Enable RTC for Ebony and Walnut (v2)

David Woodhouse (4):
      [POWERPC] Create otheros.bld next to specified output file, not in $object directory
      [POWERPC] Find device-tree source file in default directory
      [POWERPC] Allow for bootwrapper utilities being in different directory to objects
      [POWERPC] Implement 'make bootwrapper_install'

Emil Medve (1):
      [POWERPC] Optimize counting distinct entries in the relocation sections

Geert Uytterhoeven (10):
      [POWERPC] Kill sparse warning in HPTE_V_COMPARE()
      [POWERPC] PS3: Make bus_id and dev_id u64
      [POWERPC] PS3: Add ps3_repository_find_device_by_id()
      [POWERPC] PS3: Use the HVs storage device notification mechanism properly
      [POWERPC] PS3: Add repository polling loop to work around timing bug
      [POWERPC] PS3: Kill unused ps3_repository_bump_device()
      [POWERPC] PS3: Refactor ps3_repository_find_device()
      [POWERPC] PS3: Checkpatch cleanups for drivers/ps3/ps3-sys-manager.c
      [POWERPC] PS3: Checkpatch cleanups for drivers/ps3/ps3-vuart.c
      [POWERPC] PS3: Checkpatch cleanups for arch/powerpc/platforms/ps3/repository.c

Geoff Levand (5):
      [POWERPC] Add definition of Cell bookmark SPR
      [POWERPC] PS3: Add logical performance monitor device support
      [POWERPC] PS3: Vuart: change semaphore to mutex
      [POWERPC] PS3: Remove lpar address workaround
      [POWERPC] PS3: Update ps3_defconfig

Grant Likely (16):
      [POWERPC] Add machine initcall macros
      [POWERPC] 4xx: typo in calling machine_device_initcall() for Sequoia board
      [POWERPC] pasemi: Use machine_*_initcall() hooks in platform code
      [POWERPC] Add of_find_matching_node() helper function
      [POWERPC] powermac: Use machine_*_initcall() hooks in platform code
      [POWERPC] cell: Use machine_*_initcall() hooks in platform code
      [POWERPC] mpc5200: eliminate mpc52xx_*_map_*() functions.
      [POWERPC] mpc5200: merge defconfigs for all mpc5200 boards
      [POWERPC] 8xx: Use machine_*_initcall() hooks in platform code
      [POWERPC] mpc52xx: clean up Kconfig
      [POWERPC] mpc5200: normalize compatible property bindings
      [POWERPC] mpc5200: make dts files conform to generic names recommended practice
      [POWERPC] Efika: prune fixups and make them more carefull
      [POWERPC] Add common clock setting routine mpc52xx_psc_set_clkdiv()
      [POWERPC] mpc52xx_psc_spi device driver must not touch port_config and cdm
      [POWERPC] 82xx and embedded6xx: Use machine_*_initcall() hooks in platform code

Hollis Blanchard (1):
      [POWERPC] 4xx: enable built-in networking for Sequoia defconfig

Hugh Blemings (1):
      [POWERPC] 4xx: Base support for 440GX Taishan eval board

Ishizaki Kou (6):
      [POWERPC] cell: Fix undefined reference to mmio_nvram_init
      [POWERPC] celleb: Add support for native CBE
      [POWERPC] Update celleb_defconfig to add support for native CBE
      [POWERPC] cell: add missing '\n'
      [POWERPC] Cleanup calling mmio_nvram_init
      [POWERPC] celleb: Split machine definition

Jeremy Kerr (11):
      [POWERPC] cell: export force_sig_info()
      [POWERPC] cell: handle kernel SLB setup in spu_base.c
      [POWERPC] cell: use spu_load_slb for SLB setup
      [POWERPC] cell: add spu_64k_pages_available() check
      [POWERPC] cell: handle SPE kernel mappings that cross segment boundaries
      [POWERPC] cell: catch errors from sysfs_create_group()
      [POWERPC] spufs: move fault, lscsa_alloc and switch code to spufs module
      [POWERPC] spufs: fix incorrect interrupt status clearing in backing mbox stat poll
      [POWERPC] spufs: use #defines for SPU class [012] exception status
      [POWERPC] spufs: rework class 0 and 1 interrupt handling
      [POWERPC] spufs: Don't leak kernel stack through an empty {i,m}box_info read

Jochen Friedrich (11):
      [POWERPC] Add support for PORTA and PORTB odr registers
      [POWERPC] Move CPM command handling into the cpm drivers
      [POWERPC] Update .gitignore files
      fs_enet: Add fixed-phy support for fs_enet
      [POWERPC] 8xx: Remove unused m8xx_cpm_hostalloc/free/dump()
      [POWERPC] 8xx: Rename m8xx_pic_init to mpc8xx_pics_init
      [POWERPC] 8xx: Remove unneeded and misspelled prototype m8xx_calibrate_decr
      [POWERPC] 8xx: Remove sysdev/commproc.h
      [POWERPC] 8xx: Get rid of conditional includes of board specific setup
      [POWERPC] CPM: Rename commproc to cpm1 and cpm2_common.c to cpm2.c
      [POWERPC] CPM: Move definition of buffer descriptor to cpm.h

Johannes Berg (6):
      [POWERPC] powermac: Fix warning in time.c
      [POWERPC] PMU: Don't lock_kernel()
      [POWERPC] PMU: Remove dead code
      [POWERPC] adb: Replace sleep notifier with platform driver suspend/resume hooks
      [POWERPC] via-pmu: Kill sleep notifiers completely
      [POWERPC] powermac: Use generic suspend code

John Rigby (4):
      [POWERPC] Separate MPC52xx PSC FIFO registers from rest of PSC
      [POWERPC] mpc5200: Cleanup checkpatch.pl problems in mpc52xx_uart.c
      [POWERPC] Add support for mpc512x interrupts to ipic
      [POWERPC] Add IPIC Kconfig option

Jon Loeliger (12):
      [POWERPC] Clean out asm/of_{platform, device}.h
      [POWERPC] Clean out asm/of_{platform, device}.h from sysdev/
      [POWERPC] 8xxx: Convert #include of asm/of_{platform, device}.h into linux/of_{platform, device}.h.
      [POWERPC] 86xx: Add aliases node to 8641hpcn DTS file.
      [POWERPC] cell: Convert #include of asm/of_{platform, device}.h into linux/of_{platform, device}.h.
      [POWERPC] Use <linux/of_{platform, device}.h> and not <asm/...> variants.
      [POWERPC] Add _nmask_and_or_msr() declartion to asm-powerpc/system.h
      [POWERPC] Add StorCenter DTS first draft.
      [POWERPC] Add initial iomega StorCenter board port.
      [POWERPC] Add initial storcenter config file.
      [POWERPC] 86xx: Convert all 86xx DTS files to /dts-v1/ format.
      [POWERPC] Convert StorCenter DTS file to /dts-v1/ format.

Jon Tollefson (1):
      [POWERPC] Add hugepagesz boot-time parameter

Joseph Fannin (1):
      [POWERPC] Export copy_page() on 32bit

Josh Boyer (11):
      [POWERPC] 4xx: Fix 440grx setup function to call 440A fixup
      [POWERPC] 4xx: Include missing header
      [POWERPC] 4xx: libfdt and pci fixes for Rainier
      [POWERPC] 4xx: Rename CPU nodes to avoid dtc incompatibility
      [POWERPC] 4xx: Update Kilauea, Rainier, and Walnut defconfigs
      [POWERPC] 4xx: Mark of_bus structures as __initdata
      [POWERPC] Conditionally compile e200 and e500 platforms in cputable
      [POWERPC] Remove unneeded variable declarations from mpc837x_mds
      [POWERPC] 4xx: Use machine_device_initcall for bus probe
      [POWERPC] 4xx: Minor coding style cleanups for 4xx bootwrapper
      [POWERPC] 4xx: Update defconfigs

Julia Lawall (3):
      [POWERPC] arch/ppc: Remove an unnecessary pci_dev_put
      [POWERPC] arch/powerpc: Add missing of_node_put
      [POWERPC] cell/cbe_regs.c: Add missing of_node_put

Julio M. Merino Vidal (1):
      [POWERPC] spufs: fix typos in sched.c comments

Kevin Corry (1):
      [POWERPC] perfmon2: make pm_interval register read/write

Kim Phillips (10):
      [POWERPC] 83xx: fold the mpc8313 platform into the mpc831x platform
      [POWERPC] 83xx: add base platform support for the mpc8315 rdb board
      [POWERPC] 83xx: Add the MPC8315E RDB dts
      [POWERPC] 83xx: enable FSL SATA driver config for Freescale SoCs
      [POWERPC] 83xx: ipic: add interrupt vector 94
      [POWERPC] 83xx: add the mpc8315 rdb defconfig
      [POWERPC] 83xx: add MPC837x RDB platform support
      [POWERPC] 83xx: add the mpc837[789]_rdb dts files
      [POWERPC] 83xx: add the mpc837x rdb defconfig
      [POWERPC] 83xx: Fix typo in mpc837x compatible entries

Kumar Gala (31):
      [POWERPC] Add SPRN for Embedded registers specified in PowerISA 2.04
      [POWERPC] Emulate isel (Integer Select) instruction
      [POWERPC] FSL: I2C device tree cleanups
      [POWERPC] FSL: enet device tree cleanups
      [POWERPC] FSL: Added aliases node to device trees
      [POWERPC] Fix handling of memreserve if the range lands in highmem
      [POWERPC] Ensure we only handle PowerMac PCI bus fixup for memory resources
      [POWERPC] Fixup transparent P2P resources
      [POWERPC] FSL: Rework PCI/PCIe support for 85xx/86xx
      [POWERPC] Remove update_bridge_resource
      [POWERPC] 85xx: convert boards to use machine_device_initcall
      [POWERPC] 83xx: convert boards to use machine_device_initcall
      [POWERPC] bootwrapper: Add find_node_by_alias and dt_fixup_mac_address_by_alias
      [POWERPC] bootwrapper: convert cuboot-8{3,5}xx to dt_fixup_mac_address_by_alias
      [POWERPC] Fix incorrect interrupt map on FSL reference boards
      [RAPIDIO] Fix compile error and warning
      [POWERPC] Move RapidIO support code from arch/ppc
      [POWERPC] Fix compile error if CONFIG_STX_GP3 is defined
      [POWERPC] Always build setup-bus.c on powerpc
      [POWERPC] bootwrapper: Add find_node_by_compatible
      [POWERPC] Add a cuboot wrapper for 85xx with CPM2
      [POWERPC] 85xx: Port STX GP3 board over from arch/ppc
      [POWERPC] 85xx: Port TQM85xx boards over from arch/ppc
      [POWERPC] 85xx: some minor cleanups for stx_gp3 and tqm85xx
      [PPC] Remove 83xx from arch/ppc
      [PPC] Remove 85xx from arch/ppc
      [POWERPC] 86xx: Remove unused IRQ defines
      [POWERPC] 85xx: rework platform Kconfig
      [POWERPC] 83xx: rework platform Kconfig
      [POWERPC] 85xx: convert sbc85* boards to use machine_device_initcall
      [POWERPC] 85xx: Only invalidate TLB0 and TLB1

Li Yang (9):
      [POWERPC] add e300c4 entry to cputable
      [POWERPC] ipic: add new interrupts introduced by new chip
      [POWERPC] 83xx: Add platform support for MPC837x MDS board
      [POWERPC] 83xx: Add MPC837x MDS default kernel configuration
      [POWERPC] ipic: ack only for edge interrupts
      [POWERPC] 83xx: add device trees for MPC837x MDS board
      [POWERPC] 83xx: Add MPC837x USB platform support
      [POWERPC] 83xx: USB device tree cleanups
      [POWERPC] Add docs for Freescale PowerQUICC SATA device tree nodes

Li Zefan (1):
      [POWERPC] Don't cast a struct pointer to list_head pointer

Linas Vepstas (3):
      [POWERPC] EEH: Work with device endpoint, always
      [POWERPC] EEH: Be careful when identifying "empty" slots.
      [POWERPC] EEH: Report errors as soon as possible

Liu Yu (1):
      [POWERPC] Fix carry bug in 128-bit unsigned integer adding

Lucas Woods (2):
      [POWERPC] arch/powerpc: Remove duplicate includes
      [POWERPC] arch/ppc: Remove duplicate includes

Luke Browning (4):
      [POWERPC] spufs: add backing ops for privcntl register
      [POWERPC] spufs: reorganize spu_run_init
      [POWERPC] spufs: spu_find_victim may choose wrong victim
      [POWERPC] spufs: decouple spu scheduler from spufs_spu_run (asynchronous scheduling)

Marian Balakowicz (6):
      [POWERPC] mpc5200: Add 'fsl,lpb' bus type for localplus bus
      [POWERPC] mpc5200: Add common mpc52xx_setup_pci() routine
      [POWERPC] mpc5200: Add TQM5200 DTS
      [POWERPC] mpc5200: add CM5200 DTS
      [POWERPC] mpc5200: Add Promess Motion-PRO DTS
      [POWERPC] mpc5200: Add generic support for simple MPC5200 based boards

Mark A. Greer (1):
      [POWERPC] #address-cells & #size-cells properties are not inherited

Masato Noguchi (2):
      [POWERPC] cell: wrap master run control bit
      [POWERPC] spufs: don't set reserved bits in spu interrupt status

Matthias Fuchs (1):
      [POWERPC] 4xx: Add 405GPr and 405EP support in boot wrapper

Michael Ellerman (18):
      [POWERPC] Add for_each_child_of_node() helper for iterating over child nodes
      [POWERPC] Implement pci_set_dma_mask() in terms of the dma_ops
      [POWERPC] Set archdata.dma_data for direct DMA in cell_dma_dev_setup()
      [POWERPC] Add celleb_dma_dev_setup()
      [POWERPC] Use archdata.dma_data in dma_direct_ops and add the offset
      [POWERPC] Have cell use its own dma_direct_offset variable
      [POWERPC] Have celleb use its own dma_direct_offset variable
      [POWERPC] Remove the global dma_direct_offset
      [POWERPC] Remove bogus comment in dma_direct_alloc_coherent()
      [POWERPC] Make IOMMU code safe for > 132 GB of memory
      [POWERPC] Add set_dma_ops() to match get_dma_ops()
      [POWERPC] Allocate the hash table under 1G on cell
      [POWERPC] Split out the logic that allocates struct iommus
      [POWERPC] Split cell_iommu_setup_hardware() into two parts
      [POWERPC] Split out the IOMMU logic from cell_dma_dev_setup()
      [POWERPC] Add support to cell_iommu_setup_page_tables() for multiple windows
      [POWERPC] Split out the ioid fetching/checking logic
      [POWERPC] Cell IOMMU fixed mapping support

Michael Hanselmann (1):
      [POWERPC] Update smu command definitions

Michael Neuling (3):
      [POWERPC] Use SLB size from the device tree
      [POWERPC] Make setjmp/longjmp code usable outside of xmon
      [POWERPC] kdump shutdown hook support

Milton Miller (6):
      [POWERPC] Push down or eliminate smp_processor_id calls in xics code
      [POWERPC] init_decrementer_clockevent can be static __init
      [POWERPC] Use __get_cpu_var in time.c
      [POWERPC] Timer interrupt: use a struct for two per_cpu varables
      [POWERPC] Depend on ->initialized in calc_steal_time
      [POWERPC] Optimize account_system_vtime

Nathan Lynch (2):
      [POWERPC] Remove prod_processor()
      [POWERPC] lparcfg: Remove useless buffer allocation

Olaf Hering (2):
      [POWERPC] Revert chrp_pci_fixup_vt8231_ata devinit to fix libata on pegasos
      [POWERPC] Autodetect serial console on pegasos2

Olof Johansson (15):
      [POWERPC] pasemi: clean up mdio_gpio a bit
      [POWERPC] pasemi: Broaden specific references to 1682M
      [POWERPC] pasemi: Don't enter powersaving states from elevated astates
      [POWERPC] pasemi: Move cpus to hold loop before restart
      [POWERPC] pasemi: Fix module information for gpio-mdio
      [POWERPC] MPIC: Minor optimization of ipi handler
      [POWERPC] pasemi: Implement MSI support
      [POWERPC] holly.c: Remove unnecessary include of linux/ide.h
      [POWERPC] pasemi: Implement NMI support
      [POWERPC] pasemi: Distribute interrupts evenly across cpus
      [POWERPC] Enable CONFIG_PCI_MSI and CONFIG_MD in pasemi_defconfig
      [POWERPC] pasemi: Fix NMI handling check
      [POWERPC] pasemi: Move electra-ide to pata_of_platform
      [POWERPC] Make smp_call_function_map static
      [POWERPC] Make smp_send_stop() handle panic and xmon reboot

Paul Gortmaker (16):
      [POWERPC] 85xx: mpc85xx_ads: add in missing of_node_put()
      [POWERPC] mpc5200: add #address-cells and #size-cells to soc node.
      [POWERPC] Reduce code duplication in legacy_serial, add UART parent types
      [POWERPC] 85xx: Add support for Wind River SBC8560 in arch/powerpc
      [POWERPC] 85xx: Add v1 device tree source for Wind River SBC8560 board
      [POWERPC] CPM2: Make support for the CPM2 optional on 8560 based boards
      [POWERPC] 85xx: Add default .config file for Wind River SBC8560
      [POWERPC] 85xx: Add basic support for Wind River SBC8548 board
      [POWERPC] 85xx: Add v1 device tree source for Wind River SBC8548 board
      [POWERPC] 85xx: Add default .config file for Wind River SBC8548
      [POWERPC] 83xx: Add support for Wind River SBC834x boards
      [POWERPC] 83xx: Add device tree source for Wind River SBC834x board.
      [POWERPC] 83xx: Add default config file for Wind River SBC8349 board
      [POWERPC] 83xx: mpc834x_mds - Convert device tree source to dts-v1
      [POWERPC] QE: Explicitly set address-cells and size cells for muram
      [POWERPC] 83xx: Clean up / convert mpc83xx board DTS files to v1 format.

Paul Mackerras (8):
      [POWERPC] Convert media-bay.c to use the kthread API
      [POWERPC] Convert adb.c to use kthread API and not spin on ADB requests
      [POWERPC] Convert therm_pm72.c to use the kthread API
      [POWERPC] Convert therm_windtunnel.c to use the kthread API
      [POWERPC] Fix sleep on powerbook 3400
      Revert "[POWERPC] Disable PCI IO/Mem on a device when resources can't be allocated"
      [POWERPC] Provide a way to protect 4k subpages when using 64k pages
      Revert "[POWERPC] Fake NUMA emulation for PowerPC"

Roel Kluin (1):
      [POWERPC] 4xx: logical/bitand typo in powerpc/boot/4xx.c

Scott Wood (13):
      [POWERPC] 8xx: Convert mpc866ads to the new device binding.
      [POWERPC] 83xx: mpc834x_mds: Fix whitespace and call of_platform_bus_probe().
      [POWERPC] 83xx: mpc8313erdb: Fix whitespace.
      [POWERPC] wrapper: Rename offset in offset_devp()
      [POWERPC] wrapper: Treat NULL as root node in devp_offset; add devp_offset_find()
      [POWERPC] Implement arch disable/enable irq hooks.
      [POWERPC] fsl_soc: Fix get_immrbase() to use ranges, rather than reg.
      [POWERPC] 8xx: Analogue & Micro Adder875 board support.
      [POWERPC] 82xx: Embedded Planet EP8248E support
      [POWERPC] 83xx: MPC8313e RBD add NAND to device tree
      [POWERPC] 83xx: MPC8313e RDB - Add NOR flash to the device tree.
      [POWERPC] 83xx: Update MPC8313e RDB defconfig for MTD, NAND, JFFS2.
      [POWERPC] 8xx: adder875 - Fix flash bus-width and remove duplicate __initdata

Sean MacLennan (5):
      [POWERPC] 4xx: Add PowerPC 440EP Rev C
      [POWERPC] 4xx: PIKA Warp base platform
      [POWERPC] 4xx: PIKA Warp DTS
      [POWERPC] 4xx: PIKA Warp bootwrapper
      [POWERPC] 4xx: PIKA Warp defconfig

Stefan Roese (15):
      [POWERPC] 4xx: Add 440SPe revA runtime detection to PCIe
      [POWERPC] 4xx: Fix TLB 0 problem with CONFIG_SERIAL_TEXT_DEBUG
      [POWERPC] 4xx: Add 405EX CPU type needed for EMAC support on Kilauea
      [POWERPC] 4xx: Change Kilauea dts to support new EMAC device tree properties
      [POWERPC] 4xx: Add Kilauea PCIe support to dts and Kconfig
      [POWERPC] 4xx: Set ibpre for 405EX in 4xx PCIe driver
      [POWERPC] 4xx: Add aliases node to 4xx dts files
      [POWERPC] 4xx: Change Kilauea PCIe bus ranges in dts file
      [POWERPC] 4xx: Add AMCC Makalu board support to platforms/40x
      [POWERPC] 4xx: Makalu dts
      [POWERPC] 4xx: Makalu defconfig
      [POWERPC] 4xx: Add EMAC support to Kilauea defconfig
      [POWERPC] 4xx: PCIe: Increase max busses per port to 64
      [POWERPC] 4xx: Add 405EXr to cputable
      [POWERPC] 4xx: Add AMCC Haleakala (405EXr) dts

Stephen Neuendorffer (6):
      [POWERPC] Improved documentation of device tree 'ranges'
      [POWERPC] Xilinx: update compatible list for interrupt controller
      [POWERPC] Xilinx: Add correct compatible list for device tree bus bindings.
      [POWERPC] Xilinx: Update booting-without-of.
      [POWERPC] Xilinx: updated device tree compatibility to match uboot bsp generator.
      [POWERPC] Xilinx uartlite: Section type fixups

Stephen Rothwell (51):
      [POWERPC] Make global_phb_number static
      [POWERPC] iSeries: Mark two functions __init
      [POWERPC] iSeries: Declare iSeries_pci_final_fixup in pci.h
      [POWERPC] iSeries: Fix sparse warnings in setup.c
      [POWERPC] Remove redundant declaration of hose_list
      [POWERPC] Use of_register_driver to implement of_register_platform_driver
      [POWERPC] kernel_execve is identical in 32 and 64 bit
      [POWERPC] iommu_free_table doesn't need the device_node
      [POWERPC] pSeries: Remove dependency on pci_dn bussubno
      [POWERPC] Clean up pci-bridge.h
      [POWERPC] Consolidate pci_controller
      [POWERPC] iSeries: Move find_Device_Node to avoid a forward declaration
      [POWERPC] iSeries: Cleanup PCI retry code a little
      [POWERPC] iSeries: DeCamelCase pci.c
      [POWERPC] iSeries: Remove some dead code from pci.c
      [POWERPC] iSeries: Unindent and clean iSeries_pci_final_fixup
      [POWERPC] iSeries: Consoldiate PCI IO error check
      [POWERPC] iSeries: Remove one layer of IO routines
      [POWERPC] iSeries: Remove pci_dn dependency from iSeries_Device_Information
      [POWERPC] iSeries: iseries_ds_addr is only used in pci.c
      [POWERPC] iSeries: Reduce dependence on pci_dn bussubno
      [POWERPC] iSeries: Make pcibios_final_fixup not depend on pci_dn
      [POWERPC] Inline pci_setup_pci_controller as it has become trivial
      [POWERPC] iSeries: Call iSeries_pcibios_init from setup_arch
      [POWERPC] iSeries: hose->buid is always zero for iSeries
      [POWERPC] Remove some iSeries platform checks from the PCI code
      [POWERPC] Don't special case pci_domain_nr() for iSeries
      [POWERPC] pci_controller->arch_data really is a struct device_node *
      [POWERPC] iSeries: DeCamelCase vpdinfo.c
      [POWERPC] iSeries: Clean up and simplify vdpinfo.c
      [POWERPC] iSeries: Merge vpdinfo.c into pci.c
      [POWERPC] EEH: Avoid a possible NULL pointer dereference
      [POWERPC] iSeries: Fix unregistering HV event handlers
      [POWERPC] Stop the TOC overflowing for large builds
      [POWERPC] Add EHEA and EHCA as modules in the ppc64_defconfig
      [POWERPC] The builtin matches for ibmebus.c can be __initdata
      [POWERPC] Constify the of_device_id passed to of_platform_bus_probe
      [POWERPC] Pointers marked as __iomem do not need to be volatile
      [POWERPC] Make non-PCI build work again
      [POWERPC] The pci_dn class_code is only used by EEH
      [POWERPC] The pci_dn pcidev is only used by EEH
      [POWERPC] iSeries: eliminate pci_dn bussubno
      [POWERPC] eeh.c: Use for_each_child_of_node
      [POWERPC] pci_32.c: Use for_each_child_of_node
      [POWERPC] therm_pm72: Suppress some compile warnings
      [POWERPC] arch/powerpc/kernel: Use for_each_child_of_node
      [POWERPC] therm_windtunnel: Eliminate some build warnings
      [POWERPC] therm_adt746x: Eliminate some build warnings
      [POWERPC] Check that the syscall table matches the syscall numbers
      [POWERPC] Make ibmebus use of_(un)register_driver
      [POWERPC] Fix a couple of copyright symbols

Takashi Yamamoto (2):
      [POWERPC] PS3: Add logical performance monitor repository routines
      [POWERPC] PS3: Add logical performance monitor driver support

Timur Tabi (8):
      [POWERPC] 86xx: fix guts_set_dmacr() and add guts_set_pmuxcr_dma() to immap_86xx.h
      [POWERPC] QE: change qe_setbrg() to take an enum qe_clock instead of an integer
      [POWERPC] qe: add function qe_clock_source()
      [POWERPC] ucc_geth: use rx-clock-name and tx-clock-name device tree properties
      [POWERPC] QE: Add ability to upload QE firmware
      [POWERPC] QE: Add support for Freescale QUICCEngine UART
      [POWERPC] qe-uart: add support for Freescale QUICCEngine UART
      [POWERPC] Update MPC8610 HPCD to support audio drivers

Valentine Barshak (12):
      [POWERPC] 4xx: 440EPx Sequoia USB OHCI DTS entry
      [POWERPC] 4xx: 440GRx Rainier bootwrapper.
      [POWERPC] 4xx: 440GRx Rainier DTS.
      [POWERPC] 4xx: 440GRx Rainier board support.
      [POWERPC] 4xx: 440GRx Rainier default config
      [POWERPC] 4xx: make UIC use generic level irq handler
      [POWERPC] 4xx: rework UIC cascade irq handling
      [POWERPC] 4xx: Correct 440GRx machine_check callback
      [POWERPC] 4xx: Add PCI entry to 440EPx Sequoia DTS.
      [POWERPC] 44x: Sequoia and Rainier updates for 2.6.25
      [POWERPC] 4xx: update 440EP(x)/440GR(x) identical PVR issue workaround
      [POWERPC] 4xx: Add PCI entry to 440GRx Rainier DTS.

Vitaly Bordug (3):
      phy/fixed.c: rework to not duplicate PHY layer functionality
      [POWERPC] MPC8349E-mITX: Vitesse 7385 PHY is not connected to the MDIO bus
      [POWERPC] fsl_soc: add support to gianfar for fixed-link property

Wade Farnsworth (2):
      [POWERPC] 86xx: Add localbus and flash nodes to mpc8641_hpcn.dts
      [POWERPC] 86xx: MPC8641 HPCN - call of_platform_bus_probe()

Zhang Wei (1):
      [POWERPC] Add docs for Freescale DMA & DMA channel device tree nodes

joe@perches.com (6):
      [POWERPC] Add missing spaces in printk formats
      [POWERPC] Add missing spaces in printk formats in arch/ppc
      [POWERPC] arch/powerpc/: Spelling fixes
      [POWERPC] include/asm-powerpc/: Spelling fixes
      [POWERPC] arch/ppc/: Spelling fixes
      [POWERPC] include/asm-ppc/: Spelling fixes

will schmidt (1):
      [POWERPC] Update xmon slb code

^ permalink raw reply

* RE: x86/non-x86: percpu, node ids, apic ids x86.git fixup
From: Luck, Tony @ 2008-01-31  0:57 UTC (permalink / raw)
  To: Luck, Tony, Ingo Molnar
  Cc: sparclinux, linux-ia64, Linux Kernel Development, Mike Travis,
	Linux/PPC Development, Geert Uytterhoeven, Thomas Gleixner,
	Linus Torvalds
In-Reply-To: <20080130205915.GA4562@elte.hu>

> I'll start digging on why this doesn't boot ... but you might as well
> send the fixes so far upstream to Linus so that the SMP fix is =
available

Well a pure 2.6.24 version compiled with CONFIG_SMP=3Dn booted just =
fine, so
the breakage is recent ... and more than likely related to this change.

I've only had a casual dig at the failing case ... kernel dies in =
memset()
as called from kmem_cache_alloc() with the address being written as
0x4000000000117b48 (which is off in the virtual address space range used
by users ... not a kernel address).

I'll dig some more tomorrow.

-Tony

^ permalink raw reply

* [RFC] [POWERPC] bootwrapper: build multiple cuImages
From: Grant Likely @ 2008-01-31  0:34 UTC (permalink / raw)
  To: jwboyer, linuxppc-dev, scottwood, galak

From: Grant Likely <grant.likely@secretlab.ca>

Currently, the kernel uses CONFIG_DEVICE_TREE to wrap a kernel image
with a fdt blob which means for any given configuration only one dts
file can be selected and so support for only one board can be built

This patch moves the selection of the default .dts file out of the kernel
config and into the bootwrapper makefile.  The makefile chooses which
images to build based on the kernel config and the dts source file
name is taken directly from the image name.  For example "cuImage.ebony"
will use "ebony.dts" as the device tree source file.

In addition, this patch allows a specific image to be requested from the
command line by adding "cuImage.%" and "treeImage.%" targets to the list
of valid built targets in arch/powerpc/Makefile.  This allows the default
dts selection to be overridden.

Another advantage to this change is it allows a single defconfig to be
supplied for all boards using the same chip family and only differing in
the device tree.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>

---

Please review and comment.  I have not exhaustively tested this patch
and I'm sure to have missed some boards.  However, I think the concept
is sound and will be a good change.
---

 arch/powerpc/Kconfig       |   19 -------
 arch/powerpc/Makefile      |    9 +--
 arch/powerpc/boot/Makefile |  123 ++++++++++++++++++++++++++++++++------------
 arch/powerpc/boot/wrapper  |   20 +++++++
 4 files changed, 112 insertions(+), 59 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 5e10838..5c205c7 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -407,25 +407,6 @@ config WANT_DEVICE_TREE
 	bool
 	default n
 
-config DEVICE_TREE
-	string "Static device tree source file"
-	depends on WANT_DEVICE_TREE
-	help
-	  This specifies the device tree source (.dts) file to be
-	  compiled and included when building the bootwrapper.  If a
-	  relative filename is given, then it will be relative to
-	  arch/powerpc/boot/dts.  If you are not using the bootwrapper,
-	  or do not need to build a dts into the bootwrapper, this
-	  field is ignored.
-
-	  For example, this is required when building a cuImage target
-	  for an older U-Boot, which cannot pass a device tree itself.
-	  Such a kernel will not work with a newer U-Boot that tries to
-	  pass a device tree (unless you tell it not to).  If your U-Boot
-	  does not mention a device tree in "help bootm", then use the
-	  cuImage target and specify a device tree here.  Otherwise, use
-	  the uImage target and leave this field blank.
-
 endmenu
 
 config ISA_DMA_API
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index f70df9b..6845482 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -151,14 +151,11 @@ core-$(CONFIG_XMON)		+= arch/powerpc/xmon/
 drivers-$(CONFIG_OPROFILE)	+= arch/powerpc/oprofile/
 
 # Default to zImage, override when needed
-defaultimage-y			:= zImage
-defaultimage-$(CONFIG_DEFAULT_UIMAGE) := uImage
-KBUILD_IMAGE := $(defaultimage-y)
-all: $(KBUILD_IMAGE)
+all: zImage
 
 CPPFLAGS_vmlinux.lds	:= -Upowerpc
 
-BOOT_TARGETS = zImage zImage.initrd uImage
+BOOT_TARGETS = zImage zImage.initrd uImage treeImage.% cuImage.%
 
 PHONY += $(BOOT_TARGETS)
 
@@ -180,7 +177,7 @@ define archhelp
 endef
 
 install: vdso_install
-	$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install
+	$(Q)$(MAKE) $(build)=$(boot) install
 
 vdso_install:
 ifeq ($(CONFIG_PPC64),y)
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index b36f911..7173abe 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -123,6 +123,8 @@ targets		+= $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a)
 extra-y		:= $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \
 		   $(obj)/zImage.lds $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds
 
+dtstree		:= $(srctree)/$(src)/dts
+
 wrapper		:=$(srctree)/$(src)/wrapper
 wrapperbits	:= $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree dtc) \
 			$(wrapper) FORCE
@@ -191,26 +193,67 @@ image-$(CONFIG_PPC_PRPMC2800)		+= zImage.prpmc2800
 image-$(CONFIG_PPC_ISERIES)		+= zImage.iseries
 image-$(CONFIG_DEFAULT_UIMAGE)		+= uImage
 
-ifneq ($(CONFIG_DEVICE_TREE),"")
-image-$(CONFIG_PPC_8xx)			+= cuImage.8xx
-image-$(CONFIG_PPC_EP88XC)		+= zImage.ep88xc
+#
+# Targets which embed a device tree blob
+#
+# Theses are default targets to build images which embed device tree blobs.
+# They are only required on boards which do not have FDT support in firmware.
+# Boards with newish u-boot firmare can use the uImage target above
+#
+
+# Board ports in arch/powerpc/platform/40x/Kconfig
 image-$(CONFIG_EP405)			+= zImage.ep405
-image-$(CONFIG_8260)			+= cuImage.pq2
-image-$(CONFIG_EP8248E)			+= zImage.ep8248e
-image-$(CONFIG_PPC_MPC52xx)		+= cuImage.52xx
-image-$(CONFIG_STORCENTER)		+= cuImage.824x
-image-$(CONFIG_PPC_83xx)		+= cuImage.83xx
-image-$(CONFIG_PPC_85xx)		+= cuImage.85xx
-image-$(CONFIG_MPC7448HPC2)		+= cuImage.hpc2
+image-$(CONFIG_WALNUT)			+= treeImage.walnut
+
+# Board ports in arch/powerpc/platform/44x/Kconfig
 image-$(CONFIG_EBONY)			+= treeImage.ebony cuImage.ebony
 image-$(CONFIG_BAMBOO)			+= treeImage.bamboo cuImage.bamboo
 image-$(CONFIG_SEQUOIA)			+= cuImage.sequoia
 image-$(CONFIG_RAINIER)			+= cuImage.rainier
-image-$(CONFIG_WALNUT)			+= treeImage.walnut
 image-$(CONFIG_TAISHAN)			+= cuImage.taishan
 image-$(CONFIG_KATMAI)			+= cuImage.katmai
 image-$(CONFIG_WARP)			+= cuImage.warp
-endif
+
+# Board ports in arch/powerpc/platform/8xx/Kconfig
+image-$(CONFIG_PPC_MPC86XADS)		+= zImage.mpc866ads
+image-$(CONFIG_PPC_MPC885ADS)		+= zImage.mpc885ads
+image-$(CONFIG_PPC_EP88XC)		+= zImage.ep88xc
+image-$(CONFIG_PPC_ADDER875)		+= cuImage.adder875-uboot
+
+# Board ports in arch/powerpc/platform/52xx/Kconfig
+image-$(CONFIG_PPC_LITE5200)		+= cuImage.lite5200 cuImage.lite5200b
+
+# Board ports in arch/powerpc/platform/82xx/Kconfig
+image-$(CONFIG_MPC8272_ADS)		+= cuImage.mpc8272ads
+image-$(CONFIG_PQ2FADS)			+= cuImage.pq2fads
+image-$(CONFIG_EP8248E)			+= zImage.ep8248e
+
+# Board ports in arch/powerpc/platform/83xx/Kconfig
+image-$(CONFIG_MPC8313_RDB)		+= cuImage.mpc8313erdb
+image-$(CONFIG_MPC832x_MDS)		+= cuImage.mpc832x_mds
+image-$(CONFIG_MPC832x_RDB)		+= cuImage.mpc832x_rdb
+image-$(CONFIG_MPC834x_ITX)		+= cuImage.mpc8349emitx \
+					   cuImage.mpc8349emitxgp
+image-$(CONFIG_MPC834x_MDS)		+= cuImage.mpc834x_mds
+image-$(CONFIG_MPC836x_MDS)		+= cuImage.mpc836x_mds
+image-$(CONFIG_MPC837x_MDS)		+= cuImage.mpc8377_mds \
+					   cuImage.mpc8378_mds \
+					   cuImage.mpc8379_mds
+
+# Board ports in arch/powerpc/platform/83xx/Kconfig
+image-$(CONFIG_MPC8540_ADS)		+= cuImage.mpc8540ads
+image-$(CONFIG_MPC8560_ADS)		+= cuImage.mpc8560ads
+image-$(CONFIG_MPC85xx_CDS)		+= cuImage.mpc8541cds \
+					   cuImage.mpc8548cds \
+					   cuImage.mpc8555cds
+image-$(CONFIG_MPC85xx_MDS)		+= cuImage.mpc8568mds
+image-$(CONFIG_MPC85xx_DS)		+= cuImage.mpc8544ds \
+					   cuImage.mpc8572ds
+
+# Board ports in arch/powerpc/platform/embedded6xx/Kconfig
+image-$(CONFIG_STORCENTER)		+= cuImage.storcenter
+image-$(CONFIG_PPC_PRPMC2800)		+= cuImage.prpmc2800
+image-$(CONFIG_MPC7448HPC2)		+= cuImage.mpc7448hpc2
 
 ifneq ($(CONFIG_REDBOOT),"")
 image-$(CONFIG_PPC_8xx)			+= zImage.redboot-8xx
@@ -230,24 +273,14 @@ targets	+= $(image-y) $(initrd-y)
 
 $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz
 
-# If CONFIG_WANT_DEVICE_TREE is set and CONFIG_DEVICE_TREE isn't an
-# empty string, define 'dts' to be path to the dts
-# CONFIG_DEVICE_TREE will have "" around it, make sure to strip them
-ifeq ($(CONFIG_WANT_DEVICE_TREE),y)
-ifneq ($(CONFIG_DEVICE_TREE),"")
-dts = $(if $(shell echo $(CONFIG_DEVICE_TREE) | grep '^/'),\
-	,$(srctree)/$(src)/dts/)$(CONFIG_DEVICE_TREE:"%"=%)
-endif
-endif
-
 # Don't put the ramdisk on the pattern rule; when its missing make will try
 # the pattern rule with less dependencies that also matches (even with the
 # hard dependency listed).
-$(obj)/zImage.initrd.%: vmlinux $(wrapperbits) $(dts)
-	$(call if_changed,wrap,$*,$(dts),,$(obj)/ramdisk.image.gz)
+$(obj)/zImage.initrd.%: vmlinux $(wrapperbits)
+	$(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz)
 
-$(obj)/zImage.%: vmlinux $(wrapperbits) $(dts)
-	$(call if_changed,wrap,$*,$(dts))
+$(obj)/zImage.%: vmlinux $(wrapperbits)
+	$(call if_changed,wrap,$*)
 
 # This cannot be in the root of $(src) as the zImage rule always adds a $(obj)
 # prefix
@@ -259,22 +292,42 @@ $(obj)/zImage.iseries: vmlinux
 
 $(obj)/zImage.ps3: vmlinux  $(wrapper) $(wrapperbits) $(srctree)/$(src)/dts/ps3.dts
 	$(STRIP) -s -R .comment $< -o vmlinux.strip
-	$(call cmd,wrap,ps3,$(srctree)/$(src)/dts/ps3.dts,,)
+	$(call cmd,wrap,ps3,$(dtstree)/ps3.dts,,)
 
 $(obj)/zImage.initrd.ps3: vmlinux  $(wrapper) $(wrapperbits) $(srctree)/$(src)/dts/ps3.dts $(obj)/ramdisk.image.gz
-	$(call cmd,wrap,ps3,$(srctree)/$(src)/dts/ps3.dts,,$(obj)/ramdisk.image.gz)
+	$(call cmd,wrap,ps3,$(dtstree)/ps3.dts,,$(obj)/ramdisk.image.gz)
+
+zImage.ep405: vmlinux $(wrapperbits) $(dtstree)/ep405.dts
+	$(call if_changed,wrap,$*,$(dtstree)/ep405.dts)
+zImage.initrd.ep405: vmlinux $(wrapperbits) $(dtstree)/ep405.dts
+	$(call if_changed,wrap,$*,$(dtstree)/ep405.dts,,$(obj)/ramdisk.image.gz)
+
+zImage.mpc866ads: vmlinux $(wrapperbits) $(dtstree)/mpc866ads.dts
+	$(call if_changed,wrap,$*,$(dtstree)/mpc866ads.dts)
+zImage.initrd.mpc866ads: vmlinux $(wrapperbits) $(dtstree)/mpc866ads.dts
+	$(call if_changed,wrap,$*,$(dtstree)/mpc866ads.dts,,$(obj)/ramdisk.image.gz)
+
+zImage.mpc885ads: vmlinux $(wrapperbits) $(dtstree)/mpc885ads.dts
+	$(call if_changed,wrap,$*,$(dtstree)/mpc885ads.dts)
+zImage.initrd.mpc885ads: vmlinux $(wrapperbits) $(dtstree)/mpc885ads.dts
+	$(call if_changed,wrap,$*,$(dtstree)/mpc885ads.dts,,$(obj)/ramdisk.image.gz)
+
+zImage.ep88xc: vmlinux $(wrapperbits) $(dtstree)/ep88xc.dts
+	$(call if_changed,wrap,$*,$(dtstree)/ep88xc.dts)
+zImage.initrd.ep88xc: vmlinux $(wrapperbits) $(dtstree)/ep88xc.dts
+	$(call if_changed,wrap,$*,$(dtstree)/ep88xc.dts,,$(obj)/ramdisk.image.gz)
 
 $(obj)/uImage: vmlinux $(wrapperbits)
 	$(call if_changed,wrap,uboot)
 
-$(obj)/cuImage.%: vmlinux $(dts) $(wrapperbits)
-	$(call if_changed,wrap,cuboot-$*,$(dts))
+$(obj)/cuImage.%: vmlinux $(dtstree)/%.dts $(wrapperbits)
+	$(call if_changed,wrap,cuboot-$*,$(dtstree)/$*.dts)
 
-$(obj)/treeImage.initrd.%: vmlinux $(dts) $(wrapperbits)
-	$(call if_changed,wrap,treeboot-$*,$(dts),,$(obj)/ramdisk.image.gz)
+$(obj)/treeImage.initrd.%: vmlinux $(dtstree)/%.dts $(wrapperbits)
+	$(call if_changed,wrap,treeboot-$*,$(dtstree)/$*.dts,,$(obj)/ramdisk.image.gz)
 
-$(obj)/treeImage.%: vmlinux $(dts) $(wrapperbits)
-	$(call if_changed,wrap,treeboot-$*,$(dts))
+$(obj)/treeImage.%: vmlinux $(dtstree)/%.dts $(wrapperbits)
+	$(call if_changed,wrap,treeboot-$*,$(dtstree)/$*.dts)
 
 # If there isn't a platform selected then just strip the vmlinux.
 ifeq (,$(image-y))
@@ -283,8 +336,10 @@ endif
 
 $(obj)/zImage:		$(addprefix $(obj)/, $(image-y))
 	@rm -f $@; ln $< $@
+	@echo target images: $(image-y)
 $(obj)/zImage.initrd:	$(addprefix $(obj)/, $(initrd-y))
 	@rm -f $@; ln $< $@
+	@echo target images: $(initrd-y)
 
 install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
 	sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $<
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index 763a0c4..b70ec6a 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -158,6 +158,26 @@ miboot|uboot)
 cuboot*)
     binary=y
     gzip=
+    case "$platform" in
+    *-mpc885ads|*-adder875*|*-ep88xc)
+        platformo=$object/cuboot-8xx.o
+        ;;
+    *5200*|*-motionpro)
+        platformo=$object/cuboot-52xx.o
+        ;;
+    *-pq2fads|*-ep8248e|*-mpc8272*)
+        platformo=$object/cuboot-pq2.o
+        ;;
+    *-mpc824*)
+        platformo=$object/cuboot-824x.o
+        ;;
+    *-mpc83*)
+        platformo=$object/cuboot-83xx.o
+        ;;
+    *-mpc85*)
+        platformo=$object/cuboot-85xx.o
+        ;;
+    esac
     ;;
 ps3)
     platformo="$object/ps3-head.o $object/ps3-hvcall.o $object/ps3.o"

^ permalink raw reply related

* PATCH[1/1] 8xx: Add clock-frequency to Adder875 and mpc885ads board ports
From: Bryan O'Donoghue @ 2008-01-30 23:34 UTC (permalink / raw)
  To: linuxppc-dev, scottwood

Redo the addition of the clock-frequency parameter to the Adder875 .dts
so that the values are decimal rather then hex.


Signed-off-by: Bryan O'Donoghue <bodonoghue@codehermit.ie>
---

diff --git a/arch/powerpc/boot/dts/adder875-redboot.dts
b/arch/powerpc/boot/dts/adder875-redboot.dts
index 7c25d96..c508f3c 100644
--- a/arch/powerpc/boot/dts/adder875-redboot.dts
+++ b/arch/powerpc/boot/dts/adder875-redboot.dts
@@ -149,6 +149,7 @@
                                compatible = "fsl,mpc875-brg",
                                             "fsl,cpm1-brg",
                                             "fsl,cpm-brg";
+                               clock-frequency = <50000000>;
                                reg = <0x9f0 0x10>;
                        };
 
diff --git a/arch/powerpc/boot/dts/adder875-uboot.dts
b/arch/powerpc/boot/dts/adder875-uboot.dts
index 605202f..d7ac416 100644
--- a/arch/powerpc/boot/dts/adder875-uboot.dts
+++ b/arch/powerpc/boot/dts/adder875-uboot.dts
@@ -148,6 +148,7 @@
                                compatible = "fsl,mpc875-brg",
                                             "fsl,cpm1-brg",
                                             "fsl,cpm-brg";
+                               clock-frequency = <50000000>;
                               reg = <0x9f0 0x10>;
                        };
 
diff --git a/arch/powerpc/boot/dts/mpc885ads.dts
b/arch/powerpc/boot/dts/mpc885ads.dts
index 8848e63..f2a437b 100644
--- a/arch/powerpc/boot/dts/mpc885ads.dts
+++ b/arch/powerpc/boot/dts/mpc885ads.dts
@@ -166,6 +166,7 @@
                                compatible = "fsl,mpc885-brg",
                                             "fsl,cpm1-brg",
                                             "fsl,cpm-brg";
+                               clock-frequency = <0>;
                                reg = <9f0 10>;
                        };

^ permalink raw reply related

* Re: [PATCH] net: NEWEMAC: Remove "rgmii-interface" from rgmii matching table
From: Benjamin Herrenschmidt @ 2008-01-30 23:14 UTC (permalink / raw)
  To: Stefan Roese; +Cc: linuxppc-dev, netdev
In-Reply-To: <200801300716.52463.sr@denx.de>


On Wed, 2008-01-30 at 07:16 +0100, Stefan Roese wrote:
> On Wednesday 16 January 2008, Josh Boyer wrote:
> > On Wed, 16 Jan 2008 20:53:59 +1100
> >
> > Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> > > On Wed, 2008-01-16 at 10:37 +0100, Stefan Roese wrote:
> > > > With the removal the the "rgmii-interface" device_type property from
> > > > the dts files, the newemac driver needs an update to only rely on
> > > > compatible property.
> > > >
> > > > Signed-off-by: Stefan Roese <sr@denx.de>
> > >
> > > I need to test if it works on CAB, can't change the DT on those. I'll
> > > let you know tomorrow.
> >
> > This should be fine on CAB.  The rgmii node has:
> >
> > compatible = "ibm,rgmii-axon", "ibm,rgmii"
> >
> > so the match should still catch on the latter.
> 
> How about this patch? Ben, if you think this is ok then we should make sure 
> that it goes in in this merge-window, since the other dts patch relies on it.

It's fine.

Ben.

^ permalink raw reply

* Re: [powerpc changes] Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
From: Geoff Levand @ 2008-01-30 21:56 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: sparclinux, Luck, Tony, linux-ia64, Linux/PPC Development,
	Linux Kernel Development, Mike Travis, Geert Uytterhoeven,
	Paul Mackerras, anton, Olof Johansson, Thomas Gleixner,
	Linus Torvalds
In-Reply-To: <20080130212558.GA12409@elte.hu>

Ingo Molnar wrote:
> * Olof Johansson <olof@lixom.net> wrote:
> 
>> > could you try the full patchset that Travis has just sent and which 
>> > i've put into x86.git, you can pull it from:
>> 
>> Looks ok for powerpc so far, I haven't gotten through all defconfigs 
>> yet but the first ones that failed before build now. pasemi_defconfig 
>> boots as well.
> 
> could the PowerPC maintainers please Ack the following patch (attached 
> below):
> 
>   Subject: POWERPC: use generic per cpu
>   From: travis@sgi.com
> 
> so that we can push this fix upstream ASAP?
> 
> 	Ingo
> 
> --------------->
> Subject: POWERPC: use generic per cpu
> From: travis@sgi.com
> 
> Powerpc has a way to determine the address of the per cpu area of the
> currently executing processor via the paca and the array of per cpu
> offsets is avoided by looking up the per cpu area from the remote
> paca's (copying x86_64).
> 
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
> Signed-off-by: Mike Travis <travis@sgi.com>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
> ---
>  include/asm-powerpc/percpu.h |   22 +++-------------------
>  1 file changed, 3 insertions(+), 19 deletions(-)

Tested on PS3 with ps3_defconfig and works OK.

Acked-by: Geoff Levand <geoffrey.levand@am.sony.com>

^ permalink raw reply

* Re: [PATCH 2/6] percpu: Change Kconfig to HAVE_SETUP_PER_CPU_AREA linux-2.6.git
From: Mike Travis @ 2008-01-30 21:57 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Tony Luck, linux-ia64, linuxppc-dev, Sam Ravnborg, Rusty Russell,
	linux-kernel, Andi Kleen, linux-mm, Geert Uytterhoeven,
	Thomas Gleixner, Linus Torvalds, David Miller, Christoph Lameter
In-Reply-To: <20080130215015.GA28242@elte.hu>

Ingo Molnar wrote:
> * travis@sgi.com <travis@sgi.com> wrote:
> 
>> Change:
>> 	config ARCH_SETS_UP_PER_CPU_AREA
>> to:
>> 	config HAVE_SETUP_PER_CPU_AREA
> 
> undocumented change:
> 
>>  config ARCH_NO_VIRT_TO_BUS
>> --- a/init/main.c
>> +++ b/init/main.c
>> @@ -380,6 +380,8 @@ static void __init setup_per_cpu_areas(v
>>  
>>  	/* Copy section for each CPU (we discard the original) */
>>  	size = ALIGN(PERCPU_ENOUGH_ROOM, PAGE_SIZE);
>> +	printk(KERN_INFO
>> +	    "PERCPU: Allocating %lu bytes of per cpu data (main)\n", size);
>>  	ptr = alloc_bootmem_pages(size * nr_possible_cpus);
> 
> but looks fine to me.
> 
> 	Ingo

Sorry, I should have noted this.  The primary reason I put this in, is
that if the HAVE_SETUP_PER_CPU_AREA is not set when it should be, then
the incorrect (generic) setup_per_cpu_areas() is used and weird things
happen later on.  The above line documents that PERCPU has been allocated
by init/main.c version of this function in the startup messages.
(Since it's a static function, there is no "duplicate label" error in
the linker.)

Thanks,
Mike

^ permalink raw reply

* Re: [PATCH 2/6] percpu: Change Kconfig to HAVE_SETUP_PER_CPU_AREA linux-2.6.git
From: Ingo Molnar @ 2008-01-30 21:50 UTC (permalink / raw)
  To: travis
  Cc: Tony Luck, linux-ia64, linuxppc-dev, Sam Ravnborg, Rusty Russell,
	linux-kernel, Andi Kleen, linux-mm, Geert Uytterhoeven,
	Thomas Gleixner, Linus Torvalds, David Miller, Christoph Lameter
In-Reply-To: <20080130180940.369732000@sgi.com>


* travis@sgi.com <travis@sgi.com> wrote:

> Change:
> 	config ARCH_SETS_UP_PER_CPU_AREA
> to:
> 	config HAVE_SETUP_PER_CPU_AREA

undocumented change:

>  config ARCH_NO_VIRT_TO_BUS
> --- a/init/main.c
> +++ b/init/main.c
> @@ -380,6 +380,8 @@ static void __init setup_per_cpu_areas(v
>  
>  	/* Copy section for each CPU (we discard the original) */
>  	size = ALIGN(PERCPU_ENOUGH_ROOM, PAGE_SIZE);
> +	printk(KERN_INFO
> +	    "PERCPU: Allocating %lu bytes of per cpu data (main)\n", size);
>  	ptr = alloc_bootmem_pages(size * nr_possible_cpus);

but looks fine to me.

	Ingo

^ permalink raw reply

* Re: [powerpc changes] Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
From: Olof Johansson @ 2008-01-30 21:39 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Luck, Tony, linux-ia64, Linux/PPC Development,
	Linux Kernel Development, Mike Travis, sparclinux, Paul Mackerras,
	anton, Geert Uytterhoeven, Thomas Gleixner, Linus Torvalds
In-Reply-To: <20080130212558.GA12409@elte.hu>

On Wed, Jan 30, 2008 at 10:25:58PM +0100, Ingo Molnar wrote:
> 
> * Olof Johansson <olof@lixom.net> wrote:
> 
> > > could you try the full patchset that Travis has just sent and which 
> > > i've put into x86.git, you can pull it from:
> > 
> > Looks ok for powerpc so far, I haven't gotten through all defconfigs 
> > yet but the first ones that failed before build now. pasemi_defconfig 
> > boots as well.
> 
> could the PowerPC maintainers please Ack the following patch (attached 
> below):
> 
>   Subject: POWERPC: use generic per cpu
>   From: travis@sgi.com
> 
> so that we can push this fix upstream ASAP?

> Subject: POWERPC: use generic per cpu
> From: travis@sgi.com
> 
> Powerpc has a way to determine the address of the per cpu area of the
> currently executing processor via the paca and the array of per cpu
> offsets is avoided by looking up the per cpu area from the remote
> paca's (copying x86_64).
> 
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
> Signed-off-by: Mike Travis <travis@sgi.com>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>

Paul is at LCA, I'm not sure if he's reading email. Looks good to me so:

Acked-by: Olof Johansson <olof@lixom.net>


-Olof

^ permalink raw reply

* [powerpc changes] Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
From: Ingo Molnar @ 2008-01-30 21:25 UTC (permalink / raw)
  To: Olof Johansson, Paul Mackerras, anton, Geert Uytterhoeven
  Cc: Luck, Tony, linux-ia64, Linux Kernel Development, Mike Travis,
	Linux/PPC Development, Geert Uytterhoeven, sparclinux,
	Thomas Gleixner, Linus Torvalds
In-Reply-To: <20080130191302.GA20008@lixom.net>


* Olof Johansson <olof@lixom.net> wrote:

> > could you try the full patchset that Travis has just sent and which 
> > i've put into x86.git, you can pull it from:
> 
> Looks ok for powerpc so far, I haven't gotten through all defconfigs 
> yet but the first ones that failed before build now. pasemi_defconfig 
> boots as well.

could the PowerPC maintainers please Ack the following patch (attached 
below):

  Subject: POWERPC: use generic per cpu
  From: travis@sgi.com

so that we can push this fix upstream ASAP?

	Ingo

--------------->
Subject: POWERPC: use generic per cpu
From: travis@sgi.com

Powerpc has a way to determine the address of the per cpu area of the
currently executing processor via the paca and the array of per cpu
offsets is avoided by looking up the per cpu area from the remote
paca's (copying x86_64).

Cc: Paul Mackerras <paulus@samba.org>
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 include/asm-powerpc/percpu.h |   22 +++-------------------
 1 file changed, 3 insertions(+), 19 deletions(-)

Index: linux-x86.q/include/asm-powerpc/percpu.h
===================================================================
--- linux-x86.q.orig/include/asm-powerpc/percpu.h
+++ linux-x86.q/include/asm-powerpc/percpu.h
@@ -13,28 +13,12 @@
 #include <asm/paca.h>
 
 #define __per_cpu_offset(cpu) (paca[cpu].data_offset)
-#define __my_cpu_offset() get_paca()->data_offset
+#define __my_cpu_offset get_paca()->data_offset
 #define per_cpu_offset(x) (__per_cpu_offset(x))
 
-/* var is in discarded region: offset to particular copy we want */
-#define per_cpu(var, cpu) (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset(cpu)))
-#define __get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, __my_cpu_offset()))
-#define __raw_get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, local_paca->data_offset))
+#endif /* CONFIG_SMP */
+#endif /* __powerpc64__ */
 
-extern void setup_per_cpu_areas(void);
-
-#else /* ! SMP */
-
-#define per_cpu(var, cpu)			(*((void)(cpu), &per_cpu__##var))
-#define __get_cpu_var(var)			per_cpu__##var
-#define __raw_get_cpu_var(var)			per_cpu__##var
-
-#endif	/* SMP */
-
-#define DECLARE_PER_CPU(type, name) extern __typeof__(type) per_cpu__##name
-
-#else
 #include <asm-generic/percpu.h>
-#endif
 
 #endif /* _ASM_POWERPC_PERCPU_H_ */

^ permalink raw reply

* Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
From: Ingo Molnar @ 2008-01-30 21:20 UTC (permalink / raw)
  To: Luck, Tony
  Cc: sparclinux, linux-ia64, Linux Kernel Development, Mike Travis,
	Linux/PPC Development, Geert Uytterhoeven, Thomas Gleixner,
	Linus Torvalds
In-Reply-To: <1FE6DD409037234FAB833C420AA843EC758076@orsmsx424.amr.corp.intel.com>


* Luck, Tony <tony.luck@intel.com> wrote:

> I'll start digging on why this doesn't boot ... but you might as well 
> send the fixes so far upstream to Linus so that the SMP fix is 
> available (which is all anyone really cares about ... there are very, 
> very few UP ia64 systems in existence).
> 
> Acked-by: Tony Luck <tony.luck@intel.com>

thanks alot! Can i also add your Acked-by to this patch:

  Subject: ia64: use generic percpu
  From: travis@sgi.com

it seems like a sensible cleanup to me.

	Ingo

^ permalink raw reply

* Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
From: Geoff Levand @ 2008-01-30 21:18 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Luck, Tony, linux-ia64, Linux Kernel Development, Mike Travis,
	Linux/PPC Development, Geert Uytterhoeven, sparclinux,
	Thomas Gleixner, Linus Torvalds
In-Reply-To: <20080130184920.GA32212@elte.hu>

Ingo Molnar wrote:
> * Luck, Tony <tony.luck@intel.com> wrote:
> 
>> > Could you check the patch below? With this applied to latest -git, 
>> > ia64 buils fine for me in a cross-compiling environment. (but i dont 
>> > know whether it boots ...)
>> 
>> Uni-processor build still fails with this patch (config is 
>> arch/ia64/configs/tiger_defconfig with CONFIG_SMP switched from =y to 
>> =n).
> 
> could you try the full patchset that Travis has just sent and which i've 
> put into x86.git, you can pull it from:
> 
>     git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git
> 
> it's a fixes only tree, ontop of Linus-very-latest. Head 4b9e425c25f84. 
> [pull from ssh://master.kernel.org if it's not on git.kernel.org yet, 
> uploaded it this very minute.]

Just FYI, the following diff from the above tree applied to linux-2.6.git
works with ps3_defconfig on the PS3 (powerpc):

  git diff dd430ca20c40ecccd6954a7efd13d4398f507728..3823daf866c272c670dda7dc6179a647da64467f

-Geoff

^ permalink raw reply

* RE: x86/non-x86: percpu, node ids, apic ids x86.git fixup
From: Luck, Tony @ 2008-01-30 21:15 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: sparclinux, linux-ia64, Linux Kernel Development, Mike Travis,
	Linux/PPC Development, Geert Uytterhoeven, Thomas Gleixner,
	Linus Torvalds
In-Reply-To: <20080130205915.GA4562@elte.hu>

> this i believe builds an implicit dependency between the mca_asm.o=20
> position within the image and the ia64_mca_data percpu variable it=20
> accesses - it relies on the immediate 22 addressing mode that has 4MB =
of=20
> scope. Per chance, the .config you sent creates a 14MB image, and the=20
> percpu variables moved too far away for the linker to be able to =
fulfill=20
> this constraint.

Sounds very plausible.

> The workaround is to define PER_CPU_ATTRIBUTES to link percpu =
variables=20
> back into the .percpu section on UP too - which ia64 links specially=20
> into its vmlinux.lds. But ultimately i think the better solution would =

> be to remove this dependency between arch/ia64/kernel/mca_asm.S and =
the=20
> position of the percpu data.

Yup.  That fixes the build ... the resulting binary doesn't boot though =
:-(
I just realized that it has been a while since I tried booting a UP
kernel ... so the problem may be unrelated bitrot elsewhere.

Overall you are right that the mca_asm.S code should not be dependent on
the relative location of the data objects.

I'll start digging on why this doesn't boot ... but you might as well
send the fixes so far upstream to Linus so that the SMP fix is available
(which is all anyone really cares about ... there are very, very few
UP ia64 systems in existence).

Acked-by: Tony Luck <tony.luck@intel.com>


-Tony

^ permalink raw reply

* Re: ndfc ecc byte order
From: Stefan Roese @ 2008-01-30 21:01 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Sean MacLennan
In-Reply-To: <47A0D57C.1000104@pikatech.com>

On Wednesday 30 January 2008, Sean MacLennan wrote:
> There seems to be a byte order conflict between the u-boot and Linux
> ndfc drivers.
>
> u-boot has the following:
>
>     /* The NDFC uses Smart Media (SMC) bytes order*/
>     ecc_code[0] = p[2];
>     ecc_code[1] = p[1];
>     ecc_code[2] = p[3];
>
> the kernel has:
>
>     ecc_code[0] = p[1];
>     ecc_code[1] = p[2];
>     ecc_code[2] = p[3];
>
> I think u-boot has it right since u-boot and kernel software calculated
> ECCs agree. Anybody know a reason *not* to switch to the SMC byte order?

Please take a look at Kconfig

config MTD_NAND_NDFC
	tristate "NDFC NanD Flash Controller"
	depends on 4xx && !PPC_MERGE
	select MTD_NAND_ECC_SMC

So the SMC byte ordering is selected and it should match the version used in 
U-Boot. In Linux the swapping is done in nand_ecc.c.

So it should work correctly in the current configuration. At least I didn't 
notice any problems on all the 4xx platforms I used till now.

Best regards,
Stefan

^ permalink raw reply

* Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
From: Ingo Molnar @ 2008-01-30 20:59 UTC (permalink / raw)
  To: Luck, Tony
  Cc: sparclinux, linux-ia64, Linux Kernel Development, Mike Travis,
	Linux/PPC Development, Geert Uytterhoeven, Thomas Gleixner,
	Linus Torvalds
In-Reply-To: <1FE6DD409037234FAB833C420AA843EC757FC2@orsmsx424.amr.corp.intel.com>


* Luck, Tony <tony.luck@intel.com> wrote:

> > could you send the .config you are using?
> 
> Ok.  Attached.

thanks a ton - this produced a link error here too.

after half an hour of head scratching, the updated patch below solves 
the build problem.

The problem i believe is this code in arch/ia64/kernel/mca_asm.S:

#define GET_IA64_MCA_DATA(reg)                                          \
        GET_THIS_PADDR(reg, ia64_mca_data)                              \
        ;;                                                              \
        ld8 reg=[reg]

this i believe builds an implicit dependency between the mca_asm.o 
position within the image and the ia64_mca_data percpu variable it 
accesses - it relies on the immediate 22 addressing mode that has 4MB of 
scope. Per chance, the .config you sent creates a 14MB image, and the 
percpu variables moved too far away for the linker to be able to fulfill 
this constraint.

The workaround is to define PER_CPU_ATTRIBUTES to link percpu variables 
back into the .percpu section on UP too - which ia64 links specially 
into its vmlinux.lds. But ultimately i think the better solution would 
be to remove this dependency between arch/ia64/kernel/mca_asm.S and the 
position of the percpu data.

Is my analysis correct? Do you like my fix and does the patch build and 
boot on your system? Thanks,

	Ingo

--------------->
Subject: ia64: on UP percpu variables are not small memory model
From: Ingo Molnar <mingo@elte.hu>

Tony says:

| The CONFIG_SMP=n path in ia64 makes quite radical changes ... rather
| than putting all the per-cpu stuff into the top 64K of address space
| and providing a per-cpu TLB mapping for that range to a different
| physical address ... it just makes all the per-cpu stuff link as ordinary
| variables in .data.

the new generic percpu code got confused about this as PER_CPU_ATTRIBUTES
was defined even on UP, so it picked up that small memory model - which
was not possible to get linked. The right fix is to only define that
on SMP. This resolved the build failures in my cross-compiling environment.

also link these variables into the .percpu section - some assembly code 
has offset dependencies.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 include/asm-ia64/percpu.h |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Index: linux-x86.q/include/asm-ia64/percpu.h
===================================================================
--- linux-x86.q.orig/include/asm-ia64/percpu.h
+++ linux-x86.q/include/asm-ia64/percpu.h
@@ -15,18 +15,20 @@
 
 #include <linux/threads.h>
 
+#ifdef CONFIG_SMP
+
 #ifdef HAVE_MODEL_SMALL_ATTRIBUTE
 # define PER_CPU_ATTRIBUTES	__attribute__((__model__ (__small__)))
 #endif
 
-#ifdef CONFIG_SMP
-
 #define __my_cpu_offset	__ia64_per_cpu_var(local_per_cpu_offset)
 
 extern void *per_cpu_init(void);
 
 #else /* ! SMP */
 
+#define PER_CPU_ATTRIBUTES	__attribute__((__section__(".data.percpu")))
+
 #define per_cpu_init()				(__phys_per_cpu_start)
 
 #endif	/* SMP */

^ permalink raw reply

* Errors with compiling sethdlc 1.18
From: Russell McGuire @ 2008-01-30 20:54 UTC (permalink / raw)
  To: linuxppc-embedded

[-- Attachment #1: Type: text/plain, Size: 273 bytes --]

Anyone tried to compile sethdlc lately?

Is there a patch for the kernel <2.6.20+> we're supposed to apply before
compilation?
I have tried it both for DENX and Standard Fedora Core 5, neither will
compile due to errors 
In the data structures, i.e. missing stuff.

-Russ


[-- Attachment #2: Type: text/html, Size: 2207 bytes --]

^ permalink raw reply

* [2.6 patch] powerpc: vdso_do_func_patch{32,64}() must be __init
From: Adrian Bunk @ 2008-01-30 20:03 UTC (permalink / raw)
  To: paulus; +Cc: linuxppc-dev, linux-kernel

This patch fixes the following section mismatches:

<--  snip  -->

...
WARNING: vmlinux.o(.text+0xe49c): Section mismatch in reference from the function .vdso_do_func_patch64() to the function .init.text:.find_symbol64()
WARNING: vmlinux.o(.text+0xe4d0): Section mismatch in reference from the function .vdso_do_func_patch64() to the function .init.text:.find_symbol64()
WARNING: vmlinux.o(.text+0xe56c): Section mismatch in reference from the function .vdso_do_func_patch32() to the function .init.text:.find_symbol32()
WARNING: vmlinux.o(.text+0xe5a0): Section mismatch in reference from the function .vdso_do_func_patch32() to the function .init.text:.find_symbol32()
...

<--  snip  -->

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---

 arch/powerpc/kernel/vdso.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

1c52ed2049b82e8458d03e50633b01ac5e1dfa40 
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
index 3702df7..d3437c4 100644
--- a/arch/powerpc/kernel/vdso.c
+++ b/arch/powerpc/kernel/vdso.c
@@ -336,9 +336,9 @@ static unsigned long __init find_function32(struct lib32_elfinfo *lib,
 	return sym->st_value - VDSO32_LBASE;
 }
 
-static int vdso_do_func_patch32(struct lib32_elfinfo *v32,
-				struct lib64_elfinfo *v64,
-				const char *orig, const char *fix)
+static int __init vdso_do_func_patch32(struct lib32_elfinfo *v32,
+				       struct lib64_elfinfo *v64,
+				       const char *orig, const char *fix)
 {
 	Elf32_Sym *sym32_gen, *sym32_fix;
 
@@ -433,9 +433,9 @@ static unsigned long __init find_function64(struct lib64_elfinfo *lib,
 #endif
 }
 
-static int vdso_do_func_patch64(struct lib32_elfinfo *v32,
-				struct lib64_elfinfo *v64,
-				const char *orig, const char *fix)
+static int __init vdso_do_func_patch64(struct lib32_elfinfo *v32,
+				       struct lib64_elfinfo *v64,
+				       const char *orig, const char *fix)
 {
 	Elf64_Sym *sym64_gen, *sym64_fix;
 

^ permalink raw reply related

* [2.6 patch] hvc_rtas_init() must be __init
From: Adrian Bunk @ 2008-01-30 20:03 UTC (permalink / raw)
  To: paulus; +Cc: linuxppc-dev, linux-kernel

This patch fixes the following section mismatch:

<--  snip  -->

...
WARNING: vmlinux.o(.text+0x2fbca8): Section mismatch in reference from the function .hvc_rtas_init() to the function .devinit.text:.hvc_alloc()
...

<--  snip  -->

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---
1cc00c4ad5c881db2fc256ced43f3b5ce5c76e1c 
diff --git a/drivers/char/hvc_rtas.c b/drivers/char/hvc_rtas.c
index bb09413..88590d0 100644
--- a/drivers/char/hvc_rtas.c
+++ b/drivers/char/hvc_rtas.c
@@ -76,7 +76,7 @@ static struct hv_ops hvc_rtas_get_put_ops = {
 	.put_chars = hvc_rtas_write_console,
 };
 
-static int hvc_rtas_init(void)
+static int __init hvc_rtas_init(void)
 {
 	struct hvc_struct *hp;
 

^ permalink raw reply related

* [2.6 patch] powerpc: free_property() mustn't be __init
From: Adrian Bunk @ 2008-01-30 20:03 UTC (permalink / raw)
  To: paulus; +Cc: linuxppc-dev, linux-kernel

This patch fixes the following section mismatch:

<--  snip  -->

...
WARNING: vmlinux.o(.text+0x55648): Section mismatch in reference from the function .free_node() to the function .init.text:.free_property()
...

<--  snip  -->

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---
99e9b48d8f5aba059916540fc69815db2b60b08d 
diff --git a/arch/powerpc/platforms/iseries/vio.c b/arch/powerpc/platforms/iseries/vio.c
index be06cfd..657b72f 100644
--- a/arch/powerpc/platforms/iseries/vio.c
+++ b/arch/powerpc/platforms/iseries/vio.c
@@ -75,7 +75,7 @@ static struct property *new_property(const char *name, int length,
 	return np;
 }
 
-static void __init free_property(struct property *np)
+static void free_property(struct property *np)
 {
 	kfree(np);
 }

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox