[PATCH] 2.6.24-rc1-git9 - Missing include file in kallsyms.h

2007-11-01 Thread Kamalesh Babulal
The Build with randconfig fails with following error with the
2.6.24-rc4-git9

include/linux/kallsyms.h:56: error: ‘NULL’ undeclared (first use in this
function)
include/linux/kallsyms.h:56: error: (Each undeclared identifier is
reported only once
include/linux/kallsyms.h:56: error: for each function it appears in.)
make[2]: *** [arch/powerpc/platforms/cell/spu_callbacks.o] Error 1
make[1]: *** [arch/powerpc/platforms/cell] Error 2
make: *** [arch/powerpc/platforms] Error 2

Signed-off-by: Kamalesh Babulal [EMAIL PROTECTED]
--
diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h
index f73de6f..82de2fb 100644
--- a/include/linux/kallsyms.h
+++ b/include/linux/kallsyms.h
@@ -6,6 +6,7 @@
 #define _LINUX_KALLSYMS_H
 
 #include linux/errno.h
+#include linux/stddef.h
 
 #define KSYM_NAME_LEN 128
 #define KSYM_SYMBOL_LEN (sizeof(%s+%#lx/%#lx [%s]) + (KSYM_NAME_LEN - 1) + \

--
Thanks  Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: [PATCH 1/2] USB: Rework OHCI PPC OF for new bindings

2007-11-01 Thread tnt
 Valentine Barshak wrote:
 Rework ohci-ppc-of driver to use big-endian property instead of
 ohci-be/ohci-le compatible strings. Also remove unnecessary
 user-selectable USB_OHCI_HCD_PPC_OF_LE/BE stuff, because
 USB_OHCI_BIG_ENDIAN_DESC/MMIO should always be enabled for ppc
 and USB_OHCI_LITTLE_ENDIAN is selected for USB_OHCI_HCD_PCI by default.

I don't find those options useless. If you think the defauts are not the
best change them but I find these options relevant. You don't always want
the support for BE on PPC ... if the only controller you have is pci ...
or if you're on a soc that use little endian ...


 Can we just make sure real quickly that the changing of compatibles
 doesn't break existing, not-easily-flashable firmwares?

I tend to agree with Matt here.

Do we really need to stop supporting the old values right now ?

IMHO, Changing to the usb-ohci with a property sounds fine to me if you
really want to but don't drop support for the old values. They are not
bad. Change the dts to reflect the fact that the new way is preferred
and a comment somewhere in the code and that should be fine.



Sylvain

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: PPC405GP Walnut irq patch

2007-11-01 Thread Josh Boyer
On Wed, 31 Oct 2007 13:52:53 -0400
Steven A. Falco [EMAIL PROTECTED] wrote:

  Could you redo the patch with just this bit and send it again?
 
  josh
  
 
 Ok - this one is based off the Linus tree, and follows your style of one 
 interrupt per line, with a comment indicating which one it is.

Looks good.  Thanks!

josh

 
 Signed-off-by: Steve Falco sfalco at harris.com
 
 
 
 diff --git a/arch/powerpc/boot/dts/walnut.dts 
 b/arch/powerpc/boot/dts/walnut.dts
 index fa681f5..754fa39 100644
 --- a/arch/powerpc/boot/dts/walnut.dts
 +++ b/arch/powerpc/boot/dts/walnut.dts
 @@ -122,7 +122,9 @@
   device_type = network;
   compatible = ibm,emac-405gp, ibm,emac;
   interrupt-parent = UIC0;
 - interrupts = 9 4 f 4;
 + interrupts = 
 + f 4 /* Ethernet */
 + 9 4 /* Ethernet Wake Up */;
   local-mac-address = []; /* Filled 
 in by zImage */
   reg = ef600800 70;
   mal-device = MAL;
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH v4] FEC - fast ethernet controller for mpc52xx

2007-11-01 Thread tnt
 + while (bcom_buffer_done(priv-tx_dmatsk)) {
 + struct sk_buff *skb;
 + skb = bcom_retrieve_buffer(priv-tx_dmatsk, NULL, NULL);
 + /* Here (and in rx routines) would be a good place for
 +  * dma_unmap_single(), but bcom doesn't return bcom_bd of the
 +  * finished transfer, and _unmap is empty on this platfrom.
 +  */
 +

Of course bestcomm let's you get back the bcom_bd ... What do you think
your second NULL parameter is for ?
Give it a pointer to a bcom_bd * and it will fill your pointer for you to
point to the bd you just got back.


   Sylvain

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 1/2] USB: Rework OHCI PPC OF for new bindings

2007-11-01 Thread Valentine Barshak
[EMAIL PROTECTED] wrote:
 USB_OHCI_BIG_ENDIAN_DESC/MMIO should always be enabled for ppc
 and USB_OHCI_LITTLE_ENDIAN is selected for USB_OHCI_HCD_PCI by default.
 
 I don't find those options useless. If you think the defauts are not the
 best change them but I find these options relevant. You don't always want
 the support for BE on PPC ... if the only controller you have is pci ...
 or if you're on a soc that use little endian ...

If I have just a pci controller, and don't expect to to find/use the 
built-in one, why should I need the ohci-ppc-of driver then?
I'm not aware of a soc that uses little endian, but I think that LE/BE 
still shouldn't be selected manually. It should be autoselected then, 
the same way we select LE for PCI for example.

 
 Do we really need to stop supporting the old values right now ?

I've resubmitted the patches with the old mpc52xx bindings support.
Keeping old ohci-be/le stuff along with the new bindings doesn't look 
good to me. However, I think we can live with the old ones and maybe 
find a better way for OF ohci support later.

 
 IMHO, Changing to the usb-ohci with a property sounds fine to me if you
 really want to but don't drop support for the old values. They are not
 bad. Change the dts to reflect the fact that the new way is preferred
 and a comment somewhere in the code and that should be fine.

OK

 Sylvain
 

Thanks,
Valentine.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: libfdt: Handle v16 and re-ordered trees for r/w

2007-11-01 Thread Jon Loeliger
So, like, the other day David Gibson mumbled:
 Currently all the read/write functions in libfdt require that the
 given tree be v17, and further, that the tree has the memory
 reservation block, structure block and strings block stored in that
 physical order.
 
 This patch eases these constraints, by making fdt_open_int() reorder
 the blocks, and/or convert the tree to v17, so that it will then be
 ready for the other read-write functions.
 
 It also extends fdt_pack() to actually remove any gaps between blocks
 that might be present.
 
 Signed-off-by: David Gibson [EMAIL PROTECTED]

Applied.

jdl
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Please pull from 'for-2.6.24' branch of 4xx tree

2007-11-01 Thread Josh Boyer
Hi Paul,

Please pull from:

 master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx.git for-2.6.24

to pick up a few items for 2.6.24.  Mostly bugfixes, but also some
documentation updates and a few bootwrapper changes.  Particularly important
is the TLB flushing fix from Ben.

josh

Benjamin Herrenschmidt (2):
  [POWERPC] 4xx: Fix 4xx flush_tlb_page()
  [POWERPC] 4xx: Deal with 44x virtually tagged icache

Grant Likely (5):
  [POWERPC] bootwrapper: Allow wrapper script to execute verbosely
  [POWERPC] bootwrapper: Bail from script if any command fails
  [POWERPC] Device tree bindings for Xilinx devices
  [POWERPC] Uartlite: speed up console output
  [POWERPC] ppc405 Fix arithmatic rollover bug when memory size under 16M

Roel Kluin (1):
  [POWERPC] allocation fix in ppc/platforms/4xx/luan.c

Steven A. Falco (1):
  [POWERPC] 4xx: Fix Walnut DTS interrupt property

Valentine Barshak (1):
  [POWERPC] 4xx: Workaround for the 440EP(x)/GR(x) processors identical PVR 

 Documentation/powerpc/booting-without-of.txt |  261 ++
 arch/powerpc/boot/dts/walnut.dts |4 +-
 arch/powerpc/boot/wrapper|   32 ++--
 arch/powerpc/kernel/cputable.c   |   36 +++-
 arch/powerpc/kernel/entry_32.S   |   23 +++
 arch/powerpc/kernel/misc_32.S|   32 +++-
 arch/powerpc/kernel/prom.c   |   12 ++
 arch/powerpc/mm/40x_mmu.c|   17 +-
 arch/powerpc/mm/44x_mmu.c|1 +
 arch/powerpc/mm/fault.c  |2 +-
 arch/powerpc/mm/mmu_decl.h   |4 +-
 arch/ppc/kernel/entry.S  |   23 +++
 arch/ppc/kernel/misc.S   |   31 +++-
 arch/ppc/mm/44x_mmu.c|1 +
 arch/ppc/mm/4xx_mmu.c|   17 +-
 arch/ppc/mm/fault.c  |2 +-
 arch/ppc/mm/mmu_decl.h   |4 +-
 arch/ppc/platforms/4xx/ebony.c   |2 +-
 arch/ppc/platforms/4xx/luan.c|7 +-
 arch/ppc/platforms/4xx/ocotea.c  |2 +-
 arch/ppc/platforms/4xx/taishan.c |2 +-
 drivers/serial/uartlite.c|   10 +-
 include/asm-powerpc/pgtable-ppc32.h  |   13 ++
 include/asm-powerpc/tlbflush.h   |   12 +-
 24 files changed, 472 insertions(+), 78 deletions(-)
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: dtc: Move tree checking code to checks.c

2007-11-01 Thread Jon Loeliger
So, like, the other day David Gibson mumbled:
 This patch moves the dtc code for checking the device tree its
 processing into a new checks.c.  The tree accessor functions from
 livetree.c which the checks use are exported and added to dtc.h.
 
 Another small step towards a flexible checking architecture.
 
 Signed-off-by: David Gibson [EMAIL PROTECTED]

Applied.

jdl
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [linux-usb-devel] [PATCH 1/2] USB: Rework OHCI PPC OF for new bindings

2007-11-01 Thread Dale Farnsworth
Sylvain Munaut wrote:
  Valentine Barshak wrote:
  Rework ohci-ppc-of driver to use big-endian property instead of
  ohci-be/ohci-le compatible strings. Also remove unnecessary
  user-selectable USB_OHCI_HCD_PPC_OF_LE/BE stuff, because
  USB_OHCI_BIG_ENDIAN_DESC/MMIO should always be enabled for ppc
  and USB_OHCI_LITTLE_ENDIAN is selected for USB_OHCI_HCD_PCI by default.
 
 I don't find those options useless. If you think the defauts are not the
 best change them but I find these options relevant. You don't always want
 the support for BE on PPC ... if the only controller you have is pci ...
 or if you're on a soc that use little endian ...

USB_OHCI_LITTLE_ENDIAN and USB_OHCI_BIG_ENDIAN are useful and I
don't see anyone wanting to remove them.  However, if all of the
chips supported by the ohci-ppc-of driver are big-endian, then
USB_OHCI_HCD_PPC_OF_LE and USB_OHCI_HCD_PPC_OF_BE are not needed.
Just select USB_OHCI_BIG_ENDIAN when the ohci-ppc-of driver is
selected, in the same way that we always select USB_OHCI_LITTLE_ENDIAN
when the ohci-pci driver is selected.

-Dale
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: libfdt as its own repo and submodule of dtc?

2007-11-01 Thread Jon Loeliger
On Wed, 2007-10-31 at 17:56, David Gibson wrote:

 I'm not too keen on using a git feature that's more recent than the
 git in most distros.

I'm going to consider this argument null and void on two fronts:

You don't use git for patch generation and submission anyway.

The Linux Community happily embraced and used early
versions of git, installing it themselves if needed,
long before it was available in _any_ distro.

Thanks,
jdl


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[PATCH 1/2] 4xx: Add 405EX CPU type needed for EMAC support on Kilauea

2007-11-01 Thread Stefan Roese
For EMAC support, 405EX needs to be defined to enable the corresponding
EMAC features (IBM_NEW_EMAC_EMAC4, etc.).

Signed-off-by: Stefan Roese [EMAIL PROTECTED]
---
A small new EMAC patch will follow in a short while, to enable
405EX support in the driver.

 arch/powerpc/platforms/40x/Kconfig |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/platforms/40x/Kconfig 
b/arch/powerpc/platforms/40x/Kconfig
index 8f6699f..3ece0fd 100644
--- a/arch/powerpc/platforms/40x/Kconfig
+++ b/arch/powerpc/platforms/40x/Kconfig
@@ -33,6 +33,7 @@ config KILAUEA
bool Kilauea
depends on 40x
default n
+   select 405EX
help
  This option enables support for the AMCC PPC405EX evaluation board.
 
@@ -105,6 +106,11 @@ config 405GP
 config 405EP
bool
 
+config 405EX
+   bool
+   select IBM_NEW_EMAC_EMAC4
+   select IBM_NEW_EMAC_RGMII
+
 config 405GPR
bool
 
-- 
1.5.3.4.498.g9c514

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: Please pull from 'for-2.6.24' branch of 4xx tree

2007-11-01 Thread Steven A. Falco
Is this something anyone can do?  I tried:

git pull 
master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx.git 
for-2.6.24

but it asks me for a password.  I'd like to be able to follow your 
development branch, so I can contribute patches where appropriate.

Steve


