* Re: [PATCH] Wire up sys_sync_file_range() on powerpc
From: David Woodhouse @ 2007-06-16 18:20 UTC (permalink / raw)
To: paulus; +Cc: akpm, linuxppc-dev, torvalds, rmk, linux-arch
In-Reply-To: <1181992681.25228.683.camel@pmac.infradead.org>
On Sat, 2007-06-16 at 12:18 +0100, David Woodhouse wrote:
> Every time I build a ppc kernel it bitches at me that
> sys_sync_file_range is unimplemented. Shut it up...
>
> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
>
> ---
> The compat bit is untested although the assembly looks right, when
> compared with 32-bit calls to sys_sync_file_range(). Test kernel
> building now, although I leave for the airport within 24 hours and may
> not get round to actually testing it.
+asmlinkage long compat_sys_sync_file_range(int fd, int dummy,
+ unsigned offset_hi, unsigned offset_lo,
+ unsigned nbytes_hi, unsigned nbytes_lo,
+ int flags)
Pants. It doesn't work because the 'flags' argument ends up in r9, and
we can only use r3-r8 for syscall arguments. We'll need to do it the
same way as ARM does, with the flags as the second argument.
I _wish_ people would remember that not all the world's an i386 when
they add new syscalls.
And I wish Linus would refuse to merge anything which just says "I wired
it up on i386" without even thinking about 32-on-64 compatibility.
Once we've merged it, it's too late to change the ABI to be sane.
Or is it? Can we ditch sys_sync_file_range now and implement a new
sys_sync_file_range2 with the two 32-bit arguments first?
--
dwmw2
^ permalink raw reply
* Re: Powerbook hard shutdown after boot if it's hot
From: Brad Boyer @ 2007-06-16 16:10 UTC (permalink / raw)
To: Michael Buesch; +Cc: linuxppc-dev
In-Reply-To: <200706161504.41168.mb@bu3sch.de>
On Sat, Jun 16, 2007 at 03:04:41PM +0200, Michael Buesch wrote:
> Where in the kernel code are the PMU messages handled?
The main place to look would be drivers/macintosh/via-pmu.c, and
it looks like the bulk of the work is being done in the function
pmu_handle_data(). You might want to take a look at other parts
of the driver as well.
Brad Boyer
flar@allandria.com
^ permalink raw reply
* version control for dts/dtb?
From: marty @ 2007-06-16 17:44 UTC (permalink / raw)
To: linuxppc-embedded
Is there a wy to figure out the version of the dtb file I'm using?
At a minimum, it would be useful to have a node with the conversion time
stuck somewhere...
I ran dtc to convert binary to source, but that isn't necessarily what I
wanted to look at -- just a single date
code would be sufficient...
marty
^ permalink raw reply
* base system for avnet virtex 4 fx mini module
From: Mohammad Sadegh Sadri @ 2007-06-16 16:01 UTC (permalink / raw)
To: Linux PPC Linux PPC
Dear all,
After brining up linux on ML403 I'm now going toward using AVNET mini modul=
e as the next step
I studied available examples from AVNET and I can not find any suitable bas=
e system with both of TEMAC and Flash memory interfaces available in it.
Does any body here can share his EDK project on AVNET mini module with me? =
Mainly I need a base system with both of Hard TEMAC, PLB TEMAC and EMC flas=
h interface available in it.
thanks for kindness and help,
mohammad sadegh sadri
_________________________________________________________________
Explore the seven wonders of the world
http://search.msn.com/results.aspx?q=3D7+wonders+world&mkt=3Den-US&form=3DQ=
BRE=
^ permalink raw reply
* Re: Powerbook hard shutdown after boot if it's hot
From: Michael Buesch @ 2007-06-16 14:09 UTC (permalink / raw)
To: Segher Boessenkool; +Cc: linuxppc-dev
In-Reply-To: <eb7515dbdeec906704d8139424ceee4a@kernel.crashing.org>
On Saturday 16 June 2007 15:40:39 Segher Boessenkool wrote:
> > I think this powerdown is not really related to the adt chip/driver.
> > I think it's more likely some PMU issue and the PMU forces the machine
> > down. How's the PMU involved into temperatures? Does it get
> > the temperature values from the adt chip?
>
> It is connected to the overtemp alarm interrupt pin of
> the temperature sensors at least.
>
> Does this shutdown only happen if you boot Linux while
> you were running Linux before, too?
No, it also happens, if I heat up the machine in OSX
and boot linux. Booting OSX does not cause it, then.
--
Greetings Michael.
^ permalink raw reply
* Re: Powerbook hard shutdown after boot if it's hot
From: Segher Boessenkool @ 2007-06-16 13:42 UTC (permalink / raw)
To: Michael Buesch; +Cc: linuxppc-dev
In-Reply-To: <200706161506.33589.mb@bu3sch.de>
> Oh, and I completely forgot to say that this problem does
> not exist when booting OSX. So if I try to boot linux and it
> fails because of the issue and I immediately boot OSX it will succeed.
Right -- and if you're running OSX (and run the box hot),
and then boot Linux, does it happen then?
Segher
^ permalink raw reply
* Re: Powerbook hard shutdown after boot if it's hot
From: Segher Boessenkool @ 2007-06-16 13:40 UTC (permalink / raw)
To: Michael Buesch; +Cc: linuxppc-dev
In-Reply-To: <200706161504.41168.mb@bu3sch.de>
> I think this powerdown is not really related to the adt chip/driver.
> I think it's more likely some PMU issue and the PMU forces the machine
> down. How's the PMU involved into temperatures? Does it get
> the temperature values from the adt chip?
It is connected to the overtemp alarm interrupt pin of
the temperature sensors at least.
Does this shutdown only happen if you boot Linux while
you were running Linux before, too?
Segher
^ permalink raw reply
* Re: Powerbook hard shutdown after boot if it's hot
From: Michael Buesch @ 2007-06-16 13:06 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev
In-Reply-To: <200706161504.41168.mb@bu3sch.de>
On Saturday 16 June 2007 15:04:41 Michael Buesch wrote:
> On Saturday 16 June 2007 02:51:13 Benjamin Herrenschmidt wrote:
> > On Thu, 2007-06-14 at 17:39 +0200, Michael Buesch wrote:
> > > Hi,
> > >
> > > I have a strange problem that my Powerbook shuts down hard
> > > right after boot, if the machine is hot.
> > > For example, if I compile a kernel and then want to reboot
> > > into it, it will shutdown the machine right after userspace
> > > is booted. Cooling down the machine will fix the issue.
> > > I first thought this might be a problem with the adt746x
> > > chip driver (thermostat). But this turns out to not be
> > > the case. I disabled the module (put return 0; early into
> > > the module_init function), but the problem still exists.
> > > I'm not sure how to debug this, as I don't see what's
> > > going on. I tried to boot with init=/bin/bash. It will
> > > boot into the shell but shutdown hard after 1 or 2 seconds.
> > > It seems like there is some timer hitting in right after
> > > userspace is up and running (some workqueue?). Strange is
> > > that it _only_ shuts down the machine when it's hot
> > > and it _only_ does this right after boot. If it survived
> > > the first few seconds after boot, it's rock-stable and
> > > it won't show any problems when getting hot (will drive
> > > the fans correctly, etc etc...)
> > >
> > > Any idea how to debug this?
> >
> > Not really, that's weird.. maybe trying to print the values in the adt
> > sensor to see how hot it is vs. the various thresholds set by the
>
> The thresholds are the same as when the machine is cold:
> 81 80 87
>
> I also tried to spinup the fans at full speed on boot (by setting
> the fan_speed variable in the adt driver to 255), but it kills
> the machine before the fans have the ability to spin up.
>
> I also tried to move the 2000ms sleep in the adt monitor task down
> to the bottom of the task function, so it immediately runs the task
> once on boot. But that didn't help either.
>
> I think this powerdown is not really related to the adt chip/driver.
> I think it's more likely some PMU issue and the PMU forces the machine
> down. How's the PMU involved into temperatures? Does it get
> the temperature values from the adt chip?
>
> > firmware ? Maybe the PMU is trying to send us a "high temp" alert via a
> > PMU message we don't know how to parse and expcts us to reply in a given
> > amount of time (for example by slowing the CPU down).
>
> Where in the kernel code are the PMU messages handled?
>
Oh, and I completely forgot to say that this problem does
not exist when booting OSX. So if I try to boot linux and it
fails because of the issue and I immediately boot OSX it will succeed.
--
Greetings Michael.
^ permalink raw reply
* Re: Powerbook hard shutdown after boot if it's hot
From: Michael Buesch @ 2007-06-16 13:04 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev
In-Reply-To: <1181955074.26853.105.camel@localhost.localdomain>
On Saturday 16 June 2007 02:51:13 Benjamin Herrenschmidt wrote:
> On Thu, 2007-06-14 at 17:39 +0200, Michael Buesch wrote:
> > Hi,
> >
> > I have a strange problem that my Powerbook shuts down hard
> > right after boot, if the machine is hot.
> > For example, if I compile a kernel and then want to reboot
> > into it, it will shutdown the machine right after userspace
> > is booted. Cooling down the machine will fix the issue.
> > I first thought this might be a problem with the adt746x
> > chip driver (thermostat). But this turns out to not be
> > the case. I disabled the module (put return 0; early into
> > the module_init function), but the problem still exists.
> > I'm not sure how to debug this, as I don't see what's
> > going on. I tried to boot with init=/bin/bash. It will
> > boot into the shell but shutdown hard after 1 or 2 seconds.
> > It seems like there is some timer hitting in right after
> > userspace is up and running (some workqueue?). Strange is
> > that it _only_ shuts down the machine when it's hot
> > and it _only_ does this right after boot. If it survived
> > the first few seconds after boot, it's rock-stable and
> > it won't show any problems when getting hot (will drive
> > the fans correctly, etc etc...)
> >
> > Any idea how to debug this?
>
> Not really, that's weird.. maybe trying to print the values in the adt
> sensor to see how hot it is vs. the various thresholds set by the
The thresholds are the same as when the machine is cold:
81 80 87
I also tried to spinup the fans at full speed on boot (by setting
the fan_speed variable in the adt driver to 255), but it kills
the machine before the fans have the ability to spin up.
I also tried to move the 2000ms sleep in the adt monitor task down
to the bottom of the task function, so it immediately runs the task
once on boot. But that didn't help either.
I think this powerdown is not really related to the adt chip/driver.
I think it's more likely some PMU issue and the PMU forces the machine
down. How's the PMU involved into temperatures? Does it get
the temperature values from the adt chip?
> firmware ? Maybe the PMU is trying to send us a "high temp" alert via a
> PMU message we don't know how to parse and expcts us to reply in a given
> amount of time (for example by slowing the CPU down).
Where in the kernel code are the PMU messages handled?
--
Greetings Michael.
^ permalink raw reply
* Re: for-2.6.23 branch in powerpc.git created
From: Johannes Berg @ 2007-06-16 12:37 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linuxppc-dev
In-Reply-To: <18034.6787.951861.623265@cargo.ozlabs.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 295 bytes --]
On Fri, 2007-06-15 at 14:50 +1000, Paul Mackerras wrote:
> The patches I put in are listed below. If you have a patch that
> should go in but isn't listed, remind me about it.
You wanted to apply my patch to use mktime instead of rtc-lib, or did
you push it for .22 still?
johannes
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 190 bytes --]
^ permalink raw reply
* [PATCH] Wire up sys_sync_file_range() on powerpc
From: David Woodhouse @ 2007-06-16 11:18 UTC (permalink / raw)
To: paulus, akpm; +Cc: linuxppc-dev
Every time I build a ppc kernel it bitches at me that
sys_sync_file_range is unimplemented. Shut it up...
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
---
The compat bit is untested although the assembly looks right, when
compared with 32-bit calls to sys_sync_file_range(). Test kernel
building now, although I leave for the airport within 24 hours and may
not get round to actually testing it.
diff --git a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
index 047246a..14a2654 100644
--- a/arch/powerpc/kernel/sys_ppc32.c
+++ b/arch/powerpc/kernel/sys_ppc32.c
@@ -810,3 +810,13 @@ asmlinkage long compat_sys_request_key(const char __user *_type,
return sys_request_key(_type, _description, _callout_info, destringid);
}
+asmlinkage long compat_sys_sync_file_range(int fd, int dummy,
+ unsigned offset_hi, unsigned offset_lo,
+ unsigned nbytes_hi, unsigned nbytes_lo,
+ int flags)
+{
+ loff_t offset = ((loff_t)offset_hi << 32) | offset_lo;
+ loff_t nbytes = ((loff_t)nbytes_hi << 32) | nbytes_lo;
+
+ return sys_sync_file_range(fd, offset, nbytes, flags);
+}
diff --git a/include/asm-powerpc/systbl.h b/include/asm-powerpc/systbl.h
index 700ca59..b75ce1c 100644
--- a/include/asm-powerpc/systbl.h
+++ b/include/asm-powerpc/systbl.h
@@ -311,3 +311,4 @@ COMPAT_SYS_SPU(utimensat)
COMPAT_SYS_SPU(signalfd)
COMPAT_SYS_SPU(timerfd)
SYSCALL_SPU(eventfd)
+COMPAT_SYS_SPU(sync_file_range)
diff --git a/include/asm-powerpc/unistd.h b/include/asm-powerpc/unistd.h
index e3c28dc..a4f8e7f 100644
--- a/include/asm-powerpc/unistd.h
+++ b/include/asm-powerpc/unistd.h
@@ -330,10 +330,11 @@
#define __NR_signalfd 305
#define __NR_timerfd 306
#define __NR_eventfd 307
+#define __NR_sync_file_range 308
#ifdef __KERNEL__
-#define __NR_syscalls 308
+#define __NR_syscalls 309
#define __NR__exit __NR_exit
#define NR_syscalls __NR_syscalls
--
dwmw2
^ permalink raw reply related
* Regarding MPC8540 IRQ Issue
From: sudheer @ 2007-06-16 9:27 UTC (permalink / raw)
To: linuxppc-embedded
Hello All
I am working on MPC8540 board placing it in the PCI slot of the x86 system.
After system bootup , i could see the powerpc board detected and pci
config space configured.
But i could not find any IRQ assigned for it.
SetUp:
Host: x86 System- Linux-2.6.9
HOST PCI Slot is 64-bit, 66MHz
Agent: MPC8540 Board.
Here is dump of "lspci -vx " for this device.
04:03.0 Power PC: Motorola MPC8540 (rev 20) (prog-if 01)
Flags: bus master, 66Mhz, fast devsel, latency 64
Memory at dee00000 (32-bit, non-prefetchable) [size=1M]
Capabilities: [60] #00 [0000]
00: 57 10 08 00 46 01 b0 00 20 01 20 0b 00 40 00 00
10: 00 00 e0 de 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 60 00 00 00 00 00 00 00 00 00 00 00
From the above dump - IRQ Pin & Line of config space shows zeroes.
I tried writing a small module and probing for IRQ generating a message
interrupt. Though i could see in the 8540 message status register that
interrupt is generated, i could not get any IRQ when i do the probe. For
this trial, i have configured the PIC message enable register, message
vector/priority and destination registers, processor current task
priority register (CPTR).
Can anyone give me some suggestions to try out.
Thanks
Sudheer
^ permalink raw reply
* [updated PATCH] mpc82xx_ads build fix
From: Arnd Bergmann @ 2007-06-16 9:33 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linuxppc-dev, paulus
In-Reply-To: <20070616173738.d5a7f707.sfr@canb.auug.org.au>
This seems to be a small artifact of the conversion from arch/ppc.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
Index: linux-2.6/arch/powerpc/platforms/82xx/mpc82xx_ads.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/82xx/mpc82xx_ads.c
+++ linux-2.6/arch/powerpc/platforms/82xx/mpc82xx_ads.c
@@ -49,7 +49,7 @@
#include <linux/fs_enet_pd.h>
#include <sysdev/fsl_soc.h>
-#include <../sysdev/cpm2_pic.h>
+#include <sysdev/cpm2_pic.h>
#include "pq2ads.h"
^ permalink raw reply
* Re: [patch 4/9] mpc82xx_ads build fix
From: Stephen Rothwell @ 2007-06-16 7:37 UTC (permalink / raw)
To: arnd; +Cc: linuxppc-dev, paulus
In-Reply-To: <20070616000618.576806652@arndb.de>
[-- Attachment #1: Type: text/plain, Size: 681 bytes --]
On Sat, 16 Jun 2007 02:05:15 +0200 arnd@arndb.de wrote:
>
> needed for 6xx allyesconfig
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> --- linux-2.6.orig/arch/powerpc/platforms/82xx/mpc82xx_ads.c
> +++ linux-2.6/arch/powerpc/platforms/82xx/mpc82xx_ads.c
> @@ -49,7 +49,7 @@
> #include <linux/fs_enet_pd.h>
>
> #include <sysdev/fsl_soc.h>
> -#include <../sysdev/cpm2_pic.h>
> +#include <../../sysdev/cpm2_pic.h>
Does the include of <sysdev/fsl_soc.h> work? If so, then you should use
<sysdev/cpm2_pic.h>. If not, then you have worse problems :-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: [patch 4/6] ps3: Disk Storage Driver
From: Geert Uytterhoeven @ 2007-06-16 6:21 UTC (permalink / raw)
To: David Miller
Cc: axboe, James.Bottomley, linux-scsi, linux-kernel, linuxppc-dev,
paulus, dwmw2, alan
In-Reply-To: <20070615.141917.85409547.davem@davemloft.net>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1664 bytes --]
On Fri, 15 Jun 2007, David Miller wrote:
> From: Alan Cox <alan@lxorguk.ukuu.org.uk>
> Date: Fri, 15 Jun 2007 17:15:45 +0100
>
> > > > Any particular reason why this is done as a separate block device driver
> > > > rather than as SCSI?
> > >
> > > Because no new fake SCSI drivers are accepted anymore.
> >
> > Where did drivers/ata come from ;)
> >
> > How about making it a fake ata driver if James is being fussy 8)
>
> That sounds like a good idea for my virtual I/O case on
> Niagara too actually :-)
>
> Another quirk I have to deal with is that under LDOMs you
> can export full disks and also just slices. So I'll have
> to get down into the partition machinery to support that
> somehow.
The PS3 hypervisor also splits each device in regions (cfr. partitions), with
different access rights depending the OS that runs on top of it. The old
virtual SCSI driver treated each region as a separate LUN.
As currently only one region can be accessed by Linux anyway, I didn't bother
supporting multiple accessible regions in the new storage drivers.
With kind regards,
Geert Uytterhoeven
Software Architect
Sony Network and Software Technology Center Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium
Phone: +32 (0)2 700 8453
Fax: +32 (0)2 700 8622
E-mail: Geert.Uytterhoeven@sonycom.com
Internet: http://www.sony-europe.com/
Sony Network and Software Technology Center Europe
A division of Sony Service Centre (Europe) N.V.
Registered office: Technologielaan 7 · B-1840 Londerzeel · Belgium
VAT BE 0413.825.160 · RPR Brussels
Fortis Bank Zaventem · Swift GEBABEBB08A · IBAN BE39001382358619
^ permalink raw reply
* Re: [PATCH] numa: enforce iommu-off memory address limit
From: Michael Ellerman @ 2007-06-16 4:34 UTC (permalink / raw)
To: Milton Miller; +Cc: linuxppc-dev, paulus
In-Reply-To: <111819287886b8b45671.846930886.miltonm@bga.com>
[-- Attachment #1: Type: text/plain, Size: 1695 bytes --]
On Fri, 2007-06-15 at 12:33 -0500, Milton Miller wrote:
> Don't short circuit the lmb_end_of_DRAM if iommu_is_off.
>
> If linux,iommu-off is in /chosen (because iommu=off was on the command
> line), we limit the memory when adding it to the lmbs and page tables,
> but not when numa parses the device tree for numa affinity. When we
> free bootmem, we then try to use these pages without mapping them or
> allocating supporting data structures resulting in bad_page and/or data
> storage interrupts.
>
> Signed-off-by: Milton Miller <miltonm@bga.com>
> ---
> Paul, I think this can wait for 2.6.23 although its small enough
> if you want to send it for 2.6.22.
>
> Index: kernel/arch/powerpc/mm/numa.c
> ===================================================================
> --- kernel.orig/arch/powerpc/mm/numa.c 2007-06-15 01:10:19.000000000 -0500
> +++ kernel/arch/powerpc/mm/numa.c 2007-06-15 01:41:32.000000000 -0500
> @@ -21,6 +21,7 @@
> #include <asm/lmb.h>
> #include <asm/system.h>
> #include <asm/smp.h>
> +#include <asm/iommu.h>
>
> static int numa_enabled = 1;
>
> @@ -286,7 +287,7 @@ static unsigned long __init numa_enforce
> * having memory holes below the limit.
> */
>
> - if (! memory_limit)
> + if (!memory_limit && !iommu_is_off)
> return size;
I'd rather just remove the check entirely, and rename the routine -
numa_check_end_of_ram() or something.
cheers
--
Michael Ellerman
OzLabs, IBM Australia Development Lab
wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)
We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: [PATCH 3/13] Abolish iopa(), mm_ptov(), io_block_mapping() from arch/powerpc
From: Benjamin Herrenschmidt @ 2007-06-16 0:55 UTC (permalink / raw)
To: David Gibson; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <20070613045254.4ACC0DDE31@ozlabs.org>
On Wed, 2007-06-13 at 14:52 +1000, David Gibson wrote:
> These old-fashioned IO mapping functions no longer have any callers in
> code which remains relevant on arch/powerpc. Therefore, this patch
> removes them from arch/powerpc.
I think we still want a way to setup some hand crafted BATs... maybe a
special flag to pass to ioremap_flags ?
It makes sense to map some heavily accessed on chip register space with
a BAT on embedded. The reason I didn't like io_block_mapping() was
because the virtual address was hard coded. But I don't think we should
throw the baby with the bath water. If we can have it allocate the virt
address using the ioremap_bot trick, that would be a good thing to keep
around.
Ben.
^ permalink raw reply
* Re: Powerbook hard shutdown after boot if it's hot
From: Benjamin Herrenschmidt @ 2007-06-16 0:51 UTC (permalink / raw)
To: Michael Buesch; +Cc: linuxppc-dev
In-Reply-To: <200706141739.12754.mb@bu3sch.de>
On Thu, 2007-06-14 at 17:39 +0200, Michael Buesch wrote:
> Hi,
>
> I have a strange problem that my Powerbook shuts down hard
> right after boot, if the machine is hot.
> For example, if I compile a kernel and then want to reboot
> into it, it will shutdown the machine right after userspace
> is booted. Cooling down the machine will fix the issue.
> I first thought this might be a problem with the adt746x
> chip driver (thermostat). But this turns out to not be
> the case. I disabled the module (put return 0; early into
> the module_init function), but the problem still exists.
> I'm not sure how to debug this, as I don't see what's
> going on. I tried to boot with init=/bin/bash. It will
> boot into the shell but shutdown hard after 1 or 2 seconds.
> It seems like there is some timer hitting in right after
> userspace is up and running (some workqueue?). Strange is
> that it _only_ shuts down the machine when it's hot
> and it _only_ does this right after boot. If it survived
> the first few seconds after boot, it's rock-stable and
> it won't show any problems when getting hot (will drive
> the fans correctly, etc etc...)
>
> Any idea how to debug this?
Not really, that's weird.. maybe trying to print the values in the adt
sensor to see how hot it is vs. the various thresholds set by the
firmware ? Maybe the PMU is trying to send us a "high temp" alert via a
PMU message we don't know how to parse and expcts us to reply in a given
amount of time (for example by slowing the CPU down).
Ben.
^ permalink raw reply
* Re: [patch 00/13] CPU selection Kconfig cleanup, take 3
From: Benjamin Herrenschmidt @ 2007-06-16 0:46 UTC (permalink / raw)
To: Kumar Gala
Cc: Sam Ravnborg, linuxppc-dev, Paul Mackerras, arnd,
Stephen Rothwell
In-Reply-To: <B4E893D5-A61E-4A91-B31C-AF9B7C0B116D@kernel.crashing.org>
On Thu, 2007-06-14 at 08:33 -0500, Kumar Gala wrote:
> On Jun 13, 2007, at 8:46 PM, Paul Mackerras wrote:
>
> > Most of this series of patches touch 8xxx or 5xxx stuff in one way or
> > another, so I'll leave it to Kumar to make the decision about them.
> > I'll put in 1/13.
>
> Arnd,
>
> I'm a little hesitant to move the embedded ppc's over to
> multiplatform quite yet. One feature I wanted was in Kconfig a way
> to enforce the selection of at least one choice, as well as being
> able to optimize things since we only had one choice selected.
>
> See the following thread for discussion I had with Sam & Roman on the
> subject:
>
> http://marc.info/?t=117156757000002&r=1&w=2
I missed that discussion... but without actually reading it (yet), I can
already tell that I don't like the way you propose it. I would much
prefer the CONFIG_xxx_ONLY_ONE be -generated- by the multiple choice
menu if only one choice has been selected.
That could be an optional argument to the menu stuff to set that.
Ben.
^ permalink raw reply
* [patch 9/9] enable multiplatform support for embedded boards
From: arnd @ 2007-06-16 0:05 UTC (permalink / raw)
To: paulus; +Cc: linuxppc-dev
In-Reply-To: <20070616000511.712667424@arndb.de>
This makes it possible to build kernels for any combination of
board types that can coexisting in the same binary. It is for
reference only right now, because there are still concerns
that it might make future optimizations harder to implement.
Cc: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Index: linux-2.6/arch/powerpc/platforms/52xx/Kconfig
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/52xx/Kconfig
+++ linux-2.6/arch/powerpc/platforms/52xx/Kconfig
@@ -1,38 +1,35 @@
config PPC_MPC52xx
- bool
+ bool "Freescale 52xx"
select FSL_SOC
- default n
-
-config PPC_MPC5200
- bool
- select PPC_MPC52xx
- default n
-
-config PPC_MPC5200_BUGFIX
- bool "MPC5200 (L25R) bugfix support"
- depends on PPC_MPC5200
- default n
- help
- Enable workarounds for original MPC5200 errata. This is not required
- for MPC5200B based boards.
-
- It is safe to say 'Y' here
+ depends on 6xx
config PPC_EFIKA
bool "bPlan Efika 5k2. MPC5200B based computer"
- depends on PPC_MULTIPLATFORM && PPC32
+ depends on PPC_MPC52xx
select PPC_RTAS
select RTAS_PROC
- select PPC_MPC52xx
select PPC_NATIVE
select CPU_603e
default n
config PPC_LITE5200
bool "Freescale Lite5200 Eval Board"
- depends on PPC_MULTIPLATFORM && PPC32
+ depends on PPC_MPC52xx
select PPC_MPC5200
select CPU_603e
default n
+config PPC_MPC5200
+ bool
+ depends on PPC_MPC52xx
+ default n
+
+config PPC_MPC5200_BUGFIX
+ bool "MPC5200 (L25R) bugfix support"
+ depends on PPC_MPC5200
+ default n
+ help
+ Enable workarounds for original MPC5200 errata. This is not required
+ for MPC5200B based boards.
+ It is safe to say 'Y' here
Index: linux-2.6/arch/powerpc/platforms/82xx/Kconfig
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/82xx/Kconfig
+++ linux-2.6/arch/powerpc/platforms/82xx/Kconfig
@@ -1,21 +1,19 @@
-choice
- prompt "82xx Board Type"
- depends on PPC_82xx
- default MPC82xx_ADS
+config PPC_82xx
+ bool "Freescale 82xx"
+ depends on PPC_MULTIPLATFORM && 6xx
+ select CPU_603e
config MPC82xx_ADS
bool "Freescale MPC82xx ADS"
+ depends on PPC_82xx
select DEFAULT_UIMAGE
select PQ2ADS
select 8272
select 8260
select FSL_SOC
- select CPU_603e
help
This option enables support for the MPC8272 ADS board
-endchoice
-
config PQ2ADS
bool
default n
Index: linux-2.6/arch/powerpc/platforms/83xx/Kconfig
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/Kconfig
+++ linux-2.6/arch/powerpc/platforms/83xx/Kconfig
@@ -1,35 +1,38 @@
-choice
- prompt "83xx Board Type"
- depends on PPC_83xx
- default MPC834x_MDS
+config PPC_83xx
+ bool "Freescale 83xx"
+ depends on PPC_MULTIPLATFORM && 6xx
+ select FSL_SOC
+ select 83xx
+ select WANT_DEVICE_TREE
+ select CPU_603e
config MPC8313_RDB
bool "Freescale MPC8313 RDB"
+ depends on PPC_83xx
select DEFAULT_UIMAGE
- select CPU_603e
help
This option enables support for the MPC8313 RDB board.
config MPC832x_MDS
bool "Freescale MPC832x MDS"
+ depends on PPC_83xx
select DEFAULT_UIMAGE
select QUICC_ENGINE
- select CPU_603e
help
This option enables support for the MPC832x MDS evaluation board.
config MPC832x_RDB
bool "Freescale MPC832x RDB"
+ depends on PPC_83xx
select DEFAULT_UIMAGE
select QUICC_ENGINE
- select CPU_603e
help
This option enables support for the MPC8323 RDB board.
config MPC834x_MDS
bool "Freescale MPC834x MDS"
+ depends on PPC_83xx
select DEFAULT_UIMAGE
- select CPU_603e
help
This option enables support for the MPC 834x MDS evaluation board.
@@ -40,8 +43,8 @@ config MPC834x_MDS
config MPC834x_ITX
bool "Freescale MPC834x ITX"
+ depends on PPC_83xx
select DEFAULT_UIMAGE
- select CPU_603e
help
This option enables support for the MPC 834x ITX evaluation board.
@@ -50,14 +53,12 @@ config MPC834x_ITX
config MPC836x_MDS
bool "Freescale MPC836x MDS"
+ depends on PPC_83xx
select DEFAULT_UIMAGE
select QUICC_ENGINE
- select CPU_603e
help
This option enables support for the MPC836x MDS Processor Board.
-endchoice
-
config PPC_MPC831x
bool
select PPC_UDBG_16550
Index: linux-2.6/arch/powerpc/platforms/85xx/Kconfig
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/Kconfig
+++ linux-2.6/arch/powerpc/platforms/85xx/Kconfig
@@ -1,28 +1,27 @@
-choice
- prompt "Machine Type"
- depends on PPC_85xx
- default MPC8540_ADS
-
config MPC8540_ADS
bool "Freescale MPC8540 ADS"
+ depends on PPC_85xx
select DEFAULT_UIMAGE
help
This option enables support for the MPC 8540 ADS board
config MPC8560_ADS
bool "Freescale MPC8560 ADS"
+ depends on PPC_85xx
select DEFAULT_UIMAGE
help
This option enables support for the MPC 8560 ADS board
config MPC85xx_CDS
bool "Freescale MPC85xx CDS"
+ depends on PPC_85xx
select DEFAULT_UIMAGE
help
This option enables support for the MPC85xx CDS board
config MPC85xx_MDS
bool "Freescale MPC85xx MDS"
+ depends on PPC_85xx
select DEFAULT_UIMAGE
# select QUICC_ENGINE
help
@@ -30,12 +29,11 @@ config MPC85xx_MDS
config MPC8544_DS
bool "Freescale MPC8544 DS"
+ depends on PPC_85xx
select DEFAULT_UIMAGE
help
This option enables support for the MPC8544 DS board
-endchoice
-
config MPC8540
bool
select PPC_UDBG_16550
Index: linux-2.6/arch/powerpc/platforms/86xx/Kconfig
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/86xx/Kconfig
+++ linux-2.6/arch/powerpc/platforms/86xx/Kconfig
@@ -1,18 +1,21 @@
-choice
- prompt "86xx Board Type"
- depends on PPC_86xx
- default MPC8641_HPCN
+config PPC_86xx
+ bool "Freescale 86xx"
+ depends on PPC_MULTIPLATFORM && 6xx
+ select FSL_SOC
+ select FSL_PCIE
+ select ALTIVEC
+ select CPU_74xx
+ help
+ The Freescale E600 SoCs have 74xx cores.
config MPC8641_HPCN
bool "Freescale MPC8641 HPCN"
+ depends on PPC_86xx
select PPC_I8259
select DEFAULT_UIMAGE
- select CPU_74xx
help
This option enables support for the MPC8641 HPCN board.
-endchoice
-
config MPC8641
bool
select PPC_INDIRECT_PCI
Index: linux-2.6/arch/powerpc/platforms/Kconfig
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/Kconfig
+++ linux-2.6/arch/powerpc/platforms/Kconfig
@@ -1,50 +1,16 @@
menu "Platform support"
-choice
- prompt "Machine type"
- depends on PPC64 || 6xx
- default PPC_MULTIPLATFORM
-
config PPC_MULTIPLATFORM
- bool "Generic desktop/server/laptop"
- help
- Select this option if configuring for an IBM pSeries or
- RS/6000 machine, an Apple machine, or a PReP, CHRP,
- Maple or Cell-based machine.
-
-config EMBEDDED6xx
- bool "Embedded 6xx/7xx/7xxx-based board"
- depends on PPC32 && (BROKEN||BROKEN_ON_SMP)
-
-config PPC_82xx
- bool "Freescale 82xx"
- depends on 6xx
-
-config PPC_83xx
- bool "Freescale 83xx"
- depends on 6xx
- select FSL_SOC
- select 83xx
- select WANT_DEVICE_TREE
-
-config PPC_86xx
- bool "Freescale 86xx"
- depends on 6xx
- select FSL_SOC
- select FSL_PCIE
- select ALTIVEC
- help
- The Freescale E600 SoCs have 74xx cores.
-endchoice
+ def_bool y
+ depends on 6xx || PPC64
config CLASSIC32
def_bool y
- depends on 6xx && PPC_MULTIPLATFORM
+ depends on 6xx
source "arch/powerpc/platforms/pseries/Kconfig"
source "arch/powerpc/platforms/iseries/Kconfig"
source "arch/powerpc/platforms/chrp/Kconfig"
-source "arch/powerpc/platforms/52xx/Kconfig"
source "arch/powerpc/platforms/powermac/Kconfig"
source "arch/powerpc/platforms/prep/Kconfig"
source "arch/powerpc/platforms/maple/Kconfig"
@@ -53,6 +19,7 @@ source "arch/powerpc/platforms/celleb/Kc
source "arch/powerpc/platforms/ps3/Kconfig"
source "arch/powerpc/platforms/cell/Kconfig"
source "arch/powerpc/platforms/8xx/Kconfig"
+source "arch/powerpc/platforms/52xx/Kconfig"
source "arch/powerpc/platforms/82xx/Kconfig"
source "arch/powerpc/platforms/83xx/Kconfig"
source "arch/powerpc/platforms/85xx/Kconfig"
Index: linux-2.6/arch/powerpc/platforms/embedded6xx/Kconfig
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/embedded6xx/Kconfig
+++ linux-2.6/arch/powerpc/platforms/embedded6xx/Kconfig
@@ -1,9 +1,11 @@
-choice
- prompt "Machine Type"
- depends on EMBEDDED6xx
+config EMBEDDED6xx
+ bool "Embedded 6xx"
+ depends on 6xx
config LINKSTATION
bool "Linkstation / Kurobox(HG) from Buffalo"
+ depends on EMBEDDED6xx
+ depends on (BROKEN || BROKEN_ON_SMP)
select MPIC
select FSL_SOC
select PPC_UDBG_16550 if SERIAL_8250
@@ -18,6 +20,8 @@ config LINKSTATION
config MPC7448HPC2
bool "Freescale MPC7448HPC2(Taiga)"
+ depends on EMBEDDED6xx
+ depends on (BROKEN || BROKEN_ON_SMP)
select PCI
select TSI108_BRIDGE
select DEFAULT_UIMAGE
@@ -29,6 +33,7 @@ config MPC7448HPC2
config PPC_HOLLY
bool "PPC750GX/CL with TSI10x bridge (Hickory/Holly)"
+ depends on EMBEDDED6xx
select TSI108_BRIDGE
select PPC_UDBG_16550
select CPU_7xx
@@ -39,13 +44,13 @@ config PPC_HOLLY
config PPC_PRPMC2800
bool "Motorola-PrPMC2800"
+ depends on EMBEDDED6xx
select MV64X60
select NOT_COHERENT_CACHE
select WANT_DEVICE_TREE
select CPU_74xx
help
This option enables support for the Motorola PrPMC2800 board
-endchoice
config TSI108_BRIDGE
bool
--
^ permalink raw reply
* [patch 3/9] rename add_bridge to avoid namespace clashes
From: arnd @ 2007-06-16 0:05 UTC (permalink / raw)
To: paulus; +Cc: linuxppc-dev
In-Reply-To: <20070616000511.712667424@arndb.de>
Many platforms currently define their own add_bridge function, some
of them globally. This breaks some multiplatform configurations.
Prefixing each of these functions with the platform name avoids
this problem.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Index: linux-2.6/arch/powerpc/platforms/82xx/mpc82xx_ads.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/82xx/mpc82xx_ads.c
+++ linux-2.6/arch/powerpc/platforms/82xx/mpc82xx_ads.c
@@ -515,7 +515,7 @@ static int m82xx_pci_exclude_device(u_ch
return PCIBIOS_SUCCESSFUL;
}
-void __init add_bridge(struct device_node *np)
+static void __init mpc82xx_add_bridge(struct device_node *np)
{
int len;
struct pci_controller *hose;
@@ -584,7 +584,7 @@ static void __init mpc82xx_ads_setup_arc
#ifdef CONFIG_PCI
ppc_md.pci_exclude_device = m82xx_pci_exclude_device;
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
- add_bridge(np);
+ mpc82xx_add_bridge(np);
of_node_put(np);
#endif
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc836x_mds.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc836x_mds.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc836x_mds.c
@@ -86,7 +86,7 @@ static void __init mpc836x_mds_setup_arc
#ifdef CONFIG_PCI
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
- add_bridge(np);
+ mpc83xx_add_bridge(np);
ppc_md.pci_exclude_device = mpc83xx_exclude_device;
#endif
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc83xx.h
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc83xx.h
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc83xx.h
@@ -27,7 +27,7 @@
* mpc83xx_* files. Mostly for use by mpc83xx_setup
*/
-extern int add_bridge(struct device_node *dev);
+extern int mpc83xx_add_bridge(struct device_node *dev);
extern int mpc83xx_exclude_device(u_char bus, u_char devfn);
extern void mpc83xx_restart(char *cmd);
extern long mpc83xx_time_init(void);
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc8313_rdb.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc8313_rdb.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc8313_rdb.c
@@ -49,7 +49,7 @@ static void __init mpc8313_rdb_setup_arc
#ifdef CONFIG_PCI
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
- add_bridge(np);
+ mpc83xx_add_bridge(np);
ppc_md.pci_exclude_device = mpc83xx_exclude_device;
#endif
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc832x_mds.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc832x_mds.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc832x_mds.c
@@ -80,7 +80,7 @@ static void __init mpc832x_sys_setup_arc
#ifdef CONFIG_PCI
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
- add_bridge(np);
+ mpc83xx_add_bridge(np);
ppc_md.pci_exclude_device = mpc83xx_exclude_device;
#endif
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc832x_rdb.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc832x_rdb.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc832x_rdb.c
@@ -53,7 +53,7 @@ static void __init mpc832x_rdb_setup_arc
#ifdef CONFIG_PCI
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
- add_bridge(np);
+ mpc83xx_add_bridge(np);
ppc_md.pci_exclude_device = mpc83xx_exclude_device;
#endif
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc834x_itx.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc834x_itx.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc834x_itx.c
@@ -59,7 +59,7 @@ static void __init mpc834x_itx_setup_arc
#ifdef CONFIG_PCI
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
- add_bridge(np);
+ mpc83xx_add_bridge(np);
ppc_md.pci_exclude_device = mpc83xx_exclude_device;
#endif
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc834x_mds.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc834x_mds.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc834x_mds.c
@@ -129,7 +129,7 @@ static void __init mpc834x_mds_setup_arc
#ifdef CONFIG_PCI
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
- add_bridge(np);
+ mpc83xx_add_bridge(np);
ppc_md.pci_exclude_device = mpc83xx_exclude_device;
#endif
Index: linux-2.6/arch/powerpc/platforms/83xx/pci.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/pci.c
+++ linux-2.6/arch/powerpc/platforms/83xx/pci.c
@@ -45,7 +45,7 @@ int mpc83xx_exclude_device(u_char bus, u
return PCIBIOS_SUCCESSFUL;
}
-int __init add_bridge(struct device_node *dev)
+int __init mpc83xx_add_bridge(struct device_node *dev)
{
int len;
struct pci_controller *hose;
Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx.h
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx.h
+++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx.h
@@ -15,4 +15,4 @@
*/
extern void mpc85xx_restart(char *);
-extern int add_bridge(struct device_node *dev);
+extern int mpc85xx_add_bridge(struct device_node *dev);
Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_ads.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_ads.c
+++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_ads.c
@@ -241,7 +241,7 @@ static void __init mpc85xx_ads_setup_arc
#ifdef CONFIG_PCI
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
- add_bridge(np);
+ mpc85xx_add_bridge(np);
ppc_md.pci_exclude_device = mpc85xx_exclude_device;
#endif
}
Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_cds.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_cds.c
+++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_cds.c
@@ -257,7 +257,7 @@ static void __init mpc85xx_cds_setup_arc
#ifdef CONFIG_PCI
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
- add_bridge(np);
+ mpc85xx_add_bridge(np);
ppc_md.pcibios_fixup = mpc85xx_cds_pcibios_fixup;
ppc_md.pci_exclude_device = mpc85xx_exclude_device;
Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_mds.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_mds.c
+++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_mds.c
@@ -100,7 +100,7 @@ static void __init mpc85xx_mds_setup_arc
#ifdef CONFIG_PCI
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;) {
- add_bridge(np);
+ mpc85xx_add_bridge(np);
}
of_node_put(np);
#endif
Index: linux-2.6/arch/powerpc/platforms/85xx/pci.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/pci.c
+++ linux-2.6/arch/powerpc/platforms/85xx/pci.c
@@ -36,7 +36,7 @@
int mpc85xx_pci2_busno = 0;
#ifdef CONFIG_PCI
-int __init add_bridge(struct device_node *dev)
+int __init mpc85xx_add_bridge(struct device_node *dev)
{
int len;
struct pci_controller *hose;
Index: linux-2.6/arch/powerpc/platforms/86xx/mpc86xx.h
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/86xx/mpc86xx.h
+++ linux-2.6/arch/powerpc/platforms/86xx/mpc86xx.h
@@ -15,7 +15,7 @@
* mpc86xx_* files. Mostly for use by mpc86xx_setup().
*/
-extern int add_bridge(struct device_node *dev);
+extern int mpc86xx_add_bridge(struct device_node *dev);
extern int mpc86xx_exclude_device(u_char bus, u_char devfn);
Index: linux-2.6/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
+++ linux-2.6/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
@@ -364,7 +364,7 @@ mpc86xx_hpcn_setup_arch(void)
#ifdef CONFIG_PCI
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
- add_bridge(np);
+ mpc86xx_add_bridge(np);
ppc_md.pci_exclude_device = mpc86xx_exclude_device;
#endif
Index: linux-2.6/arch/powerpc/platforms/86xx/pci.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/86xx/pci.c
+++ linux-2.6/arch/powerpc/platforms/86xx/pci.c
@@ -148,7 +148,7 @@ int mpc86xx_exclude_device(u_char bus, u
return PCIBIOS_SUCCESSFUL;
}
-int __init add_bridge(struct device_node *dev)
+int __init mpc86xx_add_bridge(struct device_node *dev)
{
int len;
struct pci_controller *hose;
Index: linux-2.6/arch/powerpc/platforms/embedded6xx/linkstation.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/embedded6xx/linkstation.c
+++ linux-2.6/arch/powerpc/platforms/embedded6xx/linkstation.c
@@ -54,7 +54,7 @@ static struct mtd_partition linkstation_
},
};
-static int __init add_bridge(struct device_node *dev)
+static int __init linkstation_add_bridge(struct device_node *dev)
{
int len;
struct pci_controller *hose;
@@ -92,7 +92,7 @@ static void __init linkstation_setup_arc
/* Lookup PCI host bridges */
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
- add_bridge(np);
+ linkstation_add_bridge(np);
printk(KERN_INFO "BUFFALO Network Attached Storage Series\n");
printk(KERN_INFO "(C) 2002-2005 BUFFALO INC.\n");
Index: linux-2.6/arch/powerpc/platforms/maple/pci.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/maple/pci.c
+++ linux-2.6/arch/powerpc/platforms/maple/pci.c
@@ -444,7 +444,7 @@ static void __init setup_u3_ht(struct pc
u3_ht = hose;
}
-static int __init add_bridge(struct device_node *dev)
+static int __init maple_add_bridge(struct device_node *dev)
{
int len;
struct pci_controller *hose;
@@ -541,7 +541,7 @@ void __init maple_pci_init(void)
continue;
if ((of_device_is_compatible(np, "u4-pcie") ||
of_device_is_compatible(np, "u3-agp")) &&
- add_bridge(np) == 0)
+ maple_add_bridge(np) == 0)
of_node_get(np);
if (of_device_is_compatible(np, "u3-ht")) {
@@ -553,7 +553,7 @@ void __init maple_pci_init(void)
/* Now setup the HyperTransport host if we found any
*/
- if (ht && add_bridge(ht) != 0)
+ if (ht && maple_add_bridge(ht) != 0)
of_node_put(ht);
/* Setup the linkage between OF nodes and PHBs */
Index: linux-2.6/arch/powerpc/platforms/pasemi/pci.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/pasemi/pci.c
+++ linux-2.6/arch/powerpc/platforms/pasemi/pci.c
@@ -132,7 +132,7 @@ static void __init setup_pa_pxp(struct p
hose->cfg_data = ioremap(0xe0000000, 0x10000000);
}
-static int __init add_bridge(struct device_node *dev)
+static int __init pas_add_bridge(struct device_node *dev)
{
struct pci_controller *hose;
@@ -167,7 +167,7 @@ void __init pas_pci_init(void)
}
for (np = NULL; (np = of_get_next_child(root, np)) != NULL;)
- if (np->name && !strcmp(np->name, "pxp") && !add_bridge(np))
+ if (np->name && !strcmp(np->name, "pxp") && !pas_add_bridge(np))
of_node_get(np);
of_node_put(root);
Index: linux-2.6/arch/powerpc/platforms/powermac/pci.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/powermac/pci.c
+++ linux-2.6/arch/powerpc/platforms/powermac/pci.c
@@ -35,8 +35,6 @@
#define DBG(x...)
#endif
-static int add_bridge(struct device_node *dev);
-
/* XXX Could be per-controller, but I don't think we risk anything by
* assuming we won't have both UniNorth and Bandit */
static int has_uninorth;
@@ -897,7 +895,7 @@ static void __init setup_u3_ht(struct pc
* "pci" (a MPC106) and no bandit or chaos bridges, and contrariwise,
* if we have one or more bandit or chaos bridges, we don't have a MPC106.
*/
-static int __init add_bridge(struct device_node *dev)
+static int __init pmac_add_bridge(struct device_node *dev)
{
int len;
struct pci_controller *hose;
@@ -1023,7 +1021,7 @@ void __init pmac_pci_init(void)
if (strcmp(np->name, "bandit") == 0
|| strcmp(np->name, "chaos") == 0
|| strcmp(np->name, "pci") == 0) {
- if (add_bridge(np) == 0)
+ if (pmac_add_bridge(np) == 0)
of_node_get(np);
}
if (strcmp(np->name, "ht") == 0) {
@@ -1037,7 +1035,7 @@ void __init pmac_pci_init(void)
/* Probe HT last as it relies on the agp resources to be already
* setup
*/
- if (ht && add_bridge(ht) != 0)
+ if (ht && pmac_add_bridge(ht) != 0)
of_node_put(ht);
/* Setup the linkage between OF nodes and PHBs */
--
^ permalink raw reply
* [patch 6/9] fix building without PCI
From: arnd @ 2007-06-16 0:05 UTC (permalink / raw)
To: paulus; +Cc: linuxppc-dev
In-Reply-To: <20070616000511.712667424@arndb.de>
Some code looks can be configured to be built without
PCI support, but does not work properly.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Index: linux-2.6/arch/powerpc/platforms/52xx/efika.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/52xx/efika.c
+++ linux-2.6/arch/powerpc/platforms/52xx/efika.c
@@ -252,6 +252,8 @@ define_machine(efika)
.progress = rtas_progress,
.get_boot_time = rtas_get_boot_time,
.calibrate_decr = generic_calibrate_decr,
+#ifdef CONFIG_PCI
.phys_mem_access_prot = pci_phys_mem_access_prot,
+#endif
};
Index: linux-2.6/arch/powerpc/platforms/embedded6xx/linkstation.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/embedded6xx/linkstation.c
+++ linux-2.6/arch/powerpc/platforms/embedded6xx/linkstation.c
@@ -56,6 +56,7 @@ static struct mtd_partition linkstation_
static int __init linkstation_add_bridge(struct device_node *dev)
{
+#ifdef CONFIG_PCI
int len;
struct pci_controller *hose;
const int *bus_range;
@@ -78,7 +79,7 @@ static int __init linkstation_add_bridge
/* Interpret the "ranges" property */
/* This also maps the I/O region and sets isa_io/mem_base */
pci_process_bridge_OF_ranges(hose, dev, 1);
-
+#endif
return 0;
}
--
^ permalink raw reply
* [patch 8/9] fix conflicting mpc85xx board headers
From: arnd @ 2007-06-16 0:05 UTC (permalink / raw)
To: paulus; +Cc: linuxppc-dev
In-Reply-To: <20070616000511.712667424@arndb.de>
In order to allow multiplatform kernels, we can not have header
files that define the same symbols. Probably these board specific
headers should just go away entirely, but for the easiest fix
is to rename the conflicting symbols.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_ads.h
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_ads.h
+++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_ads.h
@@ -29,14 +29,14 @@
#define MPC85xx_CPM_OFFSET (0x80000)
#define CPM_MAP_ADDR (get_immrbase() + MPC85xx_CPM_OFFSET)
-#define CPM_IRQ_OFFSET 60
+#define MPC85xxADS_CPM_IRQ_OFFSET 60
-#define SIU_INT_SMC1 ((uint)0x04+CPM_IRQ_OFFSET)
-#define SIU_INT_SMC2 ((uint)0x05+CPM_IRQ_OFFSET)
-#define SIU_INT_SCC1 ((uint)0x28+CPM_IRQ_OFFSET)
-#define SIU_INT_SCC2 ((uint)0x29+CPM_IRQ_OFFSET)
-#define SIU_INT_SCC3 ((uint)0x2a+CPM_IRQ_OFFSET)
-#define SIU_INT_SCC4 ((uint)0x2b+CPM_IRQ_OFFSET)
+#define SIU_INT_SMC1 ((uint)0x04+MPC85xxADS_CPM_IRQ_OFFSET)
+#define SIU_INT_SMC2 ((uint)0x05+MPC85xxADS_CPM_IRQ_OFFSET)
+#define SIU_INT_SCC1 ((uint)0x28+MPC85xxADS_CPM_IRQ_OFFSET)
+#define SIU_INT_SCC2 ((uint)0x29+MPC85xxADS_CPM_IRQ_OFFSET)
+#define SIU_INT_SCC3 ((uint)0x2a+MPC85xxADS_CPM_IRQ_OFFSET)
+#define SIU_INT_SCC4 ((uint)0x2b+MPC85xxADS_CPM_IRQ_OFFSET)
/* FCC1 Clock Source Configuration. These can be
* redefined in the board specific file.
Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_cds.h
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_cds.h
+++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_cds.h
@@ -36,7 +36,7 @@
#define PIRQ1A MPC85xx_IRQ_EXT11
#define NR_8259_INTS 16
-#define CPM_IRQ_OFFSET NR_8259_INTS
+#define MPC85xxCDS_CPM_IRQ_OFFSET NR_8259_INTS
#define MPC85xx_OPENPIC_IRQ_OFFSET 80
--
^ permalink raw reply
* [patch 4/9] mpc82xx_ads build fix
From: arnd @ 2007-06-16 0:05 UTC (permalink / raw)
To: paulus; +Cc: linuxppc-dev
In-Reply-To: <20070616000511.712667424@arndb.de>
needed for 6xx allyesconfig
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
--- linux-2.6.orig/arch/powerpc/platforms/82xx/mpc82xx_ads.c
+++ linux-2.6/arch/powerpc/platforms/82xx/mpc82xx_ads.c
@@ -49,7 +49,7 @@
#include <linux/fs_enet_pd.h>
#include <sysdev/fsl_soc.h>
-#include <../sysdev/cpm2_pic.h>
+#include <../../sysdev/cpm2_pic.h>
#include "pq2ads.h"
--
^ permalink raw reply
* [patch 5/9] kill isa_{io,mem}_base definitions for !PCI
From: arnd @ 2007-06-16 0:05 UTC (permalink / raw)
To: paulus; +Cc: linuxppc-dev
In-Reply-To: <20070616000511.712667424@arndb.de>
When CONFIG_PCI is disabled, the definitions for isa_io_base,
isa_mem_base and pci_dram_offset are entirely unused, but they
can result in link failure because they are defined in multiple
places.
The easiest fix is to just remove all these definitions.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc8313_rdb.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc8313_rdb.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc8313_rdb.c
@@ -28,11 +28,6 @@
#define DBG(fmt...)
#endif
-#ifndef CONFIG_PCI
-unsigned long isa_io_base = 0;
-unsigned long isa_mem_base = 0;
-#endif
-
/* ************************************************************************
*
* Setup the architecture
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc832x_mds.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc832x_mds.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc832x_mds.c
@@ -49,11 +49,6 @@
#define DBG(fmt...)
#endif
-#ifndef CONFIG_PCI
-unsigned long isa_io_base = 0;
-unsigned long isa_mem_base = 0;
-#endif
-
static u8 *bcsr_regs = NULL;
/* ************************************************************************
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc832x_rdb.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc832x_rdb.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc832x_rdb.c
@@ -32,11 +32,6 @@
#define DBG(fmt...)
#endif
-#ifndef CONFIG_PCI
-unsigned long isa_io_base = 0;
-unsigned long isa_mem_base = 0;
-#endif
-
/* ************************************************************************
*
* Setup the architecture
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc834x_itx.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc834x_itx.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc834x_itx.c
@@ -38,11 +38,6 @@
#include "mpc83xx.h"
-#ifndef CONFIG_PCI
-unsigned long isa_io_base = 0;
-unsigned long isa_mem_base = 0;
-#endif
-
/* ************************************************************************
*
* Setup the architecture
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc834x_mds.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc834x_mds.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc834x_mds.c
@@ -38,11 +38,6 @@
#include "mpc83xx.h"
-#ifndef CONFIG_PCI
-unsigned long isa_io_base = 0;
-unsigned long isa_mem_base = 0;
-#endif
-
#define BCSR5_INT_USB 0x02
/* Note: This is only for PB, not for PB+PIB
* On PB only port0 is connected using ULPI */
Index: linux-2.6/arch/powerpc/platforms/83xx/mpc836x_mds.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/83xx/mpc836x_mds.c
+++ linux-2.6/arch/powerpc/platforms/83xx/mpc836x_mds.c
@@ -55,11 +55,6 @@
#define DBG(fmt...)
#endif
-#ifndef CONFIG_PCI
-unsigned long isa_io_base = 0;
-unsigned long isa_mem_base = 0;
-#endif
-
static u8 *bcsr_regs = NULL;
/* ************************************************************************
Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_ads.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_ads.c
+++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_ads.c
@@ -38,11 +38,6 @@
#include <asm/fs_pd.h>
#endif
-#ifndef CONFIG_PCI
-unsigned long isa_io_base = 0;
-unsigned long isa_mem_base = 0;
-#endif
-
#ifdef CONFIG_PCI
static int mpc85xx_exclude_device(u_char bus, u_char devfn)
{
Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_cds.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_cds.c
+++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_cds.c
@@ -47,11 +47,6 @@
#include <sysdev/fsl_soc.h>
#include "mpc85xx.h"
-#ifndef CONFIG_PCI
-unsigned long isa_io_base = 0;
-unsigned long isa_mem_base = 0;
-#endif
-
static int cds_pci_slot = 2;
static volatile u8 *cadmus;
Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_mds.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_mds.c
+++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_mds.c
@@ -59,11 +59,6 @@
#define DBG(fmt...)
#endif
-#ifndef CONFIG_PCI
-unsigned long isa_io_base = 0;
-unsigned long isa_mem_base = 0;
-#endif
-
/* ************************************************************************
*
* Setup the architecture
Index: linux-2.6/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
+++ linux-2.6/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
@@ -44,13 +44,6 @@
#define DBG(fmt...) do { } while(0)
#endif
-#ifndef CONFIG_PCI
-unsigned long isa_io_base = 0;
-unsigned long isa_mem_base = 0;
-unsigned long pci_dram_offset = 0;
-#endif
-
-
#ifdef CONFIG_PCI
static void mpc86xx_8259_cascade(unsigned int irq, struct irq_desc *desc)
{
Index: linux-2.6/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
+++ linux-2.6/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
@@ -54,12 +54,6 @@
#define MPC7448HPC2_PCI_CFG_PHYS 0xfb000000
-#ifndef CONFIG_PCI
-isa_io_base = MPC7448_HPC2_ISA_IO_BASE;
-isa_mem_base = MPC7448_HPC2_ISA_MEM_BASE;
-pci_dram_offset = MPC7448_HPC2_PCI_MEM_OFFSET;
-#endif
-
extern void _nmask_and_or_msr(unsigned long nmask, unsigned long or_val);
int mpc7448_hpc2_exclude_device(u_char bus, u_char devfn)
Index: linux-2.6/include/asm-powerpc/mpc86xx.h
===================================================================
--- linux-2.6.orig/include/asm-powerpc/mpc86xx.h
+++ linux-2.6/include/asm-powerpc/mpc86xx.h
@@ -19,12 +19,6 @@
#ifdef CONFIG_PPC_86xx
-#define _IO_BASE isa_io_base
-#define _ISA_MEM_BASE isa_mem_base
-#ifdef CONFIG_PCI
-#define PCI_DRAM_OFFSET pci_dram_offset
-#endif
-
#define CPU0_BOOT_RELEASE 0x01000000
#define CPU1_BOOT_RELEASE 0x02000000
#define CPU_ALL_RELEASED (CPU0_BOOT_RELEASE | CPU1_BOOT_RELEASE)
--
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox