LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] [POWERPC] Update TQM5200, CM5200 and Motion-PRO _defconfig and .dts files
From: Grant Likely @ 2008-01-23 16:27 UTC (permalink / raw)
  To: Wolfgang Denk
  Cc: Olof Johansson, linuxppc-dev, tech-denx, Detlev Zundel,
	Marian Balakowicz
In-Reply-To: <20080123125413.EB56924344@gemini.denx.de>

On 1/23/08, Wolfgang Denk <wd@denx.de> wrote:
> In message <479725A4.2020401@semihalf.com> you wrote:
> > Olof Johansson wrote:
> > ...
> > >
> > > I disagree, I have one defconfig for all our boards to date. It means I
> > > only have one kernel to build to test on all boards, instead of having
> > > to build a number of different kernels. Keeping it fairly generic also
> > > means a customer can start out using the generic kernel in case they
> > > want to, and later on add their own drivers and prune out what is not
> > > needed.
> >
> > Well, I just prefer separate defconfigs but I can live with the common
> > one as well, feel free to merge it as you see it fit.
>
> Well, it may make sense to use common defconfig files for  boards  of
> the same breed (different configurations of one board family from one
> vendor  for  example).  But  please  note  that  TQM5200,  CM5200 and
> Motion-PRO are boards from 3 different  vendors,  used  by  different
> projects  with  differing  needs.  IMO  it  makes  very much sense to
> provide 3 separate default configurations  that  match  the  specific
> requirements of each of these boards.
>
> In this case I vote for separate defconfig files, please.

I think I'm going to go with a single defconfig for all 5200 boards
for the time being.  We can revisit later if it turns out not to be
working.  Here are my reasons:

- mpc5200 is intended to be multiplatform.  Using a common defconfig
increases the likelyhood that a kernel with support for all 5200
platforms will actually get tested.
- Reduces the time cost required to build all powerpc defconfigs (only
1 needed instead of 5 and growing)
- defconfigs are intended to be the known working configuration; not
necessarily an optimized for deployment configuration.  The
system/kernel engineer is still responsible to tailor the
configuration for a shippable distribution.

Cheers,
g.

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

^ permalink raw reply

* Re: [PATCHv2 0/8] [POWERPC] 8xx cleanups
From: Kumar Gala @ 2008-01-23 16:11 UTC (permalink / raw)
  To: Jochen Friedrich; +Cc: Scott Wood, Kernel, Linux, linuxppc-dev list
In-Reply-To: <4797641F.4000902@scram.de>


On Jan 23, 2008, at 9:58 AM, Jochen Friedrich wrote:

> Hi,
>
> this is a series against paulus for-2.6.25 tree to clean up various  
> 8xx related stuff.
> The series can be pulled from git://git.bocc.de/dbox2.git cleanup.
> Patch 6 has been modified to remove the #ifdefs as suggested by  
> Arndt Bergmann.
> Patch 8 is a new one.
>
> [POWERPC] Remove unused m8xx_cpm_hostalloc/free/dump()
> [POWERPC] Rename m8xx_pic_init to mpc8xx_pics_init
> [POWERPC] Remove unneeded and misspelled prototype m8xx_calibrate_decr
> [POWERPC] Remove declaration of m8xx_pic_init.
> [POWERPC] Remove sysdev/commproc.h
> [POWERPC] Get rid of conditional includes of board specific setup
> [POWERPC] Rename commproc to cpm1 and cpm2_common.c to cpm2.c
> [POWERPC] Move definition of buffer descriptor to cpm.h

These roughly look good, had a few comments.  Don't see any reason why  
they can't go in.

What impact do the have on boards in arch/ppc being able to build?

- k

^ permalink raw reply

* Re: [PATCHv2 4/8] [POWERPC] Remove declaration of m8xx_pic_init.
From: Kumar Gala @ 2008-01-23 16:07 UTC (permalink / raw)
  To: Jochen Friedrich; +Cc: Scott Wood, Kernel, Linux, linuxppc-dev list
In-Reply-To: <47976499.9050505@scram.de>


On Jan 23, 2008, at 10:00 AM, Jochen Friedrich wrote:

> m8xx_pic_init is declared in ppc8xx_pic.h but defined nowhere in the  
> ppc
> tree. Remove it.
>
> Signed-off-by: Jochen Friedrich <jochen@scram.de>

if we respin the patches, merge this with 2/8 - Rename m8xx_pic_init  
to mpc8xx_pics_init.