Josh Boyer wrote:
 Hi Paul,

 Please pull from:

  master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx.git 
 for-2.6.24

 to pick up a few items for 2.6.24.  Mostly bugfixes, but also some
 documentation updates and a few bootwrapper changes.  Particularly important
 is the TLB flushing fix from Ben.

 josh

 Benjamin Herrenschmidt (2):
   [POWERPC] 4xx: Fix 4xx flush_tlb_page()
   [POWERPC] 4xx: Deal with 44x virtually tagged icache

 Grant Likely (5):
   [POWERPC] bootwrapper: Allow wrapper script to execute verbosely
   [POWERPC] bootwrapper: Bail from script if any command fails
   [POWERPC] Device tree bindings for Xilinx devices
   [POWERPC] Uartlite: speed up console output
   [POWERPC] ppc405 Fix arithmatic rollover bug when memory size under 16M

 Roel Kluin (1):
   [POWERPC] allocation fix in ppc/platforms/4xx/luan.c

 Steven A. Falco (1):
   [POWERPC] 4xx: Fix Walnut DTS interrupt property

 Valentine Barshak (1):
   [POWERPC] 4xx: Workaround for the 440EP(x)/GR(x) processors identical 
 PVR 

  Documentation/powerpc/booting-without-of.txt |  261 
 ++
  arch/powerpc/boot/dts/walnut.dts |4 +-
  arch/powerpc/boot/wrapper|   32 ++--
  arch/powerpc/kernel/cputable.c   |   36 +++-
  arch/powerpc/kernel/entry_32.S   |   23 +++
  arch/powerpc/kernel/misc_32.S|   32 +++-
  arch/powerpc/kernel/prom.c   |   12 ++
  arch/powerpc/mm/40x_mmu.c|   17 +-
  arch/powerpc/mm/44x_mmu.c|1 +
  arch/powerpc/mm/fault.c  |2 +-
  arch/powerpc/mm/mmu_decl.h   |4 +-
  arch/ppc/kernel/entry.S  |   23 +++
  arch/ppc/kernel/misc.S   |   31 +++-
  arch/ppc/mm/44x_mmu.c|1 +
  arch/ppc/mm/4xx_mmu.c|   17 +-
  arch/ppc/mm/fault.c  |2 +-
  arch/ppc/mm/mmu_decl.h   |4 +-
  arch/ppc/platforms/4xx/ebony.c   |2 +-
  arch/ppc/platforms/4xx/luan.c|7 +-
  arch/ppc/platforms/4xx/ocotea.c  |2 +-
  arch/ppc/platforms/4xx/taishan.c |2 +-
  drivers/serial/uartlite.c|   10 +-
  include/asm-powerpc/pgtable-ppc32.h  |   13 ++
  include/asm-powerpc/tlbflush.h   |   12 +-
  24 files changed, 472 insertions(+), 78 deletions(-)
 ___
 Linuxppc-dev mailing list
 Linuxppc-dev@ozlabs.org
 https://ozlabs.org/mailman/listinfo/linuxppc-dev

   
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: Please pull from 'for-2.6.24' branch of 4xx tree

2007-11-01 Thread Josh Boyer
On Thu, 01 Nov 2007 10:54:15 -0400
Steven A. Falco [EMAIL PROTECTED] wrote:

 Is this something anyone can do?  I tried:
 
 git pull 
 master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx.git 
 for-2.6.24
 
 but it asks me for a password.  I'd like to be able to follow your 
 development branch, so I can contribute patches where appropriate.

Ah.  No, you'd have to have an account on master.kernel.org for that
specific pull request to work.  Anonymous pulls should work with:

git://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx.git

as the URL instead.

josh

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[PATCH 2/2] 4xx: Add EMAC support to Kilauea defconfig

2007-11-01 Thread Stefan Roese
Signed-off-by: Stefan Roese [EMAIL PROTECTED]
---
 arch/powerpc/configs/kilauea_defconfig |   98 ---
 1 files changed, 51 insertions(+), 47 deletions(-)

diff --git a/arch/powerpc/configs/kilauea_defconfig 
b/arch/powerpc/configs/kilauea_defconfig
index fd1c530..f75a62b 100644
--- a/arch/powerpc/configs/kilauea_defconfig
+++ b/arch/powerpc/configs/kilauea_defconfig
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.23-rc9
-# Thu Oct 11 19:05:15 2007
+# Linux kernel version: 2.6.24-rc1
+# Thu Nov  1 15:15:23 2007
 #
 # CONFIG_PPC64 is not set
 
@@ -68,6 +68,10 @@ CONFIG_POSIX_MQUEUE=y
 # CONFIG_AUDIT is not set
 # CONFIG_IKCONFIG is not set
 CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_FAIR_USER_SCHED=y
+# CONFIG_FAIR_CGROUP_SCHED is not set
 CONFIG_SYSFS_DEPRECATED=y
 # CONFIG_RELAY is not set
 CONFIG_BLK_DEV_INITRD=y
@@ -134,6 +138,7 @@ CONFIG_DEFAULT_IOSCHED=anticipatory
 CONFIG_KILAUEA=y
 # CONFIG_WALNUT is not set
 # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set
+CONFIG_405EX=y
 # CONFIG_MPIC is not set
 # CONFIG_MPIC_WEIRD is not set
 # CONFIG_PPC_I8259 is not set
@@ -154,6 +159,7 @@ CONFIG_KILAUEA=y
 # CONFIG_TICK_ONESHOT is not set
 # CONFIG_NO_HZ is not set
 # CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
 # CONFIG_HZ_100 is not set
 CONFIG_HZ_250=y
 # CONFIG_HZ_300 is not set
@@ -175,6 +181,7 @@ CONFIG_FLATMEM_MANUAL=y
 CONFIG_FLATMEM=y
 CONFIG_FLAT_NODE_MEM_MAP=y
 # CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
 CONFIG_SPLIT_PTLOCK_CPUS=4
 # CONFIG_RESOURCES_64BIT is not set
 CONFIG_ZONE_DMA_FLAG=1
@@ -198,10 +205,6 @@ CONFIG_ZONE_DMA=y
 # CONFIG_PCI_DOMAINS is not set
 # CONFIG_PCI_SYSCALL is not set
 # CONFIG_ARCH_SUPPORTS_MSI is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
 # CONFIG_PCCARD is not set
 
 #
@@ -215,7 +218,7 @@ CONFIG_ZONE_DMA=y
 CONFIG_HIGHMEM_START=0xfe00
 CONFIG_LOWMEM_SIZE=0x3000
 CONFIG_KERNEL_START=0xc000
-CONFIG_TASK_SIZE=0x8000
+CONFIG_TASK_SIZE=0xc000
 CONFIG_CONSISTENT_START=0xff10
 CONFIG_CONSISTENT_SIZE=0x0020
 CONFIG_BOOT_LOAD=0x0040
@@ -252,6 +255,7 @@ CONFIG_IP_PNP_BOOTP=y
 # CONFIG_INET_XFRM_MODE_TRANSPORT is not set
 # CONFIG_INET_XFRM_MODE_TUNNEL is not set
 # CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
 CONFIG_INET_DIAG=y
 CONFIG_INET_TCP_DIAG=y
 # CONFIG_TCP_CONG_ADVANCED is not set
@@ -277,10 +281,6 @@ CONFIG_DEFAULT_TCP_CONG=cubic
 # CONFIG_LAPB is not set
 # CONFIG_ECONET is not set
 # CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
 # CONFIG_NET_SCHED is not set
 
 #
@@ -309,6 +309,7 @@ CONFIG_DEFAULT_TCP_CONG=cubic
 #
 # Generic Driver Options
 #
+CONFIG_UEVENT_HELPER_PATH=/sbin/hotplug
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_FW_LOADER=y
@@ -336,6 +337,7 @@ CONFIG_MTD_BLOCK=m
 # CONFIG_INFTL is not set
 # CONFIG_RFD_FTL is not set
 # CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
 
 #
 # RAM/ROM/Flash chip drivers
@@ -425,7 +427,22 @@ CONFIG_NETDEVICES=y
 # CONFIG_MACVLAN is not set
 # CONFIG_EQUALIZER is not set
 # CONFIG_TUN is not set
-# CONFIG_NET_ETHERNET is not set
+# CONFIG_VETH is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+# CONFIG_MII is not set
+CONFIG_IBM_NEW_EMAC=y
+CONFIG_IBM_NEW_EMAC_RXB=256
+CONFIG_IBM_NEW_EMAC_TXB=256
+CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32
+CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256
+CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
+CONFIG_IBM_NEW_EMAC_DEBUG=y
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+CONFIG_IBM_NEW_EMAC_RGMII=y
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+CONFIG_IBM_NEW_EMAC_EMAC4=y
+# CONFIG_B44 is not set
 # CONFIG_NETDEV_1000 is not set
 # CONFIG_NETDEV_1 is not set
 
@@ -485,7 +502,6 @@ CONFIG_UNIX98_PTYS=y
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=256
 # CONFIG_IPMI_HANDLER is not set
-# CONFIG_WATCHDOG is not set
 # CONFIG_HW_RANDOM is not set
 # CONFIG_NVRAM is not set
 # CONFIG_GEN_RTC is not set
@@ -502,6 +518,13 @@ CONFIG_LEGACY_PTY_COUNT=256
 # CONFIG_W1 is not set
 # CONFIG_POWER_SUPPLY is not set
 # CONFIG_HWMON is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
 
 #
 # Multifunction device drivers
@@ -518,16 +541,15 @@ CONFIG_LEGACY_PTY_COUNT=256
 #
 # Graphics support
 #
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
 
 #
 # Display device support
 #
 # CONFIG_DISPLAY_SUPPORT is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-# CONFIG_FB is not set
-# CONFIG_FB_IBM_GXT4500 is not set
 
 #
 # Sound
@@ -540,19 +562,6 @@ CONFIG_LEGACY_PTY_COUNT=256
 # CONFIG_RTC_CLASS is not set
 
 #
-# DMA Engine support
-#
-# CONFIG_DMA_ENGINE is not set
-
-#
-# DMA Clients
-#
-
-#
-# DMA Devices
-#
-
-#
 # Userspace I/O
 #
 # 

[PATCH] net: Add 405EX support to new EMAC driver

2007-11-01 Thread Stefan Roese
This patch adds support for the 405EX to the new EMAC driver.

Tested on AMCC Kilauea.

Signed-off-by: Stefan Roese [EMAIL PROTECTED]
---
 drivers/net/ibm_newemac/core.c  |3 ++-
 drivers/net/ibm_newemac/rgmii.c |6 --
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index 0de3aa2..fd0a585 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -2466,7 +2466,8 @@ static int __devinit emac_init_config(struct 
emac_instance *dev)
if (of_device_is_compatible(np, ibm,emac4))
dev-features |= EMAC_FTR_EMAC4;
if (of_device_is_compatible(np, ibm,emac-axon)
-   || of_device_is_compatible(np, ibm,emac-440epx))
+   || of_device_is_compatible(np, ibm,emac-440epx)
+   || of_device_is_compatible(np, ibm,emac-405ex))
dev-features |= EMAC_FTR_HAS_AXON_STACR
| EMAC_FTR_STACR_OC_INVERT;
if (of_device_is_compatible(np, ibm,emac-440spe))
diff --git a/drivers/net/ibm_newemac/rgmii.c b/drivers/net/ibm_newemac/rgmii.c
index de41695..e393f68 100644
--- a/drivers/net/ibm_newemac/rgmii.c
+++ b/drivers/net/ibm_newemac/rgmii.c
@@ -140,9 +140,6 @@ void rgmii_get_mdio(struct of_device *ofdev, int input)
 
RGMII_DBG2(dev, get_mdio(%d) NL, input);
 
-   if (dev-type != RGMII_AXON)
-   return;
-
mutex_lock(dev-lock);
 
fer = in_be32(p-fer);
@@ -161,9 +158,6 @@ void rgmii_put_mdio(struct of_device *ofdev, int input)
 
RGMII_DBG2(dev, put_mdio(%d) NL, input);
 
-   if (dev-type != RGMII_AXON)
-   return;
-
fer = in_be32(p-fer);
fer = ~(0x0008u  input);
out_be32(p-fer, fer);
-- 
1.5.3.4.498.g9c514

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] net: Add 405EX support to new EMAC driver

2007-11-01 Thread Benjamin Herrenschmidt

On Thu, 2007-11-01 at 15:54 +0100, Stefan Roese wrote:
 This patch adds support for the 405EX to the new EMAC driver.
 
 Tested on AMCC Kilauea.

 .../...

 diff --git a/drivers/net/ibm_newemac/rgmii.c b/drivers/net/ibm_newemac/rgmii.c
 index de41695..e393f68 100644
 --- a/drivers/net/ibm_newemac/rgmii.c
 +++ b/drivers/net/ibm_newemac/rgmii.c
 @@ -140,9 +140,6 @@ void rgmii_get_mdio(struct of_device *ofdev, int input)
  
   RGMII_DBG2(dev, get_mdio(%d) NL, input);
  
 - if (dev-type != RGMII_AXON)
 - return;
 -
   mutex_lock(dev-lock);

That will break 440GX boards that need to use the RGMII for data and the
ZMII for MDIO.

You may want to change the name RGMII_AXON something like RGMII_HAS_MDIO
instead and set that for 405EX as well instead.

Ben.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] net: Add 405EX support to new EMAC driver