(otherwise i'll merge when I commit).

- k

^ permalink raw reply

* Re: [PATCHv2 5/8] [POWERPC] Remove sysdev/commproc.h
From: Kumar Gala @ 2008-01-23 16:06 UTC (permalink / raw)
  To: Jochen Friedrich; +Cc: Scott Wood, Kernel, Linux, linuxppc-dev list
In-Reply-To: <479764B8.4010909@scram.de>


On Jan 23, 2008, at 10:00 AM, Jochen Friedrich wrote:

> Move cpm1 specific prototypes to asm/commproc.h and mpc8xx specific
> prototypes to asm/mpc8xx.h. Adjust includes accordingly. Remove now
> unneeded sysdev/commproc.h.
>
> Signed-off-by: Jochen Friedrich <jochen@scram.de>
> ---
> arch/powerpc/platforms/8xx/ep88xc.c          |    3 +--
> arch/powerpc/platforms/8xx/m8xx_setup.c      |    1 -
> arch/powerpc/platforms/8xx/mpc86xads_setup.c |    2 --
> arch/powerpc/platforms/8xx/mpc885ads_setup.c |    2 --
> arch/powerpc/sysdev/commproc.c               |    1 -
> arch/powerpc/sysdev/commproc.h               |   12 ------------
> arch/powerpc/sysdev/mpc8xx_pic.c             |    1 -
> drivers/net/fs_enet/mac-scc.c                |    1 -
> include/asm-powerpc/commproc.h               |    2 ++
> include/asm-powerpc/mpc8xx.h                 |    7 +++++++

Do we really need the prototypes you moved into asm/mpc8xx.h here?   
can they just live in platforms/8xx/8xx.h or something like that?

- k

^ permalink raw reply

* [PATCHv2 8/8] [POWERPC] Move definition of buffer descriptor to cpm.h
From: Jochen Friedrich @ 2008-01-23 16:02 UTC (permalink / raw)
  To: Vitaly Bordug; +Cc: Scott Wood, linuxppc-dev list, Kernel, Linux

Buffer descriptors are used by both CPM1 and CPM2. Move the definitions
from the cpm dependent include file to common cpm.h

Signed-off-by: Jochen Friedrich <jochen@scram.de>
---
  include/asm-powerpc/cpm.h  |   73 ++++++++++++++++++++++++++++++++++++++++++++
  include/asm-powerpc/cpm1.h |   65 ---------------------------------------
  include/asm-powerpc/cpm2.h |   64 --------------------------------------
  3 files changed, 73 insertions(+), 129 deletions(-)

diff --git a/include/asm-powerpc/cpm.h b/include/asm-powerpc/cpm.h
index fae83b1..77e39da 100644
--- a/include/asm-powerpc/cpm.h
+++ b/include/asm-powerpc/cpm.h
@@ -4,6 +4,79 @@
  #include <linux/compiler.h>
  #include <linux/types.h>

+/* Buffer descriptors used by many of the CPM protocols. */
+typedef struct cpm_buf_desc {
+	ushort	cbd_sc;		/* Status and Control */
+	ushort	cbd_datlen;	/* Data length in buffer */
+	uint	cbd_bufaddr;	/* Buffer address in host memory */
+} cbd_t;
+
+/* Buffer descriptor control/status used by serial
+ */
+
+#define BD_SC_EMPTY	(0x8000)	/* Receive is empty */
+#define BD_SC_READY	(0x8000)	/* Transmit is ready */
+#define BD_SC_WRAP	(0x2000)	/* Last buffer descriptor */
+#define BD_SC_INTRPT	(0x1000)	/* Interrupt on change */
+#define BD_SC_LAST	(0x0800)	/* Last buffer in frame */
+#define BD_SC_TC	(0x0400)	/* Transmit CRC */
+#define BD_SC_CM	(0x0200)	/* Continous mode */
+#define BD_SC_ID	(0x0100)	/* Rec'd too many idles */
+#define BD_SC_P		(0x0100)	/* xmt preamble */
+#define BD_SC_BR	(0x0020)	/* Break received */
+#define BD_SC_FR	(0x0010)	/* Framing error */
+#define BD_SC_PR	(0x0008)	/* Parity error */
+#define BD_SC_NAK	(0x0004)	/* NAK - did not respond */
+#define BD_SC_OV	(0x0002)	/* Overrun */
+#define BD_SC_UN	(0x0002)	/* Underrun */
+#define BD_SC_CD	(0x0001)	/* */
+#define BD_SC_CL	(0x0001)	/* Collision */
+
+/* Buffer descriptor control/status used by Ethernet receive.
+ * Common to SCC and FCC.
+ */
+#define BD_ENET_RX_EMPTY	(0x8000)
+#define BD_ENET_RX_WRAP		(0x2000)
+#define BD_ENET_RX_INTR		(0x1000)
+#define BD_ENET_RX_LAST		(0x0800)
+#define BD_ENET_RX_FIRST	(0x0400)
+#define BD_ENET_RX_MISS		(0x0100)
+#define BD_ENET_RX_BC		(0x0080)	/* FCC Only */
+#define BD_ENET_RX_MC		(0x0040)	/* FCC Only */
+#define BD_ENET_RX_LG		(0x0020)
+#define BD_ENET_RX_NO		(0x0010)
+#define BD_ENET_RX_SH		(0x0008)
+#define BD_ENET_RX_CR		(0x0004)
+#define BD_ENET_RX_OV		(0x0002)
+#define BD_ENET_RX_CL		(0x0001)
+#define BD_ENET_RX_STATS	(0x01ff)	/* All status bits */
+
+/* Buffer descriptor control/status used by Ethernet transmit.
+ * Common to SCC and FCC.
+ */
+#define BD_ENET_TX_READY	(0x8000)
+#define BD_ENET_TX_PAD		(0x4000)
+#define BD_ENET_TX_WRAP		(0x2000)
+#define BD_ENET_TX_INTR		(0x1000)
+#define BD_ENET_TX_LAST		(0x0800)
+#define BD_ENET_TX_TC		(0x0400)
+#define BD_ENET_TX_DEF		(0x0200)
+#define BD_ENET_TX_HB		(0x0100)
+#define BD_ENET_TX_LC		(0x0080)
+#define BD_ENET_TX_RL		(0x0040)
+#define BD_ENET_TX_RCMASK	(0x003c)
+#define BD_ENET_TX_UN		(0x0002)
+#define BD_ENET_TX_CSL		(0x0001)
+#define BD_ENET_TX_STATS	(0x03ff)	/* All status bits */
+
+/* Buffer descriptor control/status used by Transparent mode SCC.
+ */
+#define BD_SCC_TX_LAST		(0x0800)
+
+/* Buffer descriptor control/status used by I2C.
+ */
+#define BD_I2C_START		(0x0400)
+
  int cpm_muram_init(void);
  unsigned long cpm_muram_alloc(unsigned long size, unsigned long align);
  int cpm_muram_free(unsigned long offset);
diff --git a/include/asm-powerpc/cpm1.h b/include/asm-powerpc/cpm1.h
index 901a00b..b2ebd6a 100644
--- a/include/asm-powerpc/cpm1.h
+++ b/include/asm-powerpc/cpm1.h
@@ -91,32 +91,6 @@ extern void cpm_load_patch(cpm8xx_t *cp);

  extern void cpm_reset(void);

-/* Buffer descriptors used by many of the CPM protocols.
-*/
-typedef struct cpm_buf_desc {
-	ushort	cbd_sc;		/* Status and Control */
-	ushort	cbd_datlen;	/* Data length in buffer */
-	uint	cbd_bufaddr;	/* Buffer address in host memory */
-} cbd_t;
-
-#define BD_SC_EMPTY	((ushort)0x8000)	/* Receive is empty */
-#define BD_SC_READY	((ushort)0x8000)	/* Transmit is ready */
-#define BD_SC_WRAP	((ushort)0x2000)	/* Last buffer descriptor */
-#define BD_SC_INTRPT	((ushort)0x1000)	/* Interrupt on change */
-#define BD_SC_LAST	((ushort)0x0800)	/* Last buffer in frame */
-#define BD_SC_TC	((ushort)0x0400)	/* Transmit CRC */
-#define BD_SC_CM	((ushort)0x0200)	/* Continous mode */
-#define BD_SC_ID	((ushort)0x0100)	/* Rec'd too many idles */
-#define BD_SC_P		((ushort)0x0100)	/* xmt preamble */
-#define BD_SC_BR	((ushort)0x0020)	/* Break received */
-#define BD_SC_FR	((ushort)0x0010)	/* Framing error */
-#define BD_SC_PR	((ushort)0x0008)	/* Parity error */
-#define BD_SC_NAK	((ushort)0x0004)	/* NAK - did not respond */
-#define BD_SC_OV	((ushort)0x0002)	/* Overrun */
-#define BD_SC_UN	((ushort)0x0002)	/* Underrun */
-#define BD_SC_CD	((ushort)0x0001)	/* ?? */
-#define BD_SC_CL	((ushort)0x0001)	/* Collision */
-
  /* Parameter RAM offsets.
  */
  #define PROFF_SCC1	((uint)0x0000)
@@ -446,41 +420,6 @@ typedef struct scc_enet {
  #define SCC_PSMR_NIB22	((ushort)0x000a)	/* Start frame search */
  #define SCC_PSMR_FDE	((ushort)0x0001)	/* Full duplex enable */

-/* Buffer descriptor control/status used by Ethernet receive.
-*/
-#define BD_ENET_RX_EMPTY	((ushort)0x8000)
-#define BD_ENET_RX_WRAP		((ushort)0x2000)
-#define BD_ENET_RX_INTR		((ushort)0x1000)
-#define BD_ENET_RX_LAST		((ushort)0x0800)
-#define BD_ENET_RX_FIRST	((ushort)0x0400)
-#define BD_ENET_RX_MISS		((ushort)0x0100)
-#define BD_ENET_RX_LG		((ushort)0x0020)
-#define BD_ENET_RX_NO		((ushort)0x0010)
-#define BD_ENET_RX_SH		((ushort)0x0008)
-#define BD_ENET_RX_CR		((ushort)0x0004)
-#define BD_ENET_RX_OV		((ushort)0x0002)
-#define BD_ENET_RX_CL		((ushort)0x0001)
-#define BD_ENET_RX_BC		((ushort)0x0080)	/* DA is Broadcast */
-#define BD_ENET_RX_MC		((ushort)0x0040)	/* DA is Multicast */
-#define BD_ENET_RX_STATS	((ushort)0x013f)	/* All status bits */
-
-/* Buffer descriptor control/status used by Ethernet transmit.
-*/
-#define BD_ENET_TX_READY	((ushort)0x8000)
-#define BD_ENET_TX_PAD		((ushort)0x4000)
-#define BD_ENET_TX_WRAP		((ushort)0x2000)
-#define BD_ENET_TX_INTR		((ushort)0x1000)
-#define BD_ENET_TX_LAST		((ushort)0x0800)
-#define BD_ENET_TX_TC		((ushort)0x0400)
-#define BD_ENET_TX_DEF		((ushort)0x0200)
-#define BD_ENET_TX_HB		((ushort)0x0100)
-#define BD_ENET_TX_LC		((ushort)0x0080)
-#define BD_ENET_TX_RL		((ushort)0x0040)
-#define BD_ENET_TX_RCMASK	((ushort)0x003c)
-#define BD_ENET_TX_UN		((ushort)0x0002)
-#define BD_ENET_TX_CSL		((ushort)0x0001)
-#define BD_ENET_TX_STATS	((ushort)0x03ff)	/* All status bits */
-
  /* SCC as UART
  */
  typedef struct scc_uart {
@@ -549,8 +488,6 @@ typedef struct scc_trans {
  	uint	st_cmask;	/* Constant mask for CRC */
  } scc_trans_t;

-#define BD_SCC_TX_LAST		((ushort)0x0800)
-
  /* IIC parameter RAM.
  */
  typedef struct iic {
@@ -574,8 +511,6 @@ typedef struct iic {
  	char	res2[2];	/* Reserved */
  } iic_t;

-#define BD_IIC_START		((ushort)0x0400)
-
  /* SPI parameter RAM.
  */
  typedef struct spi {
diff --git a/include/asm-powerpc/cpm2.h b/include/asm-powerpc/cpm2.h
index f1112c1..b93a53e 100644
--- a/include/asm-powerpc/cpm2.h
+++ b/include/asm-powerpc/cpm2.h
@@ -132,29 +132,6 @@ extern void cpm_setbrg(uint brg, uint rate);
  extern void cpm2_fastbrg(uint brg, uint rate, int div16);
  extern void cpm2_reset(void);

-
-/* Buffer descriptors used by many of the CPM protocols.
-*/
-typedef struct cpm_buf_desc {
-	ushort	cbd_sc;		/* Status and Control */
-	ushort	cbd_datlen;	/* Data length in buffer */
-	uint	cbd_bufaddr;	/* Buffer address in host memory */
-} cbd_t;
-
-#define BD_SC_EMPTY	((ushort)0x8000)	/* Receive is empty */
-#define BD_SC_READY	((ushort)0x8000)	/* Transmit is ready */
-#define BD_SC_WRAP	((ushort)0x2000)	/* Last buffer descriptor */
-#define BD_SC_INTRPT	((ushort)0x1000)	/* Interrupt on change */
-#define BD_SC_LAST	((ushort)0x0800)	/* Last buffer in frame */
-#define BD_SC_CM	((ushort)0x0200)	/* Continous mode */
-#define BD_SC_ID	((ushort)0x0100)	/* Rec'd too many idles */
-#define BD_SC_P		((ushort)0x0100)	/* xmt preamble */
-#define BD_SC_BR	((ushort)0x0020)	/* Break received */
-#define BD_SC_FR	((ushort)0x0010)	/* Framing error */
-#define BD_SC_PR	((ushort)0x0008)	/* Parity error */
-#define BD_SC_OV	((ushort)0x0002)	/* Overrun */
-#define BD_SC_CD	((ushort)0x0001)	/* ?? */
-
  /* Function code bits, usually generic to devices.
  */
  #define CPMFCR_GBL	((u_char)0x20)	/* Set memory snooping */
@@ -456,43 +433,6 @@ typedef struct scc_enet {
  #define SCC_PSMR_NIB22	((ushort)0x000a)	/* Start frame search */
  #define SCC_PSMR_FDE	((ushort)0x0001)	/* Full duplex enable */

-/* Buffer descriptor control/status used by Ethernet receive.
- * Common to SCC and FCC.
- */
-#define BD_ENET_RX_EMPTY	((ushort)0x8000)
-#define BD_ENET_RX_WRAP		((ushort)0x2000)
-#define BD_ENET_RX_INTR		((ushort)0x1000)
-#define BD_ENET_RX_LAST		((ushort)0x0800)
-#define BD_ENET_RX_FIRST	((ushort)0x0400)
-#define BD_ENET_RX_MISS		((ushort)0x0100)
-#define BD_ENET_RX_BC		((ushort)0x0080)	/* FCC Only */
-#define BD_ENET_RX_MC		((ushort)0x0040)	/* FCC Only */
-#define BD_ENET_RX_LG		((ushort)0x0020)
-#define BD_ENET_RX_NO		((ushort)0x0010)
-#define BD_ENET_RX_SH		((ushort)0x0008)
-#define BD_ENET_RX_CR		((ushort)0x0004)
-#define BD_ENET_RX_OV		((ushort)0x0002)
-#define BD_ENET_RX_CL		((ushort)0x0001)
-#define BD_ENET_RX_STATS	((ushort)0x01ff)	/* All status bits */
-
-/* Buffer descriptor control/status used by Ethernet transmit.
- * Common to SCC and FCC.
- */
-#define BD_ENET_TX_READY	((ushort)0x8000)
-#define BD_ENET_TX_PAD		((ushort)0x4000)
-#define BD_ENET_TX_WRAP		((ushort)0x2000)
-#define BD_ENET_TX_INTR		((ushort)0x1000)
-#define BD_ENET_TX_LAST		((ushort)0x0800)
-#define BD_ENET_TX_TC		((ushort)0x0400)
-#define BD_ENET_TX_DEF		((ushort)0x0200)
-#define BD_ENET_TX_HB		((ushort)0x0100)
-#define BD_ENET_TX_LC		((ushort)0x0080)
-#define BD_ENET_TX_RL		((ushort)0x0040)
-#define BD_ENET_TX_RCMASK	((ushort)0x003c)
-#define BD_ENET_TX_UN		((ushort)0x0002)
-#define BD_ENET_TX_CSL		((ushort)0x0001)
-#define BD_ENET_TX_STATS	((ushort)0x03ff)	/* All status bits */
-
  /* SCC as UART
  */
  typedef struct scc_uart {
@@ -562,8 +502,6 @@ typedef struct scc_trans {
  	uint	st_cmask;	/* Constant mask for CRC */
  } scc_trans_t;

-#define BD_SCC_TX_LAST		((ushort)0x0800)
-
  /* How about some FCCs.....
  */
  #define FCC_GFMR_DIAG_NORM	((uint)0x00000000)
@@ -769,8 +707,6 @@ typedef struct spi {

  #define SPI_EB		((u_char)0x10)		/* big endian byte order */

-#define BD_IIC_START		((ushort)0x0400)
-
  /* IDMA parameter RAM
  */
  typedef struct idma {
-- 
1.5.3.8

^ permalink raw reply related

* [PATCHv2 7/8] [POWERPC] Rename commproc to cpm1 and cpm2_common.c to cpm2.c
From: Jochen Friedrich @ 2008-01-23 16:01 UTC (permalink / raw)
  To: Vitaly Bordug; +Cc: Scott Wood, linuxppc-dev list, Kernel, Linux

Rename commproc.[ch] to cpm1.[ch] to be more consistent with cpm2. Also
rename cpm2_common.c to cpm2.c as suggested by Scott Wood. Adjust the
includes accordingly.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
---
  arch/powerpc/platforms/8xx/ep88xc.c           |    2 +-
  arch/powerpc/platforms/8xx/mpc86xads_setup.c  |    2 +-
  arch/powerpc/platforms/8xx/mpc885ads_setup.c  |    2 +-
  arch/powerpc/sysdev/Makefile                  |    4 ++--
  arch/powerpc/sysdev/{commproc.c => cpm1.c}    |    4 ++--
  arch/powerpc/sysdev/{cpm2_common.c => cpm2.c} |    3 +--
  arch/powerpc/sysdev/micropatch.c              |    2 +-
  arch/ppc/8260_io/enet.c                       |    2 +-
  arch/ppc/8xx_io/commproc.c                    |    2 +-
  arch/ppc/8xx_io/enet.c                        |    6 +++---
  arch/ppc/8xx_io/fec.c                         |    2 +-
  arch/ppc/8xx_io/micropatch.c                  |    2 +-
  arch/ppc/boot/simple/iic.c                    |    2 +-
  arch/ppc/boot/simple/m8xx_tty.c               |    2 +-
  arch/ppc/kernel/ppc_ksyms.c                   |    2 +-
  arch/ppc/platforms/mpc866ads_setup.c          |    2 +-
  arch/ppc/platforms/mpc885ads_setup.c          |    2 +-
  arch/ppc/syslib/mpc8xx_devices.c              |    2 +-
  arch/ppc/xmon/start_8xx.c                     |    2 +-
  drivers/net/fec.c                             |    2 +-
  drivers/net/fec.h                             |    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/fs_enet/fs_enet.h                 |    2 +-
  drivers/net/fs_enet/mac-fec.c                 |    2 +-
  drivers/net/fs_enet/mac-scc.c                 |    2 +-
  drivers/serial/68360serial.c                  |    2 +-
  drivers/serial/cpm_uart/cpm_uart_cpm1.h       |    2 +-
  include/asm-powerpc/{commproc.h => cpm1.h}    |    8 ++++----
  include/asm-ppc/{commproc.h => cpm1.h}        |    8 ++++----
  31 files changed, 41 insertions(+), 42 deletions(-)
  rename arch/powerpc/sysdev/{commproc.c => cpm1.c} (99%)
  rename arch/powerpc/sysdev/{cpm2_common.c => cpm2.c} (99%)
  rename include/asm-powerpc/{commproc.h => cpm1.h} (99%)
  rename include/asm-ppc/{commproc.h => cpm1.h} (99%)

diff --git a/arch/powerpc/platforms/8xx/ep88xc.c b/arch/powerpc/platforms/8xx/ep88xc.c
index 9365f07..d300576 100644
--- a/arch/powerpc/platforms/8xx/ep88xc.c
+++ b/arch/powerpc/platforms/8xx/ep88xc.c
@@ -15,7 +15,7 @@
  #include <asm/machdep.h>
  #include <asm/io.h>
  #include <asm/udbg.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #include <asm/mpc8xx.h>

  struct cpm_pin {
diff --git a/arch/powerpc/platforms/8xx/mpc86xads_setup.c b/arch/powerpc/platforms/8xx/mpc86xads_setup.c
index 7389590..a68509d 100644
--- a/arch/powerpc/platforms/8xx/mpc86xads_setup.c
+++ b/arch/powerpc/platforms/8xx/mpc86xads_setup.c
@@ -23,7 +23,7 @@
  #include <asm/time.h>
  #include <asm/mpc8xx.h>
  #include <asm/8xx_immap.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #include <asm/fs_pd.h>
  #include <asm/udbg.h>

diff --git a/arch/powerpc/platforms/8xx/mpc885ads_setup.c b/arch/powerpc/platforms/8xx/mpc885ads_setup.c
index 426b897..f39447b 100644
--- a/arch/powerpc/platforms/8xx/mpc885ads_setup.c
+++ b/arch/powerpc/platforms/8xx/mpc885ads_setup.c
@@ -36,7 +36,7 @@
  #include <asm/time.h>
  #include <asm/mpc8xx.h>
  #include <asm/8xx_immap.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #include <asm/fs_pd.h>
  #include <asm/udbg.h>

diff --git a/arch/powerpc/sysdev/Makefile b/arch/powerpc/sysdev/Makefile
index 9a20ef4..61f2604 100644
--- a/arch/powerpc/sysdev/Makefile
+++ b/arch/powerpc/sysdev/Makefile
@@ -35,8 +35,8 @@ endif
  # Temporary hack until we have migrated to asm-powerpc
  ifeq ($(ARCH),powerpc)
  obj-$(CONFIG_CPM)		+= cpm_common.o
-obj-$(CONFIG_CPM2)		+= cpm2_common.o cpm2_pic.o
+obj-$(CONFIG_CPM2)		+= cpm2.o cpm2_pic.o
  obj-$(CONFIG_PPC_DCR)		+= dcr.o
-obj-$(CONFIG_8xx)		+= mpc8xx_pic.o commproc.o
+obj-$(CONFIG_8xx)		+= mpc8xx_pic.o cpm1.o
  obj-$(CONFIG_UCODE_PATCH)	+= micropatch.o
  endif
diff --git a/arch/powerpc/sysdev/commproc.c b/arch/powerpc/sysdev/cpm1.c
similarity index 99%
rename from arch/powerpc/sysdev/commproc.c
rename to arch/powerpc/sysdev/cpm1.c
index ef82587..df8bd2b 100644
--- a/arch/powerpc/sysdev/commproc.c
+++ b/arch/powerpc/sysdev/cpm1.c
@@ -33,7 +33,7 @@
  #include <asm/page.h>
  #include <asm/pgtable.h>
  #include <asm/8xx_immap.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #include <asm/io.h>
  #include <asm/tlbflush.h>
  #include <asm/rheap.h>
@@ -290,7 +290,7 @@ cpm_setbrg(uint brg, uint rate)
  		out_be32(bp, (((BRG_UART_CLK / rate) - 1) << 1) | CPM_BRG_EN);
  	else
  		out_be32(bp, (((BRG_UART_CLK_DIV16 / rate) - 1) << 1) |
-		             CPM_BRG_EN | CPM_BRG_DIV16);
+			      CPM_BRG_EN | CPM_BRG_DIV16);
  }

  #ifndef CONFIG_PPC_CPM_NEW_BINDING
diff --git a/arch/powerpc/sysdev/cpm2_common.c b/arch/powerpc/sysdev/cpm2.c
similarity index 99%
rename from arch/powerpc/sysdev/cpm2_common.c
rename to arch/powerpc/sysdev/cpm2.c
index f7188e2..7be7112 100644
--- a/arch/powerpc/sysdev/cpm2_common.c
+++ b/arch/powerpc/sysdev/cpm2.c
@@ -153,8 +153,7 @@ cpm2_fastbrg(uint brg, uint rate, int div16)

  	if (brg < 4) {
  		bp = cpm2_map_size(im_brgc1, 16);
-	}
-	else {
+	} else {
  		bp = cpm2_map_size(im_brgc5, 16);
  		brg -= 4;
  	}
diff --git a/arch/powerpc/sysdev/micropatch.c b/arch/powerpc/sysdev/micropatch.c
index 712b10a..d8d6028 100644
--- a/arch/powerpc/sysdev/micropatch.c
+++ b/arch/powerpc/sysdev/micropatch.c
@@ -16,7 +16,7 @@
  #include <asm/page.h>
  #include <asm/pgtable.h>
  #include <asm/8xx_immap.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>

  /*
   * I2C/SPI relocation patch arrays.
diff --git a/arch/ppc/8260_io/enet.c b/arch/ppc/8260_io/enet.c
index 615b658..3ea4db2 100644
--- a/arch/ppc/8260_io/enet.c
+++ b/arch/ppc/8260_io/enet.c
@@ -10,7 +10,7 @@
   * This version of the driver is somewhat selectable for the different
   * processor/board combinations.  It works for the boards I know about
   * now, and should be easily modified to include others.  Some of the
- * configuration information is contained in <asm/commproc.h> and the
+ * configuration information is contained in <asm/cpm1.h> and the
   * remainder is here.
   *
   * Buffer descriptors are kept in the CPM dual port RAM, and the frame
diff --git a/arch/ppc/8xx_io/commproc.c b/arch/ppc/8xx_io/commproc.c
index 3f93af8..9d656de 100644
--- a/arch/ppc/8xx_io/commproc.c
+++ b/arch/ppc/8xx_io/commproc.c
@@ -34,7 +34,7 @@
  #include <asm/page.h>
  #include <asm/pgtable.h>
  #include <asm/8xx_immap.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #include <asm/io.h>
  #include <asm/tlbflush.h>
  #include <asm/rheap.h>
diff --git a/arch/ppc/8xx_io/enet.c b/arch/ppc/8xx_io/enet.c
index eace3bc..c6d047a 100644
--- a/arch/ppc/8xx_io/enet.c
+++ b/arch/ppc/8xx_io/enet.c
@@ -8,7 +8,7 @@
   * This version of the driver is somewhat selectable for the different
   * processor/board combinations.  It works for the boards I know about
   * now, and should be easily modified to include others.  Some of the
- * configuration information is contained in <asm/commproc.h> and the
+ * configuration information is contained in <asm/cpm1.h> and the
   * remainder is here.
   *
   * Buffer descriptors are kept in the CPM dual port RAM, and the frame
@@ -43,7 +43,7 @@
  #include <asm/pgtable.h>
  #include <asm/mpc8xx.h>
  #include <asm/uaccess.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #include <asm/cacheflush.h>

  /*
@@ -80,7 +80,7 @@
   * programming documents for details unique to your board.
   *
   * For the TQM8xx(L) modules, there is no control register interface.
- * All functions are directly controlled using I/O pins.  See <asm/commproc.h>.
+ * All functions are directly controlled using I/O pins.  See <asm/cpm1.h>.
   */

  /* The transmitter timeout
diff --git a/arch/ppc/8xx_io/fec.c b/arch/ppc/8xx_io/fec.c
index 0288279..11b0aa6 100644
--- a/arch/ppc/8xx_io/fec.c
+++ b/arch/ppc/8xx_io/fec.c
@@ -53,7 +53,7 @@
  #include <asm/mpc8xx.h>
  #include <asm/irq.h>
  #include <asm/uaccess.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>

  #ifdef	CONFIG_USE_MDIO
  /* Forward declarations of some structures to support different PHYs
diff --git a/arch/ppc/8xx_io/micropatch.c b/arch/ppc/8xx_io/micropatch.c
index cfad46b..9a5d95d 100644
--- a/arch/ppc/8xx_io/micropatch.c
+++ b/arch/ppc/8xx_io/micropatch.c
@@ -16,7 +16,7 @@
  #include <asm/page.h>
  #include <asm/pgtable.h>
  #include <asm/8xx_immap.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>

  /*
   * I2C/SPI relocation patch arrays.
diff --git a/arch/ppc/boot/simple/iic.c b/arch/ppc/boot/simple/iic.c
index e4efd83..5e91489 100644
--- a/arch/ppc/boot/simple/iic.c
+++ b/arch/ppc/boot/simple/iic.c
@@ -5,7 +5,7 @@
  #include <linux/types.h>
  #include <asm/uaccess.h>
  #include <asm/mpc8xx.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>


  /* IIC functions.
diff --git a/arch/ppc/boot/simple/m8xx_tty.c b/arch/ppc/boot/simple/m8xx_tty.c
index ea615d8..f28924e 100644
--- a/arch/ppc/boot/simple/m8xx_tty.c
+++ b/arch/ppc/boot/simple/m8xx_tty.c
@@ -11,7 +11,7 @@
  #include <linux/types.h>
  #include <asm/uaccess.h>
  #include <asm/mpc8xx.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>

  #ifdef CONFIG_MBX
  #define MBX_CSR1	((volatile u_char *)0xfa100000)
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c
index 22494ec..0d53dc3 100644
--- a/arch/ppc/kernel/ppc_ksyms.c
+++ b/arch/ppc/kernel/ppc_ksyms.c
@@ -45,7 +45,7 @@
  #include <asm/dcr.h>

  #ifdef  CONFIG_8xx
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #endif

  extern void transfer_to_handler(void);
diff --git a/arch/ppc/platforms/mpc866ads_setup.c b/arch/ppc/platforms/mpc866ads_setup.c
index bf72204..62370f4 100644
--- a/arch/ppc/platforms/mpc866ads_setup.c
+++ b/arch/ppc/platforms/mpc866ads_setup.c
@@ -32,7 +32,7 @@
  #include <asm/time.h>
  #include <asm/ppcboot.h>
  #include <asm/8xx_immap.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #include <asm/ppc_sys.h>
  #include <asm/mpc8xx.h>

diff --git a/arch/ppc/platforms/mpc885ads_setup.c b/arch/ppc/platforms/mpc885ads_setup.c
index 87deaef..ba06cc0 100644
--- a/arch/ppc/platforms/mpc885ads_setup.c
+++ b/arch/ppc/platforms/mpc885ads_setup.c
@@ -31,7 +31,7 @@
  #include <asm/time.h>
  #include <asm/ppcboot.h>
  #include <asm/8xx_immap.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #include <asm/ppc_sys.h>

  extern unsigned char __res[];
diff --git a/arch/ppc/syslib/mpc8xx_devices.c b/arch/ppc/syslib/mpc8xx_devices.c
index c05ac87..80804ee 100644
--- a/arch/ppc/syslib/mpc8xx_devices.c
+++ b/arch/ppc/syslib/mpc8xx_devices.c
@@ -16,7 +16,7 @@
  #include <linux/device.h>
  #include <linux/serial_8250.h>
  #include <linux/mii.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #include <asm/mpc8xx.h>
  #include <asm/irq.h>
  #include <asm/ppc_sys.h>
diff --git a/arch/ppc/xmon/start_8xx.c b/arch/ppc/xmon/start_8xx.c
index a48bd59..3097406 100644
--- a/arch/ppc/xmon/start_8xx.c
+++ b/arch/ppc/xmon/start_8xx.c
@@ -14,7 +14,7 @@
  #include <linux/kernel.h>
  #include <asm/8xx_immap.h>
  #include <asm/mpc8xx.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>

  extern void xmon_printf(const char *fmt, ...);
  extern int xmon_8xx_write(char *str, int nb);
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 0fbf1bb..0800cce 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -58,7 +58,7 @@
  #else
  #include <asm/8xx_immap.h>
  #include <asm/mpc8xx.h>
-#include "commproc.h"
+#include "cpm1.h"
  #endif

  #if defined(CONFIG_FEC2)
diff --git a/drivers/net/fec.h b/drivers/net/fec.h
index 1d42160..bcff463 100644
--- a/drivers/net/fec.h
+++ b/drivers/net/fec.h
@@ -111,7 +111,7 @@ typedef struct bufdesc {


  /*
- *	The following definitions courtesy of commproc.h, which where
+ *	The following definitions courtesy of cpm1.h, which where
   *	Copyright (c) 1997 Dan Malek (dmalek@jlc.net).
   */
  #define BD_SC_EMPTY     ((ushort)0x8000)        /* Recieve is empty */
diff --git a/drivers/net/fec_8xx/fec_8xx-netta.c b/drivers/net/fec_8xx/fec_8xx-netta.c
index e492eb8..79deee2 100644
--- a/drivers/net/fec_8xx/fec_8xx-netta.c
+++ b/drivers/net/fec_8xx/fec_8xx-netta.c
@@ -26,7 +26,7 @@
  #include <asm/mpc8xx.h>
  #include <asm/irq.h>
  #include <asm/uaccess.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>

  #include "fec_8xx.h"

diff --git a/drivers/net/fec_8xx/fec_main.c b/drivers/net/fec_8xx/fec_main.c
index 8d2904f..795e22e 100644
--- a/drivers/net/fec_8xx/fec_main.c
+++ b/drivers/net/fec_8xx/fec_main.c
@@ -35,7 +35,7 @@
  #include <asm/mpc8xx.h>
  #include <asm/irq.h>
  #include <asm/uaccess.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>

  #include "fec_8xx.h"

diff --git a/drivers/net/fec_8xx/fec_mii.c b/drivers/net/fec_8xx/fec_mii.c
index e8e10a0..3b6ca29 100644
--- a/drivers/net/fec_8xx/fec_mii.c
+++ b/drivers/net/fec_8xx/fec_mii.c
@@ -34,7 +34,7 @@
  #include <asm/mpc8xx.h>
  #include <asm/irq.h>
  #include <asm/uaccess.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>

  /*************************************************/

diff --git a/drivers/net/fs_enet/fs_enet.h b/drivers/net/fs_enet/fs_enet.h
index c675e29..e05389c 100644
--- a/drivers/net/fs_enet/fs_enet.h
+++ b/drivers/net/fs_enet/fs_enet.h
@@ -12,7 +12,7 @@
  #include <asm/fs_pd.h>

  #ifdef CONFIG_CPM1
-#include <asm/commproc.h>
+#include <asm/cpm1.h>

  struct fec_info {
  	fec_t __iomem *fecp;
diff --git a/drivers/net/fs_enet/mac-fec.c b/drivers/net/fs_enet/mac-fec.c
index c1fee48..8a311d1 100644
--- a/drivers/net/fs_enet/mac-fec.c
+++ b/drivers/net/fs_enet/mac-fec.c
@@ -40,7 +40,7 @@
  #include <asm/8xx_immap.h>
  #include <asm/pgtable.h>
  #include <asm/mpc8xx.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #endif

  #ifdef CONFIG_PPC_CPM_NEW_BINDING
diff --git a/drivers/net/fs_enet/mac-scc.c b/drivers/net/fs_enet/mac-scc.c
index 1502dbf..d3cda70 100644
--- a/drivers/net/fs_enet/mac-scc.c
+++ b/drivers/net/fs_enet/mac-scc.c
@@ -39,7 +39,7 @@
  #ifdef CONFIG_8xx
  #include <asm/8xx_immap.h>
  #include <asm/pgtable.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>
  #endif

  #ifdef CONFIG_PPC_CPM_NEW_BINDING
diff --git a/drivers/serial/68360serial.c b/drivers/serial/68360serial.c
index 2aa6bfe..2969ebc 100644
--- a/drivers/serial/68360serial.c
+++ b/drivers/serial/68360serial.c
@@ -39,7 +39,7 @@
  #include <linux/delay.h>
  #include <asm/irq.h>
  #include <asm/m68360.h>
-#include <asm/commproc.h>
+#include <asm/cpm1.h>


  #ifdef CONFIG_KGDB
diff --git a/drivers/serial/cpm_uart/cpm_uart_cpm1.h b/drivers/serial/cpm_uart/cpm_uart_cpm1.h
index 9b5465f..ddf46d3 100644
--- a/drivers/serial/cpm_uart/cpm_uart_cpm1.h
+++ b/drivers/serial/cpm_uart/cpm_uart_cpm1.h
@@ -10,7 +10,7 @@
  #ifndef CPM_UART_CPM1_H
  #define CPM_UART_CPM1_H

-#include <asm/commproc.h>
+#include <asm/cpm1.h>

  /* defines for IRQs */
  #ifndef CONFIG_PPC_CPM_NEW_BINDING
diff --git a/include/asm-powerpc/commproc.h b/include/asm-powerpc/cpm1.h
similarity index 99%
rename from include/asm-powerpc/commproc.h
rename to include/asm-powerpc/cpm1.h
index ec87b8f..901a00b 100644
--- a/include/asm-powerpc/commproc.h
+++ b/include/asm-powerpc/cpm1.h
@@ -14,8 +14,8 @@
   * IDMA1 space.  The remaining DP RAM is available for buffer descriptors
   * or other use.
   */
-#ifndef __CPM_8XX__
-#define __CPM_8XX__
+#ifndef __CPM1__
+#define __CPM1__

  #include <asm/8xx_immap.h>
  #include <asm/ptrace.h>
@@ -82,7 +82,7 @@ extern int cpm_dpfree(unsigned long offset);
  extern unsigned long cpm_dpalloc_fixed(unsigned long offset, uint size, uint align);
  extern void cpm_dpdump(void);
  extern void *cpm_dpram_addr(unsigned long offset);
-extern uint cpm_dpram_phys(u8* addr);
+extern uint cpm_dpram_phys(u8 *addr);
  #endif

  extern void cpm_setbrg(uint brg, uint rate);
@@ -747,4 +747,4 @@ enum cpm_clk {

  int cpm1_clk_setup(enum cpm_clk_target target, int clock, int mode);

-#endif /* __CPM_8XX__ */
+#endif /* __CPM1__ */
diff --git a/include/asm-ppc/commproc.h b/include/asm-ppc/cpm1.h
similarity index 99%
rename from include/asm-ppc/commproc.h
rename to include/asm-ppc/cpm1.h
index 5418d6d..03035ac 100644
--- a/include/asm-ppc/commproc.h
+++ b/include/asm-ppc/cpm1.h
@@ -14,8 +14,8 @@
   * IDMA1 space.  The remaining DP RAM is available for buffer descriptors
   * or other use.
   */
-#ifndef __CPM_8XX__
-#define __CPM_8XX__
+#ifndef __CPM1__
+#define __CPM1__

  #include <asm/8xx_immap.h>
  #include <asm/ptrace.h>
@@ -72,7 +72,7 @@ extern int cpm_dpfree(unsigned long offset);
  extern unsigned long cpm_dpalloc_fixed(unsigned long offset, uint size, uint align);
  extern void cpm_dpdump(void);
  extern void *cpm_dpram_addr(unsigned long offset);
-extern uint cpm_dpram_phys(u8* addr);
+extern uint cpm_dpram_phys(u8 *addr);
  extern void cpm_setbrg(uint brg, uint rate);

  extern void cpm_load_patch(volatile immap_t *immr);
@@ -685,4 +685,4 @@ typedef struct risc_timer_pram {
  extern void cpm_install_handler(int vec, void (*handler)(void *), void *dev_id);
  extern void cpm_free_handler(int vec);

-#endif /* __CPM_8XX__ */
+#endif /* __CPM1__ */
-- 
1.5.3.8

^ permalink raw reply related

* [PATCHv2 6/8] [POWERPC] Get rid of conditional includes of board specific setup
From: Jochen Friedrich @ 2008-01-23 16:01 UTC (permalink / raw)
  To: Vitaly Bordug; +Cc: Scott Wood, linuxppc-dev list, Kernel, Linux

Directly include mpc885ads.h from mpc885ads_setup.c. Now we can get rid
of the arch dependent includes in mpc8xx.h.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
---
  arch/powerpc/platforms/8xx/mpc885ads_setup.c |    2 +
  include/asm-powerpc/mpc8xx.h                 |   34 +++++++-------------------
  2 files changed, 11 insertions(+), 25 deletions(-)

diff --git a/arch/powerpc/platforms/8xx/mpc885ads_setup.c b/arch/powerpc/platforms/8xx/mpc885ads_setup.c
index ae69e93..426b897 100644
--- a/arch/powerpc/platforms/8xx/mpc885ads_setup.c
+++ b/arch/powerpc/platforms/8xx/mpc885ads_setup.c
@@ -40,6 +40,8 @@
  #include <asm/fs_pd.h>
  #include <asm/udbg.h>

+#include "mpc885ads.h"
+
  static u32 __iomem *bcsr, *bcsr5;

  #ifdef CONFIG_PCMCIA_M8XX
diff --git a/include/asm-powerpc/mpc8xx.h b/include/asm-powerpc/mpc8xx.h
index 2af9fcb..70fd8a7 100644
--- a/include/asm-powerpc/mpc8xx.h
+++ b/include/asm-powerpc/mpc8xx.h
@@ -1,16 +1,16 @@
-/* This is the single file included by all MPC8xx build options.
- * Since there are many different boards and no standard configuration,
- * we have a unique include file for each.  Rather than change every
- * file that has to include MPC8xx configuration, they all include
- * this one and the configuration switching is done here.
+/*
+ * Prototypes, etc. for the Freescale MPC8xx embedded cpu chips
+ * May need to be cleaned as the port goes on ...
+ *
+ * Copyright (C) 2008 Jochen Friedrich <jochen@scram.de>
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
   */
-#ifdef __KERNEL__
  #ifndef __CONFIG_8xx_DEFS
  #define __CONFIG_8xx_DEFS

-
-#ifdef CONFIG_8xx
-
  extern void mpc8xx_restart(char *cmd);
  extern void mpc8xx_calibrate_decr(void);
  extern int mpc8xx_set_rtc_time(struct rtc_time *tm);
@@ -18,22 +18,6 @@ extern void mpc8xx_get_rtc_time(struct rtc_time *tm);
  extern void mpc8xx_pics_init(void);
  extern unsigned int mpc8xx_get_irq(void);

-#ifdef CONFIG_FADS
-#include <platforms/fads.h>
-#endif
-
-#if defined(CONFIG_MPC86XADS)
-#include <platforms/8xx/mpc86xads.h>
-#endif
-
-#if defined(CONFIG_MPC885ADS)
-#include <platforms/8xx/mpc885ads.h>
-#endif
-
-#ifdef CONFIG_PCMCIA_M8XX
  extern struct mpc8xx_pcmcia_ops m8xx_pcmcia_ops;
-#endif

-#endif /* CONFIG_8xx */
  #endif /* __CONFIG_8xx_DEFS */
-#endif /* __KERNEL__ */
-- 
1.5.3.8

^ permalink raw reply related

* [PATCHv2 5/8] [POWERPC] Remove sysdev/commproc.h
From: Jochen Friedrich @ 2008-01-23 16:00 UTC (permalink / raw)
  To: Vitaly Bordug; +Cc: Scott Wood, linuxppc-dev list, Kernel, Linux

Move cpm1 specific prototypes to asm/commproc.h and mpc8xx specific
prototypes to asm/mpc8xx.h. Adjust includes accordingly. Remove now
unneeded sysdev/commproc.h.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
---
  arch/powerpc/platforms/8xx/ep88xc.c          |    3 +--
  arch/powerpc/platforms/8xx/m8xx_setup.c      |    1 -
  arch/powerpc/platforms/8xx/mpc86xads_setup.c |    2 --
  arch/powerpc/platforms/8xx/mpc885ads_setup.c |    2 --
  arch/powerpc/sysdev/commproc.c               |    1 -
  arch/powerpc/sysdev/commproc.h               |   12 ------------
  arch/powerpc/sysdev/mpc8xx_pic.c             |    1 -
  drivers/net/fs_enet/mac-scc.c                |    1 -
  include/asm-powerpc/commproc.h               |    2 ++
  include/asm-powerpc/mpc8xx.h                 |    7 +++++++
  10 files changed, 10 insertions(+), 22 deletions(-)
  delete mode 100644 arch/powerpc/sysdev/commproc.h

diff --git a/arch/powerpc/platforms/8xx/ep88xc.c b/arch/powerpc/platforms/8xx/ep88xc.c
index c883c31..9365f07 100644
--- a/arch/powerpc/platforms/8xx/ep88xc.c
+++ b/arch/powerpc/platforms/8xx/ep88xc.c
@@ -16,8 +16,7 @@
  #include <asm/io.h>
  #include <asm/udbg.h>
  #include <asm/commproc.h>
-
-#include <sysdev/commproc.h>
+#include <asm/mpc8xx.h>

  struct cpm_pin {
  	int port, pin, flags;
diff --git a/arch/powerpc/platforms/8xx/m8xx_setup.c b/arch/powerpc/platforms/8xx/m8xx_setup.c
index 85abd61..c6a4663 100644
--- a/arch/powerpc/platforms/8xx/m8xx_setup.c
+++ b/arch/powerpc/platforms/8xx/m8xx_setup.c
@@ -25,7 +25,6 @@
  #include <mm/mmu_decl.h>

  #include <sysdev/mpc8xx_pic.h>
-#include <sysdev/commproc.h>

  #ifdef CONFIG_PCMCIA_M8XX
  struct mpc8xx_pcmcia_ops m8xx_pcmcia_ops;
diff --git a/arch/powerpc/platforms/8xx/mpc86xads_setup.c b/arch/powerpc/platforms/8xx/mpc86xads_setup.c
index dea1df1..7389590 100644
--- a/arch/powerpc/platforms/8xx/mpc86xads_setup.c
+++ b/arch/powerpc/platforms/8xx/mpc86xads_setup.c
@@ -27,8 +27,6 @@
  #include <asm/fs_pd.h>
  #include <asm/udbg.h>

-#include <sysdev/commproc.h>
-
  #include "mpc86xads.h"

  struct cpm_pin {
diff --git a/arch/powerpc/platforms/8xx/mpc885ads_setup.c b/arch/powerpc/platforms/8xx/mpc885ads_setup.c
index 8f2aa04..ae69e93 100644
--- a/arch/powerpc/platforms/8xx/mpc885ads_setup.c
+++ b/arch/powerpc/platforms/8xx/mpc885ads_setup.c
@@ -40,8 +40,6 @@
  #include <asm/fs_pd.h>
  #include <asm/udbg.h>

-#include <sysdev/commproc.h>
-
  static u32 __iomem *bcsr, *bcsr5;

  #ifdef CONFIG_PCMCIA_M8XX
diff --git a/arch/powerpc/sysdev/commproc.c b/arch/powerpc/sysdev/commproc.c
index 818d4b0..ef82587 100644
--- a/arch/powerpc/sysdev/commproc.c
+++ b/arch/powerpc/sysdev/commproc.c
@@ -30,7 +30,6 @@
  #include <linux/interrupt.h>
  #include <linux/irq.h>
  #include <linux/module.h>
-#include <asm/mpc8xx.h>
  #include <asm/page.h>
  #include <asm/pgtable.h>
  #include <asm/8xx_immap.h>
diff --git a/arch/powerpc/sysdev/commproc.h b/arch/powerpc/sysdev/commproc.h
deleted file mode 100644
index f481adf..0000000
--- a/arch/powerpc/sysdev/commproc.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef _POWERPC_SYSDEV_COMMPROC_H
-#define _POWERPC_SYSDEV_COMMPROC_H
-
-extern void cpm_reset(void);
-extern void mpc8xx_restart(char *cmd);
-extern void mpc8xx_calibrate_decr(void);
-extern int mpc8xx_set_rtc_time(struct rtc_time *tm);
-extern void mpc8xx_get_rtc_time(struct rtc_time *tm);
-extern void mpc8xx_pics_init(void);
-extern unsigned int mpc8xx_get_irq(void);
-
-#endif
diff --git a/arch/powerpc/sysdev/mpc8xx_pic.c b/arch/powerpc/sysdev/mpc8xx_pic.c
index 7aa4ff5..0e74a4b 100644
--- a/arch/powerpc/sysdev/mpc8xx_pic.c
+++ b/arch/powerpc/sysdev/mpc8xx_pic.c
@@ -10,7 +10,6 @@
  #include <asm/irq.h>
  #include <asm/io.h>
  #include <asm/8xx_immap.h>
-#include <asm/mpc8xx.h>

  #include "mpc8xx_pic.h"

diff --git a/drivers/net/fs_enet/mac-scc.c b/drivers/net/fs_enet/mac-scc.c
index fe3d8a6..1502dbf 100644
--- a/drivers/net/fs_enet/mac-scc.c
+++ b/drivers/net/fs_enet/mac-scc.c
@@ -39,7 +39,6 @@
  #ifdef CONFIG_8xx
  #include <asm/8xx_immap.h>
  #include <asm/pgtable.h>
-#include <asm/mpc8xx.h>
  #include <asm/commproc.h>
  #endif

diff --git a/include/asm-powerpc/commproc.h b/include/asm-powerpc/commproc.h
index 9757521..ec87b8f 100644
--- a/include/asm-powerpc/commproc.h
+++ b/include/asm-powerpc/commproc.h
@@ -89,6 +89,8 @@ extern void cpm_setbrg(uint brg, uint rate);

  extern void cpm_load_patch(cpm8xx_t *cp);

+extern void cpm_reset(void);
+
  /* Buffer descriptors used by many of the CPM protocols.
  */
  typedef struct cpm_buf_desc {
diff --git a/include/asm-powerpc/mpc8xx.h b/include/asm-powerpc/mpc8xx.h
index 2be014b..2af9fcb 100644
--- a/include/asm-powerpc/mpc8xx.h
+++ b/include/asm-powerpc/mpc8xx.h
@@ -11,6 +11,13 @@

  #ifdef CONFIG_8xx

+extern void mpc8xx_restart(char *cmd);
+extern void mpc8xx_calibrate_decr(void);
+extern int mpc8xx_set_rtc_time(struct rtc_time *tm);
+extern void mpc8xx_get_rtc_time(struct rtc_time *tm);
+extern void mpc8xx_pics_init(void);
+extern unsigned int mpc8xx_get_irq(void);
+
  #ifdef CONFIG_FADS
  #include <platforms/fads.h>
  #endif
-- 
1.5.3.8

^ permalink raw reply related

* [PATCHv2 2/8] [POWERPC] Rename m8xx_pic_init to mpc8xx_pics_init
From: Jochen Friedrich @ 2008-01-23 15:59 UTC (permalink / raw)
  To: Vitaly Bordug; +Cc: Scott Wood, linuxppc-dev list, Kernel, Linux

m8xx_pic_init calls both mpc8xx_pic_init and cpm_pic_init. Renaming the
function to use the same name space as the rest of the mpc8xx
specific funtions and to be more meaningful.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
---
  arch/powerpc/platforms/8xx/ep88xc.c          |    2 +-
  arch/powerpc/platforms/8xx/m8xx_setup.c      |    4 ++--
  arch/powerpc/platforms/8xx/mpc86xads_setup.c |    2 +-
  arch/powerpc/platforms/8xx/mpc885ads_setup.c |    2 +-
  arch/powerpc/sysdev/commproc.h               |    2 +-
  5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/platforms/8xx/ep88xc.c b/arch/powerpc/platforms/8xx/ep88xc.c
index c518b6c..c883c31 100644
--- a/arch/powerpc/platforms/8xx/ep88xc.c
+++ b/arch/powerpc/platforms/8xx/ep88xc.c
@@ -166,7 +166,7 @@ define_machine(ep88xc) {
  	.name = "Embedded Planet EP88xC",
  	.probe = ep88xc_probe,
  	.setup_arch = ep88xc_setup_arch,
-	.init_IRQ = m8xx_pic_init,
+	.init_IRQ = mpc8xx_pics_init,
  	.get_irq	= mpc8xx_get_irq,
  	.restart = mpc8xx_restart,
  	.calibrate_decr = mpc8xx_calibrate_decr,
diff --git a/arch/powerpc/platforms/8xx/m8xx_setup.c b/arch/powerpc/platforms/8xx/m8xx_setup.c
index ba645c2..1337457 100644
--- a/arch/powerpc/platforms/8xx/m8xx_setup.c
+++ b/arch/powerpc/platforms/8xx/m8xx_setup.c
@@ -237,13 +237,13 @@ static void cpm_cascade(unsigned int irq, struct irq_desc *desc)
  	desc->chip->eoi(irq);
  }

-/* Initialize the internal interrupt controller.  The number of
+/* Initialize the internal interrupt controllers.  The number of
   * interrupts supported can vary with the processor type, and the
   * 82xx family can have up to 64.
   * External interrupts can be either edge or level triggered, and
   * need to be initialized by the appropriate driver.
   */
-void __init m8xx_pic_init(void)
+void __init mpc8xx_pics_init(void)
  {
  	int irq;

diff --git a/arch/powerpc/platforms/8xx/mpc86xads_setup.c b/arch/powerpc/platforms/8xx/mpc86xads_setup.c
index d2927a4..dea1df1 100644
--- a/arch/powerpc/platforms/8xx/mpc86xads_setup.c
+++ b/arch/powerpc/platforms/8xx/mpc86xads_setup.c
@@ -139,7 +139,7 @@ define_machine(mpc86x_ads) {
  	.name			= "MPC86x ADS",
  	.probe			= mpc86xads_probe,
  	.setup_arch		= mpc86xads_setup_arch,
-	.init_IRQ		= m8xx_pic_init,
+	.init_IRQ		= mpc8xx_pics_init,
  	.get_irq		= mpc8xx_get_irq,
  	.restart		= mpc8xx_restart,
  	.calibrate_decr		= mpc8xx_calibrate_decr,
diff --git a/arch/powerpc/platforms/8xx/mpc885ads_setup.c b/arch/powerpc/platforms/8xx/mpc885ads_setup.c
index 2cf1b6a..8f2aa04 100644
--- a/arch/powerpc/platforms/8xx/mpc885ads_setup.c
+++ b/arch/powerpc/platforms/8xx/mpc885ads_setup.c
@@ -275,7 +275,7 @@ define_machine(mpc885_ads) {
  	.name			= "Freescale MPC885 ADS",
  	.probe			= mpc885ads_probe,
  	.setup_arch		= mpc885ads_setup_arch,
-	.init_IRQ		= m8xx_pic_init,
+	.init_IRQ		= mpc8xx_pics_init,
  	.get_irq		= mpc8xx_get_irq,
  	.restart		= mpc8xx_restart,
  	.calibrate_decr		= mpc8xx_calibrate_decr,
diff --git a/arch/powerpc/sysdev/commproc.h b/arch/powerpc/sysdev/commproc.h
index 9155ba4..f481adf 100644
--- a/arch/powerpc/sysdev/commproc.h
+++ b/arch/powerpc/sysdev/commproc.h
@@ -6,7 +6,7 @@ extern void mpc8xx_restart(char *cmd);
  extern void mpc8xx_calibrate_decr(void);
  extern int mpc8xx_set_rtc_time(struct rtc_time *tm);
  extern void mpc8xx_get_rtc_time(struct rtc_time *tm);
-extern void m8xx_pic_init(void);
+extern void mpc8xx_pics_init(void);
  extern unsigned int mpc8xx_get_irq(void);

  #endif
-- 
1.5.3.8

^ permalink raw reply related

* [PATCHv2 4/8] [POWERPC] Remove declaration of m8xx_pic_init.
From: Jochen Friedrich @ 2008-01-23 16:00 UTC (permalink / raw)
  To: Vitaly Bordug; +Cc: Scott Wood, linuxppc-dev list, Kernel, Linux

m8xx_pic_init is declared in ppc8xx_pic.h but defined nowhere in the ppc
tree. Remove it.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
---
  arch/ppc/syslib/ppc8xx_pic.h |    1 -
  1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/ppc/syslib/ppc8xx_pic.h b/arch/ppc/syslib/ppc8xx_pic.h
index d7d9f65..53bcd97 100644
--- a/arch/ppc/syslib/ppc8xx_pic.h
+++ b/arch/ppc/syslib/ppc8xx_pic.h
@@ -6,7 +6,6 @@

  extern struct hw_interrupt_type ppc8xx_pic;

-void m8xx_pic_init(void);
  void m8xx_do_IRQ(struct pt_regs *regs,
                   int            cpu);
  int m8xx_get_irq(struct pt_regs *regs);
-- 
1.5.3.8

^ permalink raw reply related

* [PATCHv2 3/8] [POWERPC] Remove unneeded and misspelled prototype m8xx_calibrate_decr
From: Jochen Friedrich @ 2008-01-23 15:59 UTC (permalink / raw)
  To: Vitaly Bordug; +Cc: Scott Wood, linuxppc-dev list, Kernel, Linux

m8xx_calibrate_decr seems to be a misspelled prototype for
mpc8xx_calibrate_decr. As it's not needed anyways, just remove it.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
---
  arch/powerpc/platforms/8xx/m8xx_setup.c |    1 -
  1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/platforms/8xx/m8xx_setup.c b/arch/powerpc/platforms/8xx/m8xx_setup.c
index 1337457..85abd61 100644
--- a/arch/powerpc/platforms/8xx/m8xx_setup.c
+++ b/arch/powerpc/platforms/8xx/m8xx_setup.c
@@ -31,7 +31,6 @@
  struct mpc8xx_pcmcia_ops m8xx_pcmcia_ops;
  #endif

-void m8xx_calibrate_decr(void);
  extern int cpm_pic_init(void);
  extern int cpm_get_irq(void);

-- 
1.5.3.8

^ permalink raw reply related

* [PATCHv2 1/8] [POWERPC] Remove unused m8xx_cpm_hostalloc/free/dump()
From: Jochen Friedrich @ 2008-01-23 15:59 UTC (permalink / raw)
  To: Vitaly Bordug; +Cc: Scott Wood, linuxppc-dev list, Kernel, Linux

m8xx_cpm_hostalloc is still defined in commproc.c, but no users are left
in the kernel tree. m8xx_cpm_hostfree and m8xx_cpm_hostdump are only
defined in the headers. Remove this dead code.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
---
  arch/powerpc/sysdev/commproc.c |   37 -------------------------------------
  arch/ppc/8xx_io/commproc.c     |   38 --------------------------------------
  include/asm-powerpc/commproc.h |    4 ----
  include/asm-ppc/commproc.h     |    4 ----
  4 files changed, 0 insertions(+), 83 deletions(-)

diff --git a/arch/powerpc/sysdev/commproc.c b/arch/powerpc/sysdev/commproc.c
index 621bc6c..818d4b0 100644
--- a/arch/powerpc/sysdev/commproc.c
+++ b/arch/powerpc/sysdev/commproc.c
@@ -48,8 +48,6 @@
  #ifndef CONFIG_PPC_CPM_NEW_BINDING
  static void m8xx_cpm_dpinit(void);
  #endif
-static uint host_buffer; /* One page of host buffer */
-static uint host_end;    /* end + 1 */
  cpm8xx_t __iomem *cpmp;  /* Pointer to comm processor space */
  immap_t __iomem *mpc8xx_immr;
  static cpic8xx_t __iomem *cpic_reg;
@@ -268,41 +266,6 @@ out:
  }
  EXPORT_SYMBOL(cpm_command);

-/* We used to do this earlier, but have to postpone as long as possible
- * to ensure the kernel VM is now running.
- */
-static void
-alloc_host_memory(void)
-{
-	dma_addr_t	physaddr;
-
-	/* Set the host page for allocation.
-	*/
-	host_buffer = (uint)dma_alloc_coherent(NULL, PAGE_SIZE, &physaddr,
-			GFP_KERNEL);
-	host_end = host_buffer + PAGE_SIZE;
-}
-
-/* We also own one page of host buffer space for the allocation of
- * UART "fifos" and the like.
- */
-uint
-m8xx_cpm_hostalloc(uint size)
-{
-	uint	retloc;
-
-	if (host_buffer == 0)
-		alloc_host_memory();
-
-	if ((host_buffer + size) >= host_end)
-		return(0);
-
-	retloc = host_buffer;
-	host_buffer += size;
-
-	return(retloc);
-}
-
  /* Set a baud rate generator.  This needs lots of work.  There are
   * four BRGs, any of which can be wired to any channel.
   * The internal baud rate clock is the system clock divided by 16.
diff --git a/arch/ppc/8xx_io/commproc.c b/arch/ppc/8xx_io/commproc.c
index 9da880b..3f93af8 100644
--- a/arch/ppc/8xx_io/commproc.c
+++ b/arch/ppc/8xx_io/commproc.c
@@ -55,8 +55,6 @@
  })

  static void m8xx_cpm_dpinit(void);
-static	uint	host_buffer;	/* One page of host buffer */
-static	uint	host_end;	/* end + 1 */
  cpm8xx_t	*cpmp;		/* Pointer to comm processor space */

  /* CPM interrupt vector functions.
@@ -68,7 +66,6 @@ struct	cpm_action {
  static	struct	cpm_action cpm_vecs[CPMVEC_NR];
  static	irqreturn_t cpm_interrupt(int irq, void * dev);
  static	irqreturn_t cpm_error_interrupt(int irq, void *dev);
-static	void	alloc_host_memory(void);
  /* Define a table of names to identify CPM interrupt handlers in
   * /proc/interrupts.
   */
@@ -158,21 +155,6 @@ m8xx_cpm_reset(void)
  	cpmp = (cpm8xx_t *)commproc;
  }

-/* We used to do this earlier, but have to postpone as long as possible
- * to ensure the kernel VM is now running.
- */
-static void
-alloc_host_memory(void)
-{
-	dma_addr_t	physaddr;
-
-	/* Set the host page for allocation.
-	*/
-	host_buffer = (uint)dma_alloc_coherent(NULL, PAGE_SIZE, &physaddr,
-			GFP_KERNEL);
-	host_end = host_buffer + PAGE_SIZE;
-}
-
  /* This is called during init_IRQ.  We used to do it above, but this
   * was too early since init_IRQ was not yet called.
   */
@@ -319,26 +301,6 @@ cpm_free_handler(int cpm_vec)
  	cpm_vecs[cpm_vec].dev_id = NULL;
  }

-/* We also own one page of host buffer space for the allocation of
- * UART "fifos" and the like.
- */
-uint
-m8xx_cpm_hostalloc(uint size)
-{
-	uint	retloc;
-
-	if (host_buffer == 0)
-		alloc_host_memory();
-
-	if ((host_buffer + size) >= host_end)
-		return(0);
-
-	retloc = host_buffer;
-	host_buffer += size;
-
-	return(retloc);
-}
-
  /* Set a baud rate generator.  This needs lots of work.  There are
   * four BRGs, any of which can be wired to any channel.
   * The internal baud rate clock is the system clock divided by 16.
diff --git a/include/asm-powerpc/commproc.h b/include/asm-powerpc/commproc.h
index 9e3b864..9757521 100644
--- a/include/asm-powerpc/commproc.h
+++ b/include/asm-powerpc/commproc.h
@@ -87,10 +87,6 @@ extern uint cpm_dpram_phys(u8* addr);

  extern void cpm_setbrg(uint brg, uint rate);

-extern uint m8xx_cpm_hostalloc(uint size);
-extern int  m8xx_cpm_hostfree(uint start);
-extern void m8xx_cpm_hostdump(void);
-
  extern void cpm_load_patch(cpm8xx_t *cp);

  /* Buffer descriptors used by many of the CPM protocols.
diff --git a/include/asm-ppc/commproc.h b/include/asm-ppc/commproc.h
index 462abb1..5418d6d 100644
--- a/include/asm-ppc/commproc.h
+++ b/include/asm-ppc/commproc.h
@@ -75,10 +75,6 @@ extern void *cpm_dpram_addr(unsigned long offset);
  extern uint cpm_dpram_phys(u8* addr);
  extern void cpm_setbrg(uint brg, uint rate);

-extern uint m8xx_cpm_hostalloc(uint size);
-extern int  m8xx_cpm_hostfree(uint start);
-extern void m8xx_cpm_hostdump(void);
-
  extern void cpm_load_patch(volatile immap_t *immr);

  /* Buffer descriptors used by many of the CPM protocols.
-- 
1.5.3.8

^ permalink raw reply related

* [PATCHv2 0/8] [POWERPC] 8xx cleanups
From: Jochen Friedrich @ 2008-01-23 15:58 UTC (permalink / raw)
  To: Vitaly Bordug; +Cc: Scott Wood, linuxppc-dev list, Kernel, Linux

Hi,

this is a series against paulus for-2.6.25 tree to clean up various 8xx related stuff.
The series can be pulled from git://git.bocc.de/dbox2.git cleanup.
Patch 6 has been modified to remove the #ifdefs as suggested by Arndt Bergmann.
Patch 8 is a new one.

[POWERPC] Remove unused m8xx_cpm_hostalloc/free/dump()
[POWERPC] Rename m8xx_pic_init to mpc8xx_pics_init
[POWERPC] Remove unneeded and misspelled prototype m8xx_calibrate_decr
[POWERPC] Remove declaration of m8xx_pic_init.
[POWERPC] Remove sysdev/commproc.h
[POWERPC] Get rid of conditional includes of board specific setup
[POWERPC] Rename commproc to cpm1 and cpm2_common.c to cpm2.c
[POWERPC] Move definition of buffer descriptor to cpm.h

Thanks,
Jochen

^ permalink raw reply

* Re: [PATCH] Fix boot problem in situations where the boot CPU is running on a memoryless node
From: Mel Gorman @ 2008-01-23 15:56 UTC (permalink / raw)
  To: Pekka J Enberg
  Cc: lee.schermerhorn, Olaf Hering, Linux MM, linux-kernel,
	linuxppc-dev, Aneesh Kumar K.V, hanth Aravamudan, akpm,
	KAMEZAWA Hiroyuki, Christoph Lameter
In-Reply-To: <Pine.LNX.4.64.0801231648140.23343@sbz-30.cs.Helsinki.FI>

On (23/01/08 16:49), Pekka J Enberg didst pronounce:
> Hi,
> 
> On Wed, 23 Jan 2008, Pekka J Enberg wrote:
> > > I still think Christoph's kmem_getpages() patch is correct (to fix 
> > > cache_grow() oops) but I overlooked the fact that none the callers of 
> > > ____cache_alloc_node() deal with bootstrapping (with the exception of 
> > > __cache_alloc_node() that even has a comment about it).
> > 
> > So something like this (totally untested) patch on top of current git:
> 
> Sorry, removed a BUG_ON() from cache_alloc_refill() by mistake, here's a 
> better one:
> 

Applied in combination with the N_NORMAL_MEMORY revert and it fails to
boot. Console is as follows;

Linux version 2.6.24-rc8-autokern1 (root@gekko-lp3.ltc.austin.ibm.com)
(gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)) #2 SMP Wed Jan 23
10:37:36 EST 2008
[boot]0012 Setup Arch
EEH: PCI Enhanced I/O Error Handling Enabled
PPC64 nvram contains 7168 bytes
Zone PFN ranges:
  DMA             0 ->  1048576
  Normal    1048576 ->  1048576
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    2:        0 ->  1048576
Could not find start_pfn for node 0
[boot]0015 Setup Done
Built 2 zonelists in Node order, mobility grouping on.  Total pages: 1034240
Policy zone: DMA
Kernel command line: ro console=hvc0 autobench_args: root=/dev/sda6
ABAT:1201101591 loglevel=8 
[boot]0020 XICS Init
xics: no ISA interrupt controller
[boot]0021 XICS Done
PID hash table entries: 4096 (order: 12, 32768 bytes)
time_init: decrementer frequency = 238.059000 MHz
time_init: processor frequency   = 1904.472000 MHz
clocksource: timebase mult[10cd746] shift[22] registered
clockevent: decrementer mult[3cf1] shift[16] cpu[0]
Console: colour dummy device 80x25
console handover: boot [udbg0] -> real [hvc0]
Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
freeing bootmem node 2
Memory: 4105560k/4194304k available (5004k kernel code, 88744k reserved,
876k data, 559k bss, 272k init)
Unable to handle kernel paging request for data at address 0x00000040
Faulting instruction address: 0xc0000000003c8ae8
cpu 0x0: Vector: 300 (Data Access) at [c0000000005c3840]
    pc: c0000000003c8ae8: __lock_text_start+0x20/0x88
    lr: c0000000000dadb4: .cache_grow+0x7c/0x338
    sp: c0000000005c3ac0
   msr: 8000000000009032
   dar: 40
 dsisr: 40000000
  current = 0xc000000000500f10
  paca    = 0xc000000000501b80
    pid   = 0, comm = swapper
enter ? for help
[c0000000005c3b40] c0000000000dadb4 .cache_grow+0x7c/0x338
[c0000000005c3c00] c0000000000db518 .fallback_alloc+0x1c0/0x224
[c0000000005c3cb0] c0000000000db920 .kmem_cache_alloc+0xe0/0x14c
[c0000000005c3d50] c0000000000dcbd0 .kmem_cache_create+0x230/0x4cc
[c0000000005c3e30] c0000000004c049c .kmem_cache_init+0x1ec/0x51c
[c0000000005c3ee0] c00000000049f8d8 .start_kernel+0x304/0x3fc
[c0000000005c3f90] c000000000008594 .start_here_common+0x54/0xc0

0xc0000000000dadb4 is in cache_grow (mm/slab.c:2782).
2777            local_flags = flags & (GFP_CONSTRAINT_MASK|GFP_RECLAIM_MASK);
2778    
2779            /* Take the l3 list lock to change the colour_next on this node */
2780            check_irq_off();
2781            l3 = cachep->nodelists[nodeid];
2782            spin_lock(&l3->list_lock);
2783    
2784            /* Get colour for the slab, and cal the next value. */
2785            offset = l3->colour_next;
2786            l3->colour_next++;

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

^ permalink raw reply

* RE: Xilinx XPS_LL_TEMAC vs PLB_TEMAC
From: Mohammad Sadegh Sadri @ 2008-01-23 15:12 UTC (permalink / raw)
  To: Koss, Mike (Mission Systems), David Baird, linuxppc-embedded
In-Reply-To: <EDAE140DF1B2FC42B5867C22CA0B333F0A5959@XMBIL132.northgrum.com>

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


So, in this case, our base system, created with EDK 9.2 will not be the same as previous systems, as shown in 
http://www.xilinx.com/esp/wired/optical/xlnx_net/mpmc.htm
PLB and OPB usage is limited to a small area of design...

Subject: RE: Xilinx XPS_LL_TEMAC vs PLB_TEMAC
Date: Wed, 23 Jan 2008 07:43:14 -0600
From: mike.koss@ngc.com
To: mamsadegh@hotmail.com; dhbaird@gmail.com; linuxppc-embedded@ozlabs.org










Actually, with the MPMC3 the XPS_LL_TEMAC still can 
directly connect to the MPMC. You set one of the ports' type to SDMA and it 
instantiates what is similar to the old CDMAC. 



From: Mohammad Sadegh Sadri 
[mailto:mamsadegh@hotmail.com] 
Sent: Wednesday, January 23, 2008 2:36 
AM
To: Koss, Mike (Mission Systems); David Baird; 
linuxppc-embedded@ozlabs.org
Subject: RE: Xilinx XPS_LL_TEMAC vs 
PLB_TEMAC


Hi

Well, As you know, we now need a PLB version, XPS_LL_TEMAC 
is connected to PLB not MPMC2...yes I remember those days of Xilinx GSRD and 
MPMC2 however it seems that the current architecture has slight changes. 


about the git repository of Xilinx, Although I do not believe on it, 
I'll give it a try...thanks for info.

well, what about Grant Likely... 
and his git tree?



  
  Subject: RE: Xilinx XPS_LL_TEMAC vs PLB_TEMAC
Date: Mon, 21 Jan 2008 
  11:44:14 -0600
From: mike.koss@ngc.com
To: mamsadegh@hotmail.com; 
  dhbaird@gmail.com; linuxppc-embedded@ozlabs.org


  
  

  In case anyone is interested, I'm currently 
  working on an almost-kernel-ready version that will be self-contained based on 
  the LL-DMA version (the native MPMC port, not the PLB). It's based upon the 
  old adapter from MontaVista, that I originally ported to 2.6 and the MPMC2. 
  Unfortunately, it won't be ready for another few weeks since I'm working on 
  hardware images currently.
   
  -- Mike

  
  
  From: Mohammad Sadegh Sadri 
  [mailto:mamsadegh@hotmail.com] 
Sent: Monday, January 21, 2008 3:54 
  AM
To: David Baird; linuxppc-embedded@ozlabs.org
Subject: 
  RE: Xilinx XPS_LL_TEMAC vs PLB_TEMAC


  thanks for you reply david,

As far as I know the Linux 
  driver for Xilinx PLB TEMAC was two parts : 1- adapter.c and 2- the rest of 
  the driver files

Only adapter.c was really a linux related file and the 
  rest of the files were Xilinx generic driver code for PLB 
  TEMAC.

correct?

then now, I know EDK 9.2 generates the needed 
  Linux support package and needed related files, so if this is the case can we 
  use these files as the needed driver in our linux kernel?

by the way, i 
  did never hear about this git repository before...can you describe us, where 
  is it and how we can access it and which projects are now hosted by 
  it?


thanks


> Date: Mon, 21 Jan 2008 00:54:30 
  -0700
> From: dhbaird@gmail.com
> To: 
  mamsadegh@hotmail.com
> Subject: Re: Xilinx XPS_LL_TEMAC vs 
  PLB_TEMAC
> 
> On Jan 21, 2008 12:36 AM, Mohammad Sadegh Sadri 
  <mamsadegh@hotmail.com> wrote:
> > As you know Xilinx PLB TEMAC 
  is a module which connects Hard TEMAC in
> > Virtex-4 FX devices to 
  PLB bus,
> > now, in the new release of EDK , EDK 9.2 Xilinx has 
  added a new interface
> > core , which is called XPS_LL_TEMAC and has 
  a different structure than
> > normal PLB TEMAC. spacially it has 
  some additional data transfer buses.
> >
> > Now the 
  question is,... is there any linux driver available for this new
> > 
  core?
> 
> Yes there is, but I had to use the git sources 
  at:
> 
> git.xilinx.com


  
  




_________________________________________________________________


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

^ permalink raw reply

* Re: CONFIG_PCI interaction with pata_platform driver on MPC834x board
From: Johns Daniel @ 2008-01-23 15:06 UTC (permalink / raw)
  To: linuxppc-embedded
In-Reply-To: <ba5d9360712210737h133fd831vbfb7c9f996c6df7c@mail.gmail.com>

I am asking this question once more since my previous try -- right
before the Christmas break -- did not elicit any responses!   ;~)

Without PCI support configured in the kernel, the CompactFlash card is
discovered and configured by the kernel. With PCI support configured
in the kernel, it fails to discover the CF card through the
pata_platform driver.

(Note that both PCI and CF work fine on this same board with the
generic IDE driver!)

There are only two differences that I notice between the two kernel
setups that might be significant:
1.) The libata virq changes from 19 to 20.
2.) The isa_io_base changes from 0x0 to 0xfcfff000.
Are either of these two changes significant?

I am using the "arch/powerpc" kernel, version 2.6.20.21. The CF is
wired directly to the local bus in True IDE mode.

I have some debug info included in my previous message at:

http://www.nabble.com/CONFIG_PCI-interaction-with-pata_platform-driver-on-MPC834x-board-tc14457502.html

TIA!

-- Johns

^ permalink raw reply

* Re: [PATCH] Fix boot problem in situations where the boot CPU is running on a memoryless node
From: Pekka J Enberg @ 2008-01-23 14:49 UTC (permalink / raw)
  To: Mel Gorman
  Cc: lee.schermerhorn, Olaf Hering, Linux MM, linux-kernel,
	linuxppc-dev, Aneesh Kumar K.V, hanth Aravamudan, akpm,
	KAMEZAWA Hiroyuki, Christoph Lameter
In-Reply-To: <Pine.LNX.4.64.0801231626320.21475@sbz-30.cs.Helsinki.FI>

Hi,

On Wed, 23 Jan 2008, Pekka J Enberg wrote:
> > I still think Christoph's kmem_getpages() patch is correct (to fix 
> > cache_grow() oops) but I overlooked the fact that none the callers of 
> > ____cache_alloc_node() deal with bootstrapping (with the exception of 
> > __cache_alloc_node() that even has a comment about it).
> 
> So something like this (totally untested) patch on top of current git:

Sorry, removed a BUG_ON() from cache_alloc_refill() by mistake, here's a 
better one:

[PATCH] slab: fix allocation on memoryless nodes
From: Pekka Enberg <penberg@cs.helsinki.fi>

As memoryless nodes do not have a nodelist, change cache_alloc_refill() to bail
out for those and let ____cache_alloc_node() always deal with that by resorting
to fallback_alloc().

Furthermore, don't let kmem_getpages() call alloc_pages_node() if nodeid passed
to it is -1 as the latter will always translate that to numa_node_id() which
might not have ->nodelist that caused the invocation of fallback_alloc() in the
first place (for example, during bootstrap).

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
---
 mm/slab.c |   19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

Index: linux-2.6/mm/slab.c
===================================================================
--- linux-2.6.orig/mm/slab.c
+++ linux-2.6/mm/slab.c
@@ -1668,7 +1668,11 @@ static void *kmem_getpages(struct kmem_c
 	if (cachep->flags & SLAB_RECLAIM_ACCOUNT)
 		flags |= __GFP_RECLAIMABLE;
 
-	page = alloc_pages_node(nodeid, flags, cachep->gfporder);
+	if (nodeid == -1)
+		page = alloc_pages(flags, cachep->gfporder);
+	else
+		page = alloc_pages_node(nodeid, flags, cachep->gfporder);
+
 	if (!page)
 		return NULL;
 
@@ -2975,9 +2979,11 @@ retry:
 		 */
 		batchcount = BATCHREFILL_LIMIT;
 	}
+	BUG_ON(ac->avail > 0);
 	l3 = cachep->nodelists[node];
+	if (!l3)
+		return NULL;
 
-	BUG_ON(ac->avail > 0 || !l3);
 	spin_lock(&l3->list_lock);
 
 	/* See if we can refill from the shared array */
@@ -3317,7 +3323,8 @@ static void *____cache_alloc_node(struct
 	int x;
 
 	l3 = cachep->nodelists[nodeid];
-	BUG_ON(!l3);
+	if (!l3)
+		return fallback_alloc(cachep, flags);
 
 retry:
 	check_irq_off();
@@ -3394,12 +3401,6 @@ __cache_alloc_node(struct kmem_cache *ca
 	if (unlikely(nodeid == -1))
 		nodeid = numa_node_id();
 
-	if (unlikely(!cachep->nodelists[nodeid])) {
-		/* Node not bootstrapped yet */
-		ptr = fallback_alloc(cachep, flags);
-		goto out;
-	}
-
 	if (nodeid == numa_node_id()) {
 		/*
 		 * Use the locally cached objects if possible.

^ permalink raw reply

* Re: [PATCH] Fix boot problem in situations where the boot CPU is running on a memoryless node
From: Mel Gorman @ 2008-01-23 14:42 UTC (permalink / raw)
  To: Olaf Hering
  Cc: lee.schermerhorn, linuxppc-dev, linux-kernel, Linux MM,
	Pekka Enberg, Aneesh Kumar K.V, hanth Aravamudan, akpm,
	KAMEZAWA Hiroyuki, Christoph Lameter
In-Reply-To: <20080123142759.GB19161@aepfle.de>

On (23/01/08 15:27), Olaf Hering didst pronounce:
> On Wed, Jan 23, Mel Gorman wrote:
> 
> > This patch in combination with a partial revert of commit
> > 04231b3002ac53f8a64a7bd142fde3fa4b6808c6 fixes a regression between 2.6.23
> > and 2.6.24-rc8 where a PPC64 machine with all CPUS on a memoryless node fails
> > to boot. If approved by the SLAB maintainers, it should be merged for 2.6.24.
> 
> This change alone does not help, its not the version I tested.
> Will all the changes below go into 2.6.24 as well, in a seperate patch?
> 
> -       for_each_node_state(node, N_NORMAL_MEMORY) {
> +       for_each_online_node(node) {

Those changes are already in a separate patch and have been sent. I don't
see it in git yet but it should be on the way.

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

^ permalink raw reply

* Re: [PATCH 2/3] Convert PowerPC MPC i2c to of_platform_driver from platform_driver
From: Jon Smirl @ 2008-01-23 14:40 UTC (permalink / raw)
  To: Jon Loeliger; +Cc: linuxppc-dev, i2c
In-Reply-To: <E1JHgdB-0002zV-F4@jdl.com>

On 1/23/08, Jon Loeliger <jdl@jdl.com> wrote:
> So, like, the other day Jon Smirl mumbled:
> > Convert MPC i2c driver from a platform_driver to a
> > of_platform_driver. Add the ability to dynamically load i2c drivers
> > based on device tree names. Routine names were changed from fsl_ to
> > mpc_ to make them match the file name. Common code moved to
> > powerpc-common.* Orginal ppc driver left intact for deletion when ppc
> > arch is removed.
>
> This seems backwards to me.  I was under the impression
> that our trend was _toward_ "Freescale" and "fsl" names...?
> And aren't the drivers also already using "fsl-i2c" in the
> DTS files as called out in the b-w-o.txt too?

The routine names should match the file name which then determines the
module name. I didn't want to change the module name so I made the
routines names match the module name.

>
> Grumble long lines not hard-limited to 70-ish columns,
> yes, even in log messages... :-)
>
> jdl
>


-- 
Jon Smirl
jonsmirl@gmail.com

^ permalink raw reply

* Re: [PATCH] Fix boot problem in situations where the boot CPU is running on a memoryless node
From: Pekka J Enberg @ 2008-01-23 14:32 UTC (permalink / raw)
  To: Mel Gorman
  Cc: lee.schermerhorn, Olaf Hering, Linux MM, linux-kernel,
	linuxppc-dev, Aneesh Kumar K.V, hanth Aravamudan, akpm,
	KAMEZAWA Hiroyuki, Christoph Lameter
In-Reply-To: <Pine.LNX.4.64.0801231611160.20050@sbz-30.cs.Helsinki.FI>

On Wed, 23 Jan 2008, Pekka J Enberg wrote:
> I still think Christoph's kmem_getpages() patch is correct (to fix 
> cache_grow() oops) but I overlooked the fact that none the callers of 
> ____cache_alloc_node() deal with bootstrapping (with the exception of 
> __cache_alloc_node() that even has a comment about it).

So something like this (totally untested) patch on top of current git:

---
 mm/slab.c |   18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

Index: linux-2.6/mm/slab.c
===================================================================
--- linux-2.6.orig/mm/slab.c
+++ linux-2.6/mm/slab.c
@@ -1668,7 +1668,11 @@ static void *kmem_getpages(struct kmem_c
 	if (cachep->flags & SLAB_RECLAIM_ACCOUNT)
 		flags |= __GFP_RECLAIMABLE;
 
-	page = alloc_pages_node(nodeid, flags, cachep->gfporder);
+	if (nodeid == -1)
+		page = alloc_pages(flags, cachep->gfporder);
+	else
+		page = alloc_pages_node(nodeid, flags, cachep->gfporder);
+
 	if (!page)
 		return NULL;
 
@@ -2976,8 +2980,9 @@ retry:
 		batchcount = BATCHREFILL_LIMIT;
 	}
 	l3 = cachep->nodelists[node];
+	if (!l3)
+		return NULL;
 
-	BUG_ON(ac->avail > 0 || !l3);
 	spin_lock(&l3->list_lock);
 
 	/* See if we can refill from the shared array */
@@ -3317,7 +3322,8 @@ static void *____cache_alloc_node(struct
 	int x;
 
 	l3 = cachep->nodelists[nodeid];
-	BUG_ON(!l3);
+	if (!l3)
+		return fallback_alloc(cachep, flags);
 
 retry:
 	check_irq_off();
@@ -3394,12 +3400,6 @@ __cache_alloc_node(struct kmem_cache *ca
 	if (unlikely(nodeid == -1))
 		nodeid = numa_node_id();
 
-	if (unlikely(!cachep->nodelists[nodeid])) {
-		/* Node not bootstrapped yet */
-		ptr = fallback_alloc(cachep, flags);
-		goto out;
-	}
-
 	if (nodeid == numa_node_id()) {
 		/*
 		 * Use the locally cached objects if possible.

^ permalink raw reply

* Re: [PATCH 2/3] Convert PowerPC MPC i2c to of_platform_driver from platform_driver
From: Jon Loeliger @ 2008-01-23 14:31 UTC (permalink / raw)
  To: Jon Smirl; +Cc: linuxppc-dev, i2c
In-Reply-To: <20080123020914.31675.35659.stgit@terra.home>

So, like, the other day Jon Smirl mumbled:
> Convert MPC i2c driver from a platform_driver to a
> of_platform_driver. Add the ability to dynamically load i2c drivers
> based on device tree names. Routine names were changed from fsl_ to
> mpc_ to make them match the file name. Common code moved to
> powerpc-common.* Orginal ppc driver left intact for deletion when ppc
> arch is removed.

This seems backwards to me.  I was under the impression
that our trend was _toward_ "Freescale" and "fsl" names...?
And aren't the drivers also already using "fsl-i2c" in the
DTS files as called out in the b-w-o.txt too?

Grumble long lines not hard-limited to 70-ish columns,
yes, even in log messages... :-)

jdl

^ permalink raw reply

* Re: [PATCHv2] i2c: adds support for i2c bus on Frescale CPM1/CPM2 controllers
From: Jon Smirl @ 2008-01-23 14:28 UTC (permalink / raw)
  To: Jean Delvare
  Cc: Stephen Rothwell, linux-kernel, linuxppc-dev, Linux I2C,
	Scott Wood
In-Reply-To: <20080123140232.67273b22@hyperion.delvare>

On 1/23/08, Jean Delvare <khali@linux-fr.org> wrote:
> Hallo Jochen,
>
> On Wed, 23 Jan 2008 12:23:58 +0100, Jochen Friedrich wrote:
> > Hi Jean,
> >
> > > Do you have an updated patch addressing Stephen's comment?
> > >
> > > Note: you'd rather send updates of this patch to the i2c list rather
> > > than LKML.
> >
> > I'm currently looking at that last patches from Jon and try to make this
> > driver fit in there (+ the class override stuff).
>
> I'm not sure what patches exactly you're talking about, but the
> aliasing stuff Jon and myself have been working on are still under
> debate. Your patch shouldn't assume that any of these patches will go
> upstream immediately, so your patch adding the i2c-cpm driver can
> ignore them. I'll update the patches before merging them as needed, do
> not worry too much about that.

He wants the module name translation support I split out into powerpc-common.c.

>
> > Note: will do. I just subscribed to this list.
>
> Note hat you do not need to be subscribed to post to the i2c list (but
> of course, if you have some interest in Linux i2c development,
> subscribing was a good idea anyway.)
>
> --
> Jean Delvare
>


-- 
Jon Smirl
jonsmirl@gmail.com

^ permalink raw reply

* Re: [PATCH] Fix boot problem in situations where the boot CPU is running on a memoryless node
From: Olaf Hering @ 2008-01-23 14:27 UTC (permalink / raw)
  To: Mel Gorman
  Cc: lee.schermerhorn, linuxppc-dev, linux-kernel, Linux MM,
	Pekka Enberg, Aneesh Kumar K.V, hanth Aravamudan, akpm,
	KAMEZAWA Hiroyuki, Christoph Lameter
In-Reply-To: <20080123135513.GA14175@csn.ul.ie>

On Wed, Jan 23, Mel Gorman wrote:

> This patch in combination with a partial revert of commit
> 04231b3002ac53f8a64a7bd142fde3fa4b6808c6 fixes a regression between 2.6.23
> and 2.6.24-rc8 where a PPC64 machine with all CPUS on a memoryless node fails
> to boot. If approved by the SLAB maintainers, it should be merged for 2.6.24.

This change alone does not help, its not the version I tested.
Will all the changes below go into 2.6.24 as well, in a seperate patch?

-       for_each_node_state(node, N_NORMAL_MEMORY) {
+       for_each_online_node(node) {

^ permalink raw reply

* Re: [PATCH] Fix boot problem in situations where the boot CPU is running on a memoryless node
From: Pekka J Enberg @ 2008-01-23 14:18 UTC (permalink / raw)
  To: Mel Gorman
  Cc: lee.schermerhorn, Olaf Hering, Linux MM, linux-kernel,
	linuxppc-dev, Aneesh Kumar K.V, hanth Aravamudan, akpm,
	KAMEZAWA Hiroyuki, Christoph Lameter
In-Reply-To: <20080123135513.GA14175@csn.ul.ie>

Hi Mel,

On Wed, 23 Jan 2008, Mel Gorman wrote:
> diff -rup -X /usr/src/patchset-0.6/bin//dontdiff linux-2.6.24-rc8-005-revert-memoryless-slab/mm/slab.c linux-2.6.24-rc8-010_handle_missing_l3/mm/slab.c
> --- linux-2.6.24-rc8-005-revert-memoryless-slab/mm/slab.c	2008-01-22 17:46:32.000000000 +0000
> +++ linux-2.6.24-rc8-010_handle_missing_l3/mm/slab.c	2008-01-22 18:42:53.000000000 +0000
> @@ -2775,6 +2775,11 @@ static int cache_grow(struct kmem_cache 
>  	/* Take the l3 list lock to change the colour_next on this node */
>  	check_irq_off();
>  	l3 = cachep->nodelists[nodeid];
> +	if (!l3) {
> +		nodeid = numa_node_id();
> +		l3 = cachep->nodelists[nodeid];
> +	}
> +	BUG_ON(!l3);
>  	spin_lock(&l3->list_lock);
>  
>  	/* Get colour for the slab, and cal the next value. */
> @@ -3317,6 +3322,10 @@ static void *____cache_alloc_node(struct
>  	int x;
>  
>  	l3 = cachep->nodelists[nodeid];
> +	if (!l3) {
> +		nodeid = numa_node_id();
> +		l3 = cachep->nodelists[nodeid];
> +	}

What guarantees that current node ->nodelists is never NULL?

I still think Christoph's kmem_getpages() patch is correct (to fix 
cache_grow() oops) but I overlooked the fact that none the callers of 
____cache_alloc_node() deal with bootstrapping (with the exception of 
__cache_alloc_node() that even has a comment about it).

But what I am really wondering about is, why wasn't the 
N_NORMAL_MEMORY revert enough? I assume this used to work before so what 
more do we need to revert for 2.6.24?

			Pekka

^ permalink raw reply

* Re: [PATCH 2/3 v3] Add initial iomega StorCenter board port.
From: Jon Loeliger @ 2008-01-23 14:05 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linuxppc-dev, Jon Loeliger
In-Reply-To: <20080123105111.125f075d.sfr@canb.auug.org.au>

Stephen Rothwell wrote:
> Hi Jon,
> 
> On Tue, 22 Jan 2008 16:37:59 -0600 Jon Loeliger <jdl@jdl.com> wrote:
>> +++ b/arch/powerpc/platforms/embedded6xx/storcenter.c
> 
>> +extern void _nmask_and_or_msr(unsigned long nmask, unsigned long or_val);
> 
> This clearly needs to be decalred in some header file.  (I know you did
> not introduce it.)  In arch/ppc, it was declared in asm/system.h (but I
> don't know if that is appropriate for arch/powerpc).  Maybe you could do
> a preceeding patch that does this and fixes the other user.

I hear my Janitorial Karmic Duty calling.
 
>> +static void __init storcenter_init_IRQ(void)

>> +	prop = of_get_property(dnp, "reg", &size);
>> +	paddr = (phys_addr_t)of_translate_address(dnp, prop);
> 
> What happens of "prop" is NULL?

Someone should fix that case too. :-)

Kumar,

I'll respin this trio for you.

jdl

^ permalink raw reply


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