2007-11-01 Thread Josh Boyer
On Fri, 02 Nov 2007 07:37:01 +1100
Benjamin Herrenschmidt [EMAIL PROTECTED] wrote:

 
 On Thu, 2007-11-01 at 15:54 +0100, Stefan Roese wrote:
  This patch adds support for the 405EX to the new EMAC driver.
  
  Tested on AMCC Kilauea.
 
  .../...
 
  diff --git a/drivers/net/ibm_newemac/rgmii.c 
  b/drivers/net/ibm_newemac/rgmii.c
  index de41695..e393f68 100644
  --- a/drivers/net/ibm_newemac/rgmii.c
  +++ b/drivers/net/ibm_newemac/rgmii.c
  @@ -140,9 +140,6 @@ void rgmii_get_mdio(struct of_device *ofdev, int input)
   
  RGMII_DBG2(dev, get_mdio(%d) NL, input);
   
  -   if (dev-type != RGMII_AXON)
  -   return;
  -
  mutex_lock(dev-lock);
 
 That will break 440GX boards that need to use the RGMII for data and the
 ZMII for MDIO.
 
 You may want to change the name RGMII_AXON something like RGMII_HAS_MDIO
 instead and set that for 405EX as well instead.

And perhaps adding a comment about that since the meaning of that code
isn't very obvious. That way people that aren't the original author
of the driver don't get confused again.

josh
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] net: Add 405EX support to new EMAC driver

2007-11-01 Thread Stefan Roese
On Thursday 01 November 2007, Josh Boyer wrote:
   - if (dev-type != RGMII_AXON)
   - return;
   -
 mutex_lock(dev-lock);
 
  That will break 440GX boards that need to use the RGMII for data and the
  ZMII for MDIO.
 
  You may want to change the name RGMII_AXON something like RGMII_HAS_MDIO
  instead and set that for 405EX as well instead.

 And perhaps adding a comment about that since the meaning of that code
 isn't very obvious. That way people that aren't the original author
 of the driver don't get confused again.

Will do. I'll send a fixed version tomorrow.

Best regards,
Stefan
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: Module with 36K relocation entries

2007-11-01 Thread Nathan Lynch
Medve Emilian-EMMEDVE1 wrote:
 
 I have module with 36K relocation entries (I know, I know, how could
 that be...) and the count_relocs() function takes ~17 seconds to crunch
 through the relocation table from the .rela.text section. I don't think
 I can reduce the number of entries in the relocation table (can I?) so
 I'm thinking at improving the performance of count_relocs() (currently
 O(n^2)). Does anybody have a simpler idea? Does anyone have any
 constructive suggestion on how to improve the situation?

This seems to come up every few months.  There was a patch submitted
here:

http://ozlabs.org/pipermail/linuxppc-dev/2007-June/037641.html

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: libfdt as its own repo and submodule of dtc?

2007-11-01 Thread David Gibson
On Thu, Nov 01, 2007 at 09:04:42AM -0500, Jon Loeliger wrote:
 On Wed, 2007-10-31 at 17:56, David Gibson wrote:
 
  I'm not too keen on using a git feature that's more recent than the
  git in most distros.
 
 I'm going to consider this argument null and void on two fronts:
 
 You don't use git for patch generation and submission anyway.

True.  It wasn't clear to me whether using this git-submodule thing
would also affect pulling.

 The Linux Community happily embraced and used early
 versions of git, installing it themselves if needed,
 long before it was available in _any_ distro.

I don't think this is a comparable situation.  For one, dtc does not
have the clout of Linux.  For another, at the time there was hardly
anything in the way of suitable solutions that were out there in
distros.  That's not the case now - we can do nearly everything we
want with the git in recent distros, I don't think there's call to
require a newer version for one extra feature.

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Freescale I2C support and CONFIG_I2C_BOARDINFO

2007-11-01 Thread Jon Smirl
Freescale I2C support is being constructed as a platform driver in
arch/powerpc/sysdev/fsl_soc.c and protected with #ifdef
CONFIG_I2C_BOARDINFO. Could the I2C support instead be initialized in
drivers/i2c/busses/i2c-mpc.c as an of_platform driver instead? I'm
find it confusing that half my drivers are platform drivers and half
are of_platform drivers. It would also eliminate the need for the
ifdef.

I'll trying coding it up and see if it works.

-- 
Jon Smirl
[EMAIL PROTECTED]
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


dtc: Further Makefile cleanups

2007-11-01 Thread David Gibson
Informed by the experience attempting to embed dtc into the kernel
tree, make further simplification of the Makefiles.  In particular
make the Makefile.dtc and Makefile.libfdt fragments truly minimal.

This change also stops linking dtc with libfdt, which it does not
need.

Signed-off-by: David Gibson [EMAIL PROTECTED]

---
 Makefile   |   13 +++--
 Makefile.dtc   |   20 ++--
 libfdt/Makefile.libfdt |6 --
 tests/Makefile.tests   |   49 ++---
 4 files changed, 31 insertions(+), 57 deletions(-)

Index: dtc/Makefile
===
--- dtc.orig/Makefile   2007-11-02 14:36:22.0 +1100
+++ dtc/Makefile2007-11-02 14:36:43.0 +1100
@@ -17,7 +17,6 @@ CONFIG_LOCALVERSION =
 
 CPPFLAGS = -I libfdt
 CFLAGS = -Wall -g -Os
-LDFLAGS = -Llibfdt
 
 BISON = bison
 LEX = flex
@@ -138,15 +137,16 @@ LIBFDT_objdir = libfdt
 LIBFDT_srcdir = libfdt
 include libfdt/Makefile.libfdt
 
+LIBFDT_lib = $(LIBFDT_objdir)/libfdt.a
+
 .PHONY: libfdt
-libfdt: $(LIBFDT_LIB)
+libfdt: $(LIBFDT_lib)
 
-$(LIBFDT_LIB): $(addprefix libfdt/,$(LIBFDT_OBJS))
+$(LIBFDT_lib): $(addprefix $(LIBFDT_objdir)/,$(LIBFDT_OBJS))
 
 libfdt_clean:
@$(VECHO) CLEAN (libfdt)
rm -f $(addprefix libfdt/,$(STD_CLEANFILES))
-   rm -f $(addprefix libfdt/,$(LIBFDT_CLEANFILES))
 
 ifneq ($(DEPTARGETS),)
 -include $(LIBFDT_OBJS:%.o=$(LIBFDT_objdir)/%.d)
@@ -155,7 +155,8 @@ endif
 #
 # Testsuite rules
 #
-TESTS_PREFIX=tests/
+TESTS_srcdir = tests
+TESTS_objdir = tests
 include tests/Makefile.tests
 
 #
@@ -166,7 +167,7 @@ STD_CLEANFILES = *~ *.o *.d *.a *.i *.s 
 
 clean: libfdt_clean tests_clean
@$(VECHO) CLEAN
-   rm -f $(STD_CLEANFILES) $(DTC_CLEANFILES)
+   rm -f $(STD_CLEANFILES)
rm -f $(VERSION_FILE)
rm -f $(BIN)
 
Index: dtc/libfdt/Makefile.libfdt
===
--- dtc.orig/libfdt/Makefile.libfdt 2007-11-02 14:36:16.0 +1100
+++ dtc/libfdt/Makefile.libfdt  2007-11-02 14:36:24.0 +1100
@@ -4,11 +4,5 @@
 # be easily embeddable into other systems of Makefiles.
 #
 LIBFDT_SRCS = fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
-LIBFDT_INCLUDES = fdt.h libfdt.h
-LIBFDT_EXTRA = libfdt_internal.h
-LIBFDT_LIB = libfdt/libfdt.a
-
 LIBFDT_OBJS = $(LIBFDT_SRCS:%.c=%.o)
 
-$(LIBFDT_objdir)/$(LIBFDT_LIB): $(addprefix $(LIBFDT_objdir)/,$(LIBFDT_OBJS))
-
Index: dtc/tests/Makefile.tests
===
--- dtc.orig/tests/Makefile.tests   2007-11-02 14:36:16.0 +1100
+++ dtc/tests/Makefile.tests2007-11-02 14:36:24.0 +1100
@@ -1,4 +1,4 @@
-LIB_TESTS_L = get_mem_rsv \
+LIB_TESTS = get_mem_rsv \
root_node find_property subnode_offset path_offset \
get_name getprop get_path supernode_atdepth_offset parent_offset \
node_offset_by_prop_value \
@@ -9,50 +9,45 @@ LIB_TESTS_L = get_mem_rsv \
move_and_save mangle-layout \
open_pack rw_tree1 setprop del_property del_node \
string_escapes dtbs_equal_ordered
-LIB_TESTS = $(LIB_TESTS_L:%=$(TESTS_PREFIX)%)
+LIBTREE_TESTS = truncated_property
+ASM_DTBS = test_tree1.dtb
 
-LIBTREE_TESTS_L = truncated_property
-LIBTREE_TESTS = $(LIBTREE_TESTS_L:%=$(TESTS_PREFIX)%)
+TESTS_util_obj = $(TESTS_objdir)/testutils.o
+TESTS_tree_obj = $(TESTS_objdir)/trees.o
 
-TESTS = $(LIB_TESTS) $(LIBTREE_TESTS)
+TESTS_lib_exec = $(LIB_TESTS:%=$(TESTS_objdir)/%)
+TESTS_libtree_exec = $(LIBTREE_TESTS:%=$(TESTS_objdir)/%)
+TESTS_dumptrees_exec = $(TEST_objdir)/dumptrees
+TESTS_exec = $(TESTS_lib_exec) $(TESTS_libtree_exec) $(TESTS_dumptrees_exec)
 
-TESTS_TREES_L = test_tree1.dtb
-TESTS_TREES = $(TESTS_TREES_L:%=$(TESTS_PREFIX)%)
+TESTS_dtb = $(ASM_DTBS:%=$(TESTS_objdir)/%)
 
-TESTS_TARGETS = $(TESTS) $(TESTS_TREES)
-
-TESTS_DEPFILES = $(TESTS:%=%.d) $(TESTS_PREFIX)testutils.d
-
-TESTS_CLEANFILES_L =  *.output vgcore.* *.dtb
-TESTS_CLEANFILES = $(TESTS_CLEANFILES_L:%=$(TESTS_PREFIX)%)
-
-BIN += $(TESTS) $(TESTS_PREFIX)dumptrees
+BIN += $(TESTS_exec)
 
 .PHONY: tests
-tests: $(TESTS) $(TESTS_TREES)
+tests: $(TESTS_exec) $(TESTS_dtb)
 
-$(LIB_TESTS): %: $(TESTS_PREFIX)testutils.o $(LIBFDT_LIB)
+$(TESTS_lib_exec): %: $(TESTS_util_obj) $(LIBFDT_lib)
 
-$(LIBTREE_TESTS): %: $(TESTS_PREFIX)testutils.o $(TESTS_PREFIX)trees.o 
$(LIBFDT_LIB)
+$(TESTS_libtree_exec): %: $(TESTS_util_obj) $(TESTS_tree_obj) $(LIBFDT_lib)
 
-$(TESTS_PREFIX)dumptrees: $(TESTS_PREFIX)trees.o
+$(TESTS_dumptrees_exec): $(TESTS_tree_obj)
 
-$(TESTS_TREES): $(TESTS_PREFIX)dumptrees
+$(TESTS_dtb): $(TESTS_dumptrees_exec)
@$(VECHO) DUMPTREES
-   cd $(TESTS_PREFIX); ./dumptrees /dev/null
+   cd $(TESTS_objdir); ./dumptrees /dev/null
 
 tests_clean:
@$(VECHO) CLEAN (tests)
-   rm -f $(STD_CLEANFILES:%=$(TESTS_PREFIX)%)
-   rm -f $(TESTS_CLEANFILES)
+   rm -f 

Re: dtc: Further Makefile cleanups

2007-11-01 Thread David Gibson
On Fri, Nov 02, 2007 at 02:40:16PM +1100, David Gibson wrote:
 Informed by the experience attempting to embed dtc into the kernel
 tree, make further simplification of the Makefiles.  In particular
 make the Makefile.dtc and Makefile.libfdt fragments truly minimal.
 
 This change also stops linking dtc with libfdt, which it does not
 need.
 
 Signed-off-by: David Gibson [EMAIL PROTECTED]

Sod.  Don't apply, I screwed this one up somewhere along the line.

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


dtc: Don't include libfdt in global LDFLAGS

2007-11-01 Thread David Gibson
Remove the uneccessary LDFLAGS from the top-level makefile.  It only
added libfdt/ to the link path.  dtc doesn't need libfdt at all, and
the testcases which do, already link libfdt.a by explicit path.

Signed-off-by: David Gibson [EMAIL PROTECTED]

Index: dtc/Makefile
===
--- dtc.orig/Makefile   2007-11-02 15:06:24.0 +1100
+++ dtc/Makefile2007-11-02 15:06:30.0 +1100
@@ -17,7 +17,6 @@ CONFIG_LOCALVERSION =
 
 CPPFLAGS = -I libfdt
 CFLAGS = -Wall -g -Os
-LDFLAGS = -Llibfdt
 
 BISON = bison
 LEX = flex


-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


dtc: Make -Idts -Odts preserve node/property labels

2007-11-01 Thread David Gibson
This patch changes -Odts mode output so that labels on properties,
nodes and memreserve entries in input source are preserved in the
output.

Preserving labels within property values is trickier - another patch
coming later.

Signed-off-by: David Gibson [EMAIL PROTECTED]

Index: dtc/treesource.c
===
--- dtc.orig/treesource.c   2007-11-02 16:00:19.0 +1100
+++ dtc/treesource.c2007-11-02 16:02:33.0 +1100
@@ -176,6 +176,8 @@ static void write_tree_source_node(FILE 
struct node *child;
 
write_prefix(f, level);
+   if (tree-label)
+   fprintf(f, %s: , tree-label);
if (tree-name  (*tree-name))
fprintf(f, %s {\n, tree-name);
else
@@ -184,8 +186,10 @@ static void write_tree_source_node(FILE 
for_each_property(tree, prop) {
enum proptype type;
 
-   write_prefix(f, level);
-   fprintf(f, \t%s, prop-name);
+   write_prefix(f, level+1);
+   if (prop-label)
+   fprintf(f, %s: , prop-label);
+   fprintf(f, %s, prop-name);
type = guess_type(prop);
 
switch (type) {
@@ -220,6 +224,8 @@ void dt_to_source(FILE *f, struct boot_i
struct reserve_info *re;
 
for (re = bi-reservelist; re; re = re-next) {
+   if (re-label)
+   fprintf(f, %s: , re-label);
fprintf(f, /memreserve/\t%016llx-%016llx;\n,
(unsigned long long)re-re.address,
(unsigned long long)(re-re.address + re-re.size - 1));

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


libfdt: Add more documentation (patch the third)

2007-11-01 Thread David Gibson
This patch adds documentation in libfdt.h for a few more libfdt
functions.  It also makes a slight update to the documentation of
fdt_get_name().

Index: dtc/libfdt/libfdt.h
===
--- dtc.orig/libfdt/libfdt.h2007-11-02 15:44:58.0 +1100
+++ dtc/libfdt/libfdt.h 2007-11-02 15:46:37.0 +1100
@@ -319,28 +319,54 @@ int fdt_path_offset(const void *fdt, con
  * fdt_get_name - retreive the name of a given node
  * @fdt: pointer to the device tree blob
  * @nodeoffset: structure block offset of the starting node
- * @len: pointer to an intger variable (will be overwritten) or NULL
+ * @lenp: pointer to an integer variable (will be overwritten) or NULL
  *
  * fdt_get_name() retrieves the name (including unit address) of the
- * device tree node at structure block offset nodeoffset.  If len is
+ * device tree node at structure block offset nodeoffset.  If lenp is
  * non-NULL, the length of this name is also returned, in the integer
- * pointed to by len.
+ * pointed to by lenp.
  *
  * returns:
  * pointer to the node's name, on success
- * *len contains the length of that name (=0)
+ * If lenp is non-NULL, *lenp contains the length of that name 
(=0)
  * NULL, on error
- * *len contains an error code (0):
+ * if lenp is non-NULL *lenp contains an error code (0):
  * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE 
tag
  * -FDT_ERR_BADMAGIC,
  * -FDT_ERR_BADVERSION,
  * -FDT_ERR_BADSTATE, standard meanings
  */
-const char *fdt_get_name(const void *fdt, int nodeoffset, int *len);
+const char *fdt_get_name(const void *fdt, int nodeoffset, int *lenp);
 
+/**
+ * fdt_get_property - find a given property in a given node
+ * @fdt: pointer to the device tree blob
+ * @nodeoffset: offset of the node whose property to find
+ * @name: name of the property to find
+ * @lenp: pointer to an integer variable (will be overwritten) or NULL
+ *
+ * fdt_get_property() retrieves a pointer to the fdt_property
+ * structure within the device tree blob corresponding to the property
+ * named 'name' of the node at offset nodeoffset.  If lenp is
+ * non-NULL, the length of the property value also returned, in the
+ * integer pointed to by lenp.
+ *
+ * returns:
+ * pointer to the structure representing the property
+ * if lenp is non-NULL, *lenp contains the length of the property
+ * value (=0)
+ * NULL, on error
+ * if lenp is non-NULL, *lenp contains an error code (0):
+ * -FDT_ERR_NOTFOUND, node does not have named property
+ * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE 
tag
+ * -FDT_ERR_BADMAGIC,
+ * -FDT_ERR_BADVERSION,
+ * -FDT_ERR_BADSTATE,
+ * -FDT_ERR_BADSTRUCTURE,
+ * -FDT_ERR_TRUNCATED, standard meanings
+ */
 const struct fdt_property *fdt_get_property(const void *fdt, int nodeoffset,
const char *name, int *lenp);
-
 static inline struct fdt_property *fdt_get_property_w(void *fdt, int 
nodeoffset,
  const char *name,
  int *lenp)
@@ -349,6 +375,33 @@ static inline struct fdt_property *fdt_g
   name, lenp);
 }
 
+/**
+ * fdt_getprop - retrieve the value of a given property
+ * @fdt: pointer to the device tree blob
+ * @nodeoffset: offset of the node whose property to find
+ * @name: name of the property to find
+ * @lenp: pointer to an integer variable (will be overwritten) or NULL
+ *
+ * fdt_getprop() retrieves a pointer to the value of the property
+ * named 'name' of the node at offset nodeoffset (this will be a
+ * pointer to within the device blob itself, not a copy of the value).
+ * If lenp is non-NULL, the length of the property value also
+ * returned, in the integer pointed to by lenp.
+ *
+ * returns:
+ * pointer to the property's value
+ * if lenp is non-NULL, *lenp contains the length of the property
+ * value (=0)
+ * NULL, on error
+ * if lenp is non-NULL, *lenp contains an error code (0):
+ * -FDT_ERR_NOTFOUND, node does not have named property
+ * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE 
tag
+ * -FDT_ERR_BADMAGIC,
+ * -FDT_ERR_BADVERSION,
+ * -FDT_ERR_BADSTATE,
+ * -FDT_ERR_BADSTRUCTURE,
+ * -FDT_ERR_TRUNCATED, standard meanings
+ */
 const void *fdt_getprop(const void *fdt, int nodeoffset,
const char *name, int *lenp);
 static inline void *fdt_getprop_w(void *fdt, int nodeoffset,
@@ -357,6 +410,31 @@ static inline void *fdt_getprop_w(void *
return (void *)fdt_getprop(fdt, nodeoffset, name, 

[PATCH] Restore deterministic CPU accounting on powerpc

2007-11-01 Thread Paul Mackerras
Since powerpc started using CONFIG_GENERIC_CLOCKEVENTS, the
deterministic CPU accounting (CONFIG_VIRT_CPU_ACCOUNTING) has been
broken on powerpc, because we end up counting user time twice: once in
timer_interrupt() and once in update_process_times().

This fixes the problem by pulling the code in update_process_times
that updates utime and stime into a separate function called
account_process_tick.  If CONFIG_VIRT_CPU_ACCOUNTING is not defined,
there is a version of account_process_tick in kernel/timer.c that
simply accounts a whole tick to either utime or stime as before.  If
CONFIG_VIRT_CPU_ACCOUNTING is defined, then arch code gets to
implement account_process_tick.

This also lets us simplify the s390 code a bit; it means that the s390
timer interrupt can now call update_process_times even when
CONFIG_VIRT_CPU_ACCOUNTING is turned on, and can just implement a
suitable account_process_tick().

Signed-off-by: Paul Mackerras [EMAIL PROTECTED]
---
I don't know who maintains kernel/timer.c, but I assume it's one of
Ingo, Peter Z. or Thomas.  

In fact the arch bits here don't need to go in at the same time as the
changes to include/linux/sched.h and kernel/timer.c, but could go in
later.  I have included them here so people can see how these changes
help in the VIRT_CPU_ACCOUNTING=y case.  The powerpc changes are
tested, but the s390 changes aren't.

In case it's not obvious, I'd like this (or at least the generic and
powerpc bits) to go in 2.6.24 since it fixes a regression.

 arch/powerpc/kernel/process.c |4 +++-
 arch/powerpc/kernel/time.c|   29 +++--
 arch/s390/kernel/time.c   |4 
 arch/s390/kernel/vtime.c  |9 ++---
 include/asm-powerpc/time.h|6 --
 include/asm-ppc/time.h|2 --
 include/asm-s390/system.h |1 -
 include/linux/sched.h |1 +
 kernel/timer.c|   21 ++---
 9 files changed, 23 insertions(+), 54 deletions(-)

diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index b9d8837..eba9332 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -349,9 +349,11 @@ struct task_struct *__switch_to(struct task_struct *prev,
 
local_irq_save(flags);
 
+#ifdef CONFIG_VIRT_CPU_ACCOUNTING
account_system_vtime(current);
-   account_process_vtime(current);
+   account_process_tick(0);
calculate_steal_time();
+#endif
 
last = _switch(old_thread, new_thread);
 
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 9eb3284..f950336 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -259,31 +259,19 @@ void account_system_vtime(struct task_struct *tsk)
  * user and system time records.
  * Must be called with interrupts disabled.
  */
-void account_process_vtime(struct task_struct *tsk)
+void account_process_tick(int user_tick)
 {
cputime_t utime, utimescaled;
 
utime = get_paca()-user_time;
get_paca()-user_time = 0;
-   account_user_time(tsk, utime);
+   account_user_time(current, utime);
 
/* Estimate the scaled utime by scaling the real utime based
 * on the last spurr to purr ratio */
utimescaled = utime * get_paca()-spurrdelta / get_paca()-purrdelta;
get_paca()-spurrdelta = get_paca()-purrdelta = 0;
-   account_user_time_scaled(tsk, utimescaled);
-}
-
-static void account_process_time(struct pt_regs *regs)
-{
-   int cpu = smp_processor_id();
-
-   account_process_vtime(current);
-   run_local_timers();
-   if (rcu_pending(cpu))
-   rcu_check_callbacks(cpu, user_mode(regs));
-   scheduler_tick();
-   run_posix_cpu_timers(current);
+   account_user_time_scaled(current, utimescaled);
 }
 
 /*
@@ -375,7 +363,6 @@ static void snapshot_purr(void)
 
 #else /* ! CONFIG_VIRT_CPU_ACCOUNTING */
 #define calc_cputime_factors()
-#define account_process_time(regs) update_process_times(user_mode(regs))
 #define calculate_steal_time() do { } while (0)
 #endif
 
@@ -599,16 +586,6 @@ void timer_interrupt(struct pt_regs * regs)
get_lppaca()-int_dword.fields.decr_int = 0;
 #endif
 
-   /*
-* We cannot disable the decrementer, so in the period
-* between this cpu's being marked offline in cpu_online_map
-* and calling stop-self, it is taking timer interrupts.
-* Avoid calling into the scheduler rebalancing code if this
-* is the case.
-*/
-   if (!cpu_is_offline(cpu))
-   account_process_time(regs);
-
if (evt-event_handler)
evt-event_handler(evt);
else
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index 48dae49..6c6be1f 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -145,12 +145,8 @@ void account_ticks(u64 time)
do_timer(ticks);
 #endif
 
-#ifdef CONFIG_VIRT_CPU_ACCOUNTING
-   

dtc: Don't force alignment of cell list data

2007-11-01 Thread David Gibson
At present, defining a property as, say:
foo = [abcd], ;

Will cause dtc to insert 2 bytes of zeros between the abcd and the
, to align the cell form data.

Doing so seemed like a good idea at the time, but I don't believe
there are any users who actually rely on this behaviour.  Segher
claims that OF has some defined bindings which include properties an
unaligned subsection of which is interpreted as 32-bit ints (i.e. like
cell data).

Worse, this alignment will cause nothing but pain when we add
expression support to dtc (when celldata is included in a larger
bytestring expession, we won't know the size of the preceding chunk of
the expression until it's evaluated, so we would have to carry
alignment fixup information right through the expression evaluation
process).

Therefore, this patch kills off this alignment behaviour.

Signed-off-by: David Gibson [EMAIL PROTECTED]

Index: dtc/dtc-parser.y
===
--- dtc.orig/dtc-parser.y   2007-11-02 16:45:00.0 +1100
+++ dtc/dtc-parser.y2007-11-02 16:45:42.0 +1100
@@ -149,8 +149,7 @@ propdata:
}
| propdataprefix '' celllist ''
{
-   $$ = data_merge(data_append_align($1,
- sizeof(cell_t)), $3);
+   $$ = data_merge($1, $3);
}
| propdataprefix '[' bytestring ']'
{

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] ehea: add kexec support

2007-11-01 Thread Michael Ellerman
On Wed, 2007-10-31 at 20:48 +0100, Christoph Raisch wrote:
 Michael Ellerman [EMAIL PROTECTED] wrote on 30.10.2007 23:50:36:
 
  On Tue, 2007-10-30 at 09:39 +0100, Christoph Raisch wrote:
  
   Michael Ellerman [EMAIL PROTECTED] wrote on 28.10.2007 23:32:17:
   Hope I didn't miss anything here...
 
  Perhaps. When we kdump the kernel does not call the reboot notifiers, so
  the code Jan-Bernd just added won't get called. So the eHEA resources
  won't be freed. When the kdump kernel tries to load the eHEA driver what
  will happen?
 
 Good point.
 
 If the device driver tries to allocate resources again (in the kdump
 kernel),
 which have been allocated before (in the crashed kernel) the hcalls will
 fail because from the hypervisor view the resources are still in use.
 Currently there's no method to find out the resource handles for these
 HEA resources allocated by the crashed kernel within the hypervisor...

So the hypervisor can't allocate more resources, because they're already
allocated, but it can't free the ones that are allocated because it
doesn't know what they are? I don't think I understand.

If that's really the way it works then eHEA is more or less broken for
kdump I'm afraid.

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


signature.asc
Description: This is a digitally signed message part
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev