LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: Please pull powerpc.git for-2.6.25 branch
From: Paul Mackerras @ 2008-02-07 11:19 UTC (permalink / raw)
  To: torvalds; +Cc: linuxppc-dev
In-Reply-To: <18346.31072.982702.10064@cargo.ozlabs.ibm.com>

Linus,

Please do

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

I have added a few more commits since yesterday's pull request: some
commits updating the 4xx support from Josh Boyer's tree, a compile fix
for 52xx, and a string of commits from Roland McGrath to convert
powerpc over to using the new user_regset stuff for ptrace and core
dumps.

The diffstat and log below show all the commits that are waiting to be
pulled, including the ones in the previous pull request.

Thanks,
Paul.

 Documentation/powerpc/booting-without-of.txt    |   42 +
 arch/powerpc/Kconfig                            |   22 -
 arch/powerpc/Makefile                           |    9 
 arch/powerpc/boot/Makefile                      |  126 ++-
 arch/powerpc/boot/cuboot-mpc7448hpc2.c          |    0 
 arch/powerpc/boot/dts/adder875-redboot.dts      |    1 
 arch/powerpc/boot/dts/adder875-uboot.dts        |    1 
 arch/powerpc/boot/dts/mpc5121ads.dts            |  122 +++
 arch/powerpc/boot/dts/mpc8313erdb.dts           |    4 
 arch/powerpc/boot/dts/mpc8315erdb.dts           |    2 
 arch/powerpc/boot/dts/mpc834x_mds.dts           |    2 
 arch/powerpc/boot/dts/mpc8572ds.dts             |   12 
 arch/powerpc/boot/dts/mpc885ads.dts             |    1 
 arch/powerpc/boot/dts/sequoia.dts               |    8 
 arch/powerpc/boot/dts/storcenter.dts            |   12 
 arch/powerpc/boot/wrapper                       |   23 +
 arch/powerpc/configs/mpc83xx_defconfig          |   10 
 arch/powerpc/kernel/Makefile                    |    4 
 arch/powerpc/kernel/asm-offsets.c               |    3 
 arch/powerpc/kernel/binfmt_elf32.c              |   69 --
 arch/powerpc/kernel/cputable.c                  |   10 
 arch/powerpc/kernel/legacy_serial.c             |    3 
 arch/powerpc/kernel/pmc.c                       |    2 
 arch/powerpc/kernel/ptrace.c                    |  727 +++++++++++++-----
 arch/powerpc/kernel/ptrace32.c                  |  161 +---
 arch/powerpc/kernel/traps.c                     |    2 
 arch/powerpc/kernel/vio.c                       |    2 
 arch/powerpc/mm/mem.c                           |    7 
 arch/powerpc/mm/numa.c                          |   66 ++
 arch/powerpc/oprofile/Makefile                  |    2 
 arch/powerpc/oprofile/common.c                  |    6 
 arch/powerpc/oprofile/op_model_fsl_emb.c        |   28 -
 arch/powerpc/platforms/40x/Kconfig              |    1 
 arch/powerpc/platforms/40x/virtex.c             |    2 
 arch/powerpc/platforms/40x/walnut.c             |    1 
 arch/powerpc/platforms/44x/warp.c               |    2 
 arch/powerpc/platforms/512x/Kconfig             |   20 +
 arch/powerpc/platforms/512x/Makefile            |    4 
 arch/powerpc/platforms/512x/mpc5121_ads.c       |  104 +++
 arch/powerpc/platforms/82xx/mpc8272_ads.c       |    3 
 arch/powerpc/platforms/82xx/pq2fads.c           |    3 
 arch/powerpc/platforms/83xx/mpc832x_rdb.c       |    2 
 arch/powerpc/platforms/83xx/mpc83xx.h           |    2 
 arch/powerpc/platforms/83xx/usb.c               |   17 
 arch/powerpc/platforms/8xx/adder875.c           |    6 
 arch/powerpc/platforms/8xx/ep88xc.c             |    1 
 arch/powerpc/platforms/Kconfig                  |    2 
 arch/powerpc/platforms/Kconfig.cputype          |   10 
 arch/powerpc/platforms/Makefile                 |    1 
 arch/powerpc/platforms/cell/Kconfig             |    7 
 arch/powerpc/platforms/cell/axon_msi.c          |   99 +--
 arch/powerpc/platforms/cell/setup.c             |    2 
 arch/powerpc/platforms/cell/spufs/Makefile      |    2 
 arch/powerpc/platforms/cell/spufs/file.c        |    6 
 arch/powerpc/platforms/cell/spufs/inode.c       |   29 +
 arch/powerpc/platforms/cell/spufs/run.c         |    7 
 arch/powerpc/platforms/cell/spufs/sched.c       |   28 +
 arch/powerpc/platforms/cell/spufs/spufs.h       |    5 
 arch/powerpc/platforms/cell/spufs/sputrace.c    |  250 ++++++
 arch/powerpc/platforms/embedded6xx/storcenter.c |   25 -
 arch/powerpc/platforms/pseries/hotplug-cpu.c    |    2 
 arch/powerpc/platforms/pseries/kexec.c          |    2 
 arch/powerpc/platforms/pseries/reconfig.c       |    1 
 arch/powerpc/platforms/pseries/xics.c           |  118 +--
 arch/powerpc/platforms/pseries/xics.h           |    3 
 arch/powerpc/sysdev/dcr.c                       |    5 
 arch/powerpc/sysdev/fsl_soc.c                   |    2 
 arch/powerpc/sysdev/mpc8xx_pic.c                |   10 
 arch/powerpc/sysdev/qe_lib/qe.c                 |   10 
 drivers/block/xsysace.c                         |    6 
 drivers/cdrom/viocd.c                           |    2 
 drivers/char/Kconfig                            |   10 
 drivers/char/Makefile                           |    1 
 drivers/char/xilinx_hwicap/Makefile             |    7 
 drivers/char/xilinx_hwicap/buffer_icap.c        |  380 ++++++++++
 drivers/char/xilinx_hwicap/buffer_icap.h        |   57 +
 drivers/char/xilinx_hwicap/fifo_icap.c          |  381 ++++++++++
 drivers/char/xilinx_hwicap/fifo_icap.h          |   62 ++
 drivers/char/xilinx_hwicap/xilinx_hwicap.c      |  904 +++++++++++++++++++++++
 drivers/char/xilinx_hwicap/xilinx_hwicap.h      |  193 +++++
 drivers/net/Kconfig                             |    4 
 drivers/net/cpmac.c                             |   55 -
 drivers/of/base.c                               |   25 +
 drivers/of/platform.c                           |   10 
 drivers/serial/Kconfig                          |   12 
 drivers/serial/mpc52xx_uart.c                   |  424 +++++++++--
 drivers/serial/uartlite.c                       |   53 -
 drivers/video/xilinxfb.c                        |    4 
 include/asm-powerpc/cputable.h                  |    2 
 include/asm-powerpc/dcr-native.h                |   47 +
 include/asm-powerpc/elf.h                       |    2 
 include/asm-powerpc/mpc512x.h                   |   22 +
 include/asm-powerpc/mpc52xx_psc.h               |   48 +
 include/asm-powerpc/oprofile_impl.h             |    2 
 include/asm-powerpc/ptrace.h                    |    2 
 include/asm-powerpc/reg.h                       |    4 
 include/asm-powerpc/reg_booke.h                 |   62 --
 include/asm-powerpc/reg_fsl_emb.h               |   72 ++
 include/asm-powerpc/system.h                    |    2 
 include/asm-powerpc/vio.h                       |    2 
 include/linux/elf.h                             |    1 
 include/linux/of.h                              |    1 
 102 files changed, 4173 insertions(+), 969 deletions(-)
 rename arch/powerpc/boot/{cuboot-hpc2.c => cuboot-mpc7448hpc2.c} (100%)
 create mode 100644 arch/powerpc/boot/dts/mpc5121ads.dts
 delete mode 100644 arch/powerpc/kernel/binfmt_elf32.c
 rename arch/powerpc/oprofile/{op_model_fsl_booke.c => op_model_fsl_emb.c} (90%)
 create mode 100644 arch/powerpc/platforms/512x/Kconfig
 create mode 100644 arch/powerpc/platforms/512x/Makefile
 create mode 100644 arch/powerpc/platforms/512x/mpc5121_ads.c
 create mode 100644 arch/powerpc/platforms/cell/spufs/sputrace.c
 create mode 100644 drivers/char/xilinx_hwicap/Makefile
 create mode 100644 drivers/char/xilinx_hwicap/buffer_icap.c
 create mode 100644 drivers/char/xilinx_hwicap/buffer_icap.h
 create mode 100644 drivers/char/xilinx_hwicap/fifo_icap.c
 create mode 100644 drivers/char/xilinx_hwicap/fifo_icap.h
 create mode 100644 drivers/char/xilinx_hwicap/xilinx_hwicap.c
 create mode 100644 drivers/char/xilinx_hwicap/xilinx_hwicap.h
 create mode 100644 include/asm-powerpc/mpc512x.h
 create mode 100644 include/asm-powerpc/reg_fsl_emb.h

Andre Detsch (1):
      [POWERPC] spufs: Fix memory leak on SPU affinity

Andy Fleming (2):
      [POWERPC] Made FSL Book-E PMC support more generic
      [POWERPC} Add oprofile support for e300

Anton Vorontsov (2):
      cpmac: convert to new Fixed PHY infrastructure
      [POWERPC] qe_lib: fix few fluffy negligences

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

Bryan O'Donoghue (1):
      [POWERPC] 8xx: Add clock-frequency to adder875 and mpc885ads dts

Christoph Hellwig (1):
      [POWERPC] spufs: Add marker-based tracing facility

Grant Likely (4):
      [POWERPC] Fix incorrectly tagged __devinitdata structures
      [POWERPC] Eliminate broken OF console initialization.
      [POWERPC] bootwrapper: Build multiple cuImages
      [POWERPC] mpc52xx: fix compile error introduce when rebasing patch

Jeremy Kerr (1):
      [POWERPC] spufs: Fix SPE single-step mode

John Rigby (4):
      [POWERPC] mpc512x: Basic platform support
      [POWERPC] mpc512x: Device tree for MPC5121 ADS
      [POWERPC] mpc512x: Factor out 5200 dependencies from 52xx psc driver
      [POWERPC] mpc512x: Add MPC512x PSC support to MPC52xx psc driver

Jon Loeliger (1):
      [POWERPC] Fix storcenter DTS typos, feedback, IRQs.

Josh Boyer (1):
      [POWERPC] 4xx: Fix Walnut build

Julia Lawall (3):
      [POWERPC] arch/powerpc/platforms/pseries: Add missing of_node_put
      [POWERPC] arch/powerpc/sysdev: Add missing of_node_put
      [POWERPC] arch/powerpc/platforms/82xx: Add missing of_node_put

Kim Phillips (6):
      [POWERPC] 83xx: configure USB clock for MPC8315E
      [POWERPC] 83xx: Correct 2nd PCI controller interrupt value in mpc834x_mds dts
      [POWERPC] 83xx: Add rtc node to mpc8313erdb dts
      [POWERPC] 83xx: mpc832x_rdb: fix compiler warning
      [POWERPC] FSL: fix mpc83xx_spi device registration
      [POWERPC] 83xx: Update mpc83xx_defconfig

Kumar Gala (1):
      [POWERPC] 85xx: Add second cpu to 8572 dts

Michael Ellerman (6):
      [POWERPC] Add of_get_next_parent()
      [POWERPC] Search for and publish cell OF platform devices earlier
      [POWERPC] Create and hook up of_platform_device_shutdown
      [POWERPC] Convert axon_msi to an of_platform driver
      [POWERPC] Avoid DMA exception when using axon_msi with IOMMU
      [POWERPC] Fix legacy serial search for opb bus ports

Nathan Fontenot (4):
      [POWERPC] Update irq descriptor affinity
      [POWERPC] Split xics_teardown_cpu()
      [POWERPC] Remove redundant of_get_cpu_node routine
      [POWERPC] Update default irq servers when boot cpu is removed

Olof Johansson (1):
      [POWERPC] Fix compilation for CONFIG_DEBUGGER=n and CONFIG_KEXEC=y

Roland McGrath (15):
      [POWERPC] Use user_regset accessors for FP regs
      [POWERPC] Use user_regset accessors for altivec regs
      [POWERPC] Use user_regset accessors for SPE regs
      [POWERPC] ptrace accessors for special regs MSR and TRAP
      [POWERPC] Use user_regset accessors for GPRs
      [POWERPC] Add user_regset_view definitions
      [POWERPC] Add user_regset compat support
      [POWERPC] Switch to using user_regset-based core dumps
      [POWERPC] Switch to generic compat_binfmt_elf code
      [POWERPC] Use regset code for PTRACE_*REGS* requests
      [POWERPC] Use generic ptrace peekdata/pokedata
      [POWERPC] Use generic compat_ptrace_request
      [POWERPC] Use generic compat_sys_ptrace
      [POWERPC] Use regset code for compat PTRACE_*REGS* calls
      [POWERPC] Add SPE registers to core dumps

Scott Wood (2):
      [POWERPC] 8xx: adder875, ep88xc: fix to match recent 8xx cleanups.
      [POWERPC] update_mmu_cache: Don't cache-flush non-readable pages

Sean MacLennan (1):
      [POWERPC] 4xx: Fix offset value on Warp board

Stephen Neuendorffer (3):
      [POWERPC] Xilinx: Update compatible to use values generated by BSP generator.
      [POWERPC] Xilinx: hwicap driver
      [POWERPC] Xilinx: hwicap: update booting-without-of.txt

Stephen Rothwell (3):
      [POWERPC] Avoid possible extra of_node_put in axon_msi.c
      [POWERPC] iSeries: Fix section mismatch in viodsasd
      [POWERPC] iSeries: Fix section mismatch in viocd

Tony Breeds (1):
      [POWERPC] Use a sensible default for clock_getres() in the VDSO

Valentine Barshak (4):
      [POWERPC] 4xx: Add USB ehci-ppc-of dts bindings.
      [POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry
      [POWERPC] Add missing native dcr dcr_ind_lock spinlock
      [POWERPC] 4xx: PCIe indirect DCR spinlock fix.

^ permalink raw reply

* Re: [PATCH] MTD support for the AMCC Taishan
From: Josh Boyer @ 2008-02-07 12:00 UTC (permalink / raw)
  To: Imre Kaloz; +Cc: linuxppc-dev
In-Reply-To: <op.t55gr5lb2s3iss@ecaz.afh.b-m.hu>

On Thu, 07 Feb 2008 11:29:55 +0100
"Imre Kaloz" <kaloz@openwrt.org> wrote:

> *bump*? :) If anything is wrong with it, please let me know.

Nothing wrong that I could see.  I just need to test it first.

josh

^ permalink raw reply

* KDB on ppc32
From: Gk1 @ 2008-02-07 12:06 UTC (permalink / raw)
  To: linuxppc-dev


Hi,
  Can anyone help me on KDB patches for ppc32? Is any patches available for
the same? If yes, please give me the links.

Thanks,
Gk

-- 
View this message in context: http://www.nabble.com/KDB-on-ppc32-tp15330900p15330900.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.

^ permalink raw reply

* porting xenomaii for power pc 750Cxe based SBC
From: rakesh bk @ 2008-02-07 12:11 UTC (permalink / raw)
  To: linuxppc-embedded

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

Hello Everyone,

Iam Trying to port the xenomai-2.2.0 using the "
adeos-ipipe-2.6.14-ppc-1.3-05.patch"  to linux-kernel 2.6.14( Vanilla) to
our custom based SBC, After applying patches as i get Enough printk's on my
console , I get Stucked after UNMASKING of Ethernet Irq The following are
the printk messages after i tried to boot the image. can i know what the
actual problem is ...........

These are the following printks, which i get ,


ATSLinux:eth0:none console=ttyS0,9600 ip1=off
 Initializing init_irq
PID hash table entries: 1024 (order: 10, 16384 bytes)
time_init: decrementer frequency = 17.000000 MHz
Warning: real time clock seems stuck!
I-pipe 1.3-05: pipeline enabled.
Console: colour dummy device 80x25
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 125440k available (2716k kernel code, 1200k data, 148k init, 0k
highmem)
Mount-cache hash table entries: 512
softlockup thread 0 started up.
NET: Registered protocol family 16
PCI: Probing PCI hardware
Xenomai: ALTIVEC support enabled in kernel but no hardware found.
         Disable CONFIG_ALTIVEC in the kernel configuration.
Xenomai: system init failed, code -19.
Xenomai: native skin init failed, code -19.
Xenomai: starting POSIX services.
Xenomai: POSIX skin init failed, code -19.
Xenomai: RTDM skin init failed, code -19.
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
Initializing Cryptographic API
Generic RTC Driver v1.07
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
ttyS0 at MMIO 0x0 (irq = 85) is a 16550A
ttyS1 at MMIO 0x0 (irq = 86) is a 16550A
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
loop: loaded (max 8 devices)
eth%d: Couldn't Read Srom MAC address
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
physmap flash device: 10000 at f6000000
Generic platform RAM MTD, (c) 2004 Simtec Electronics
mice: PS/2 mouse device common for all mice
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
 Entering The Ethernet device : <NULL>
 UNMasking of Eth interrupt ( After generating the interrupt ).
 Retval of irq32 is : 0
gt64260_eth_open : Assigned IRQ 32 to gt64260_eth0

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

^ permalink raw reply

* Re: [PATCH] MTD support for the AMCC Taishan
From: Valentine Barshak @ 2008-02-07 13:46 UTC (permalink / raw)
  To: Josh Boyer; +Cc: linuxppc-dev
In-Reply-To: <20080207060012.788e4258@zod.rchland.ibm.com>

Josh Boyer wrote:
> On Thu, 07 Feb 2008 11:29:55 +0100
> "Imre Kaloz" <kaloz@openwrt.org> wrote:
> 
>> *bump*? :) If anything is wrong with it, please let me know.

The arch/ppc had a bit different partition table.
Something like this:
mtd0: 00180000 00040000 "kernel"
mtd1: 00200000 00040000 "root"
mtd2: 03bc0000 00040000 "user"
mtd3: 00080000 00040000 "env"
mtd4: 00040000 00040000 "u-boot"

Thanks,
Valentine.

> 
> Nothing wrong that I could see.  I just need to test it first.
> 
> josh
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev

^ permalink raw reply

* Re: [PATCH] MTD support for the AMCC Taishan
From: Imre Kaloz @ 2008-02-07 13:54 UTC (permalink / raw)
  To: Valentine Barshak, Josh Boyer; +Cc: linuxppc-dev
In-Reply-To: <47AB0BC3.2000202@ru.mvista.com>

Well, arch/ppc calculates the mtd2 dynamically and doesn't create
a separate partition for kozio.

I've based this on how it's currently done for the Sequoia, too.


Imre

On Thu, 07 Feb 2008 14:46:43 +0100, Valentine Barshak  
<vbarshak@ru.mvista.com> wrote:

> Josh Boyer wrote:
>> On Thu, 07 Feb 2008 11:29:55 +0100
>> "Imre Kaloz" <kaloz@openwrt.org> wrote:
>>
>>> *bump*? :) If anything is wrong with it, please let me know.
>
> The arch/ppc had a bit different partition table.
> Something like this:
> mtd0: 00180000 00040000 "kernel"
> mtd1: 00200000 00040000 "root"
> mtd2: 03bc0000 00040000 "user"
> mtd3: 00080000 00040000 "env"
> mtd4: 00040000 00040000 "u-boot"
>
> Thanks,
> Valentine.
>
>>  Nothing wrong that I could see.  I just need to test it first.
>>  josh
>> _______________________________________________
>> Linuxppc-dev mailing list
>> Linuxppc-dev@ozlabs.org
>> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>

^ permalink raw reply

* Re: [PATCH] MTD support for the AMCC Taishan
From: Valentine Barshak @ 2008-02-07 14:05 UTC (permalink / raw)
  To: Imre Kaloz; +Cc: linuxppc-dev, Stefan Roese
In-Reply-To: <op.t55p8elk2s3iss@ecaz.afh.b-m.hu>

Imre Kaloz wrote:
> Well, arch/ppc calculates the mtd2 dynamically and doesn't create
> a separate partition for kozio.

That dynamic size calculation depends on the flash size.
The board I use has a 64MB NOR flash (I'm not aware of other Taishan 
boards having chips of different size). So AFAIU if such board exists, 
we'll need a cuboot flash-size fixup.

Thanks,
Valentine.
> 
> I've based this on how it's currently done for the Sequoia, too.
> 
> 
> Imre
> 
> On Thu, 07 Feb 2008 14:46:43 +0100, Valentine Barshak 
> <vbarshak@ru.mvista.com> wrote:
> 
>> Josh Boyer wrote:
>>> On Thu, 07 Feb 2008 11:29:55 +0100
>>> "Imre Kaloz" <kaloz@openwrt.org> wrote:
>>>
>>>> *bump*? :) If anything is wrong with it, please let me know.
>>
>> The arch/ppc had a bit different partition table.
>> Something like this:
>> mtd0: 00180000 00040000 "kernel"
>> mtd1: 00200000 00040000 "root"
>> mtd2: 03bc0000 00040000 "user"
>> mtd3: 00080000 00040000 "env"
>> mtd4: 00040000 00040000 "u-boot"
>>
>> Thanks,
>> Valentine.
>>
>>>  Nothing wrong that I could see.  I just need to test it first.
>>>  josh
>>> _______________________________________________
>>> Linuxppc-dev mailing list
>>> Linuxppc-dev@ozlabs.org
>>> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>>
> 
> 

^ permalink raw reply

* Re: [PATCH] MTD support for the AMCC Taishan
From: Imre Kaloz @ 2008-02-07 14:35 UTC (permalink / raw)
  To: Valentine Barshak; +Cc: linuxppc-dev, Stefan Roese
In-Reply-To: <47AB1023.9040707@ru.mvista.com>

On Thu, 07 Feb 2008 15:05:23 +0100, Valentine Barshak  
<vbarshak@ru.mvista.com> wrote:

>> Well, arch/ppc calculates the mtd2 dynamically and doesn't create
>> a separate partition for kozio.
>
> That dynamic size calculation depends on the flash size.
> The board I use has a 64MB NOR flash (I'm not aware of other Taishan  
> boards having chips of different size). So AFAIU if such board exists,  
> we'll need a cuboot flash-size fixup.


All Taishan boards have 64MB flash (2x32MB). Denx was doing the size  
calculation
to dynamically allocate mtd2 based on the size of mtd0+mtd1 if I recall  
right.


Cheers,
Imre

^ permalink raw reply

* MPC5200B AC97 support for recent kernel
From: Juergen Beisert @ 2008-02-07 14:51 UTC (permalink / raw)
  To: linuxppc-dev

Hi,

I'm using a 2.6.23 kernel and trying to get the AC97 running on my MPC5200B=
=20
based CPU card. I'm using a patch stack posted here last year. FEC and ATA=
=20
seems running correctly. Also the AC97 seems to run, but I can hear some=20
noise only. But ALSA does detect the external Wolfson codec and its=20
capabilities correctly, so I think the AC97 link works as expected.

Some things I noticed:

 - I can control the volume of the noise with alsamixer
 - the external codes outputs the correct clock (~12 MHz)
 - the MPC5200B AC97 driver receives interrupts from the bestcomm unit (to
   report progress to the pcm framework)
 - everything seems ways too fast. A four minutes mp3 song is ready after
   40 seconds
 - I'm not sure: What type of data wants the AC97 PCS unit? AC97
   data slots are 20 bits wide. int32_t or 24 bits per sample? Big endian?
 - does it use interleave? Left, right, left, right, ... to be fed into AC97
   data slot 3 and 4?

Any ideas?

Juergen

=2D-=20
Dipl.-Ing. Juergen Beisert | http://www.pengutronix.de
=A0Pengutronix - Linux Solutions for Science and Industry
=A0   Handelsregister: Amtsgericht Hildesheim, HRA 2686
=A0 =A0 =A0    Vertretung Sued/Muenchen, Germany
   Phone: +49-8766-939 228 |  Fax: +49-5121-206917-9

^ permalink raw reply

* Re: [PATCH] MTD support for the AMCC Taishan
From: Valentine Barshak @ 2008-02-07 14:55 UTC (permalink / raw)
  To: Imre Kaloz; +Cc: linuxppc-dev, Stefan Roese
In-Reply-To: <op.t55r5tt22s3iss@ecaz.afh.b-m.hu>

Imre Kaloz wrote:
> On Thu, 07 Feb 2008 15:05:23 +0100, Valentine Barshak 
> <vbarshak@ru.mvista.com> wrote:
> 
>>> Well, arch/ppc calculates the mtd2 dynamically and doesn't create
>>> a separate partition for kozio.
>>
>> That dynamic size calculation depends on the flash size.
>> The board I use has a 64MB NOR flash (I'm not aware of other Taishan 
>> boards having chips of different size). So AFAIU if such board exists, 
>> we'll need a cuboot flash-size fixup.
> 
> 
> All Taishan boards have 64MB flash (2x32MB). Denx was doing the size 
> calculation
> to dynamically allocate mtd2 based on the size of mtd0+mtd1 if I recall 
> right.
>

This is actually the code:
arch/ppc/platforms/4xx/taishan.c:static int taishan_setup_flash(void)
{
taishan_nor_parts[2].size = __res.bi_flashsize -
		RW_PART0_SZ - RW_PART1_SZ - RW_PART3_SZ - RW_PART4_SZ;

Thanks,
Valentine.
> 
> Cheers,
> Imre

^ permalink raw reply

* Re: System Clock runaway on Xilinx platform
From: khollan @ 2008-02-07 16:07 UTC (permalink / raw)
  To: linuxppc-embedded
In-Reply-To: <fa686aa40802061452i78838bb0g87c99d76509c866e@mail.gmail.com>




jozsef imrek wrote:
> 
> 
> kevin, how do you get that 175 MHz PLB?
> 
> it should not matter, since the wall clock is derived from the
> cpu clock, but i suspect that your cpu clock is just twice the
> PLB clock, thus it is not 300 MHz, but 350 MHz. this would explain
> the time drift, as
> 
>         300 s * (350 MHz / 300 MHz) = 350 s   (obviously :)
> 
> so here is the extra 50 secs in every 5 minutes.
> 
> 
> 
> -- 
> mazsi
> 
> 

Thanks to an email by jozef imrek I realized that I'm an idiot.  To get the
CPU clock I multiply the PLB X 2 which is 175MHz X 2 = 350 MHz not 300MHz, I
guess I had a brain fart in calculation.  I changed the xparameters to 350
and it seems to be keeping time, I haven't tested it for very long but it's
doing a lot better than before.  Thanks to him I didn't have to wait 45 min
to rebuild the bit stream and probe the clocks.
Thanks Kevin
-- 
View this message in context: http://www.nabble.com/System-Clock-runaway-on-Xilinx-platform-tp15312437p15337076.html
Sent from the linuxppc-embedded mailing list archive at Nabble.com.

^ permalink raw reply

* [PATCH] cuboot-pq2: PCI fixes
From: Scott Wood @ 2008-02-07 18:01 UTC (permalink / raw)
  To: galak; +Cc: linuxppc-dev

1. Detect (and bail out on) more conditions that violate the
assumptions of the setup code -- we assume in such cases that the device
tree is correct and reflects what the firmware did.

2. The inbound memory mask calculation was wrong.

Signed-off-by: Scott Wood <scottwood@freescale.com>
---
 arch/powerpc/boot/cuboot-pq2.c |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/arch/powerpc/boot/cuboot-pq2.c b/arch/powerpc/boot/cuboot-pq2.c
index f56ac6c..9c7d134 100644
--- a/arch/powerpc/boot/cuboot-pq2.c
+++ b/arch/powerpc/boot/cuboot-pq2.c
@@ -128,7 +128,7 @@ static void fixup_pci(void)
 	u8 *soc_regs;
 	int i, len;
 	void *node, *parent_node;
-	u32 naddr, nsize, mem_log2;
+	u32 naddr, nsize, mem_pow2, mem_mask;
 
 	node = finddevice("/pci");
 	if (!node || !dt_is_compatible(node, "fsl,pq2-pci"))
@@ -141,7 +141,7 @@ static void fixup_pci(void)
 
 	soc_regs = (u8 *)fsl_get_immr();
 	if (!soc_regs)
-		goto err;
+		goto unhandled;
 
 	dt_get_reg_format(node, &naddr, &nsize);
 	if (naddr != 3 || nsize != 2)
@@ -153,7 +153,7 @@ static void fixup_pci(void)
 
 	dt_get_reg_format(parent_node, &naddr, &nsize);
 	if (naddr != 1 || nsize != 1)
-		goto err;
+		goto unhandled;
 
 	len = getprop(node, "ranges", pci_ranges_buf,
 	              sizeof(pci_ranges_buf));
@@ -170,14 +170,20 @@ static void fixup_pci(void)
 	}
 
 	if (!mem || !mmio || !io)
-		goto err;
+		goto unhandled;
+	if (mem->size[1] != mmio->size[1])
+		goto unhandled;
+	if (mem->size[1] & (mem->size[1] - 1))
+		goto unhandled;
+	if (io->size[1] & (io->size[1] - 1))
+		goto unhandled;
 
 	if (mem->phys_addr + mem->size[1] == mmio->phys_addr)
 		mem_base = mem;
 	else if (mmio->phys_addr + mmio->size[1] == mem->phys_addr)
 		mem_base = mmio;
 	else
-		goto err;
+		goto unhandled;
 
 	out_be32(&pci_regs[1][0], mem_base->phys_addr | 1);
 	out_be32(&pci_regs[2][0], ~(mem->size[1] + mmio->size[1] - 1));
@@ -201,8 +207,9 @@ static void fixup_pci(void)
 	out_le32(&pci_regs[0][58], 0);
 	out_le32(&pci_regs[0][60], 0);
 
-	mem_log2 = 1 << (__ilog2_u32(bd.bi_memsize - 1) + 1);
-	out_le32(&pci_regs[0][62], 0xa0000000 | ~((1 << (mem_log2 - 12)) - 1));
+	mem_pow2 = 1 << (__ilog2_u32(bd.bi_memsize - 1) + 1);
+	mem_mask = ~(mem_pow2 - 1) >> 12;
+	out_le32(&pci_regs[0][62], 0xa0000000 | mem_mask);
 
 	/* If PCI is disabled, drive RST high to enable. */
 	if (!(in_le32(&pci_regs[0][32]) & 1)) {
@@ -228,7 +235,11 @@ static void fixup_pci(void)
 	return;
 
 err:
-	printf("Bad PCI node\r\n");
+	printf("Bad PCI node -- using existing firmware setup.\r\n");
+	return;
+
+unhandled:
+	printf("Unsupported PCI node -- using existing firmware setup.\r\n");
 }
 
 static void pq2_platform_fixups(void)
-- 
1.5.3.8

^ permalink raw reply related

* Re: asm-offsets.c
From: Christoph Hellwig @ 2008-02-07 19:01 UTC (permalink / raw)
  To: Sean MacLennan; +Cc: linuxppc-dev
In-Reply-To: <47AA8C7D.3030109@pikatech.com>

On Wed, Feb 06, 2008 at 11:43:41PM -0500, Sean MacLennan wrote:
> I just did a git pull of Josh's tree, and 
> arch/powerpc/kernel/asm-offsets.c does not compile. I have only been 
> glossing over the linuxppc-dev emails, so forgive me if this already 
> came up.
> 
> It looks like, at least for the Warp, CLOCK_REALTIME_RES is not defined 
> so asm-offsets.c gets an error. The following patch fixes it.... but I 
> am not sure it is right since I don't know if CLOCK_REALTIME_RES should 
> be defined.

The breakage is now in mainline aswell.

^ permalink raw reply

* Re: asm-offsets.c
From: Sean MacLennan @ 2008-02-07 20:24 UTC (permalink / raw)
  To: benh; +Cc: linuxppc-dev, Sean MacLennan
In-Reply-To: <1202373888.7079.124.camel@pasglop>

Benjamin Herrenschmidt wrote:
> On Wed, 2008-02-06 at 23:43 -0500, Sean MacLennan wrote:
>   
>> I just did a git pull of Josh's tree, and 
>> arch/powerpc/kernel/asm-offsets.c does not compile. I have only been 
>> glossing over the linuxppc-dev emails, so forgive me if this already 
>> came up.
>>
>> It looks like, at least for the Warp, CLOCK_REALTIME_RES is not defined 
>> so asm-offsets.c gets an error. The following patch fixes it.... but I 
>> am not sure it is right since I don't know if CLOCK_REALTIME_RES should 
>> be defined.
>>     
>
> Hrm... this macro should -define- CLOCK_REALTIME_RES, not rely on an
> existing definition...
>   
If I comment out CLOCK_REALTIME in include/linux/time.h then I fail:

  CC      arch/powerpc/kernel/asm-offsets.s
arch/powerpc/kernel/asm-offsets.c: In function 'main':
arch/powerpc/kernel/asm-offsets.c:313: error: 'CLOCK_REALTIME' undeclared (first use in this function)
arch/powerpc/kernel/asm-offsets.c:313: error: (Each undeclared identifier is reported only once
arch/powerpc/kernel/asm-offsets.c:313: error: for each function it appears in.)
make[1]: *** [arch/powerpc/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2
make: Leaving directory `/home/seanm/taco/for-2.6.25'


It looks like the first arg must be defined?

Cheers,
   Sean

^ permalink raw reply

* Tip for Kernel 2.6.14 & XUP
From: Joachim Meyer @ 2008-02-07 21:30 UTC (permalink / raw)
  To: linuxppc-embedded

Hi

I want to use the Kernelversion 2.6.14 now, for the XUP
I looked at the secretlab and the xilinx tree, but there were no hints that the 2.6.14er Version supports the XUP.
Am I right?
A Tip what I should do

PS: I want to use 2.6.14 because thats the latest Kernel which seems to be supported for PowerPC's from rtai

THX & Greez
Joachim
_____________________________________________________________________
Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
http://smartsurfer.web.de/?mc=100071&distributionid=000000000066

^ permalink raw reply

* [PATCH] Fix compilation of powerpc asm-offsets.c with old gcc
From: Paul Mackerras @ 2008-02-07 22:24 UTC (permalink / raw)
  To: torvalds, akpm, tglx; +Cc: linuxppc-dev, linux-kernel

From: Tony Breeds <tony@bakeyournoodle.com>

Commit ad7f71674ad7c3c4467e48f6ab9e85516dae2720 corrected the clock
resolution reported by the VDSO clock_getres() but introduced another
problem in that older versions of gcc (gcc-4.0 and earlier) fail to
compile the new code in arch/powerpc/kernel/asm-offsets.c.

This fixes it by introducing a new MONOTONIC_RES_NSEC define in the
generic code which is equivalent to KTIME_MONOTONIC_RES but is just an
integer constant, not a ktime union.

Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
---

Linus, I'm sending you this as a patch since it touches generic code.
Please apply, since mainline is broken for powerpc users who are using
gcc-4.0 or earlier.

diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index e6e4928..4b749c4 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -313,7 +313,7 @@ int main(void)
 	DEFINE(CLOCK_REALTIME, CLOCK_REALTIME);
 	DEFINE(CLOCK_MONOTONIC, CLOCK_MONOTONIC);
 	DEFINE(NSEC_PER_SEC, NSEC_PER_SEC);
-	DEFINE(CLOCK_REALTIME_RES, (KTIME_MONOTONIC_RES).tv64);
+	DEFINE(CLOCK_REALTIME_RES, MONOTONIC_RES_NSEC);
 
 #ifdef CONFIG_BUG
 	DEFINE(BUG_ENTRY_SIZE, sizeof(struct bug_entry));
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
index 8371b66..203591e 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -225,11 +225,14 @@ static inline int hrtimer_is_hres_active(struct hrtimer *timer)
  * idea of the (in)accuracy of timers. Timer values are rounded up to
  * this resolution values.
  */
-# define KTIME_HIGH_RES		(ktime_t) { .tv64 = 1 }
+# define HIGH_RES_NSEC		1
+# define KTIME_HIGH_RES		(ktime_t) { .tv64 = HIGH_RES_NSEC }
+# define MONOTONIC_RES_NSEC	HIGH_RES_NSEC
 # define KTIME_MONOTONIC_RES	KTIME_HIGH_RES
 
 #else
 
+# define MONOTONIC_RES_NSEC	LOW_RES_NSEC
 # define KTIME_MONOTONIC_RES	KTIME_LOW_RES
 
 /*
diff --git a/include/linux/ktime.h b/include/linux/ktime.h
index a6ddec1..36c542b 100644
--- a/include/linux/ktime.h
+++ b/include/linux/ktime.h
@@ -316,7 +316,8 @@ static inline ktime_t ktime_sub_us(const ktime_t kt, const u64 usec)
  * idea of the (in)accuracy of timers. Timer values are rounded up to
  * this resolution values.
  */
-#define KTIME_LOW_RES		(ktime_t){ .tv64 = TICK_NSEC }
+#define LOW_RES_NSEC		TICK_NSEC
+#define KTIME_LOW_RES		(ktime_t){ .tv64 = LOW_RES_NSEC }
 
 /* Get the monotonic time in timespec format: */
 extern void ktime_get_ts(struct timespec *ts);

^ permalink raw reply related

* Re: [PATCH] Fix compilation of powerpc asm-offsets.c with old gcc
From: Linus Torvalds @ 2008-02-07 22:53 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: linuxppc-dev, akpm, tglx, linux-kernel
In-Reply-To: <18347.34100.60973.215093@cargo.ozlabs.ibm.com>



On Fri, 8 Feb 2008, Paul Mackerras wrote:
>
> From: Tony Breeds <tony@bakeyournoodle.com>
> 
> Commit ad7f71674ad7c3c4467e48f6ab9e85516dae2720 corrected the clock
> ..

Please, when mentioning hex numbers, also do the one-liner shortlog.

I realize that in gitk (or even just with two terminal windows open and a 
git repository) it's trivial to just follow the link and see what that 
commit was, but even you're just doing a "git log" or more commonly if you 
read the commit log somewhere else (like a mail gateway that posts them 
automatically when I apply things), it's really much more readable if you 
were to say something like:

  Commit ad7f71674ad7c3c4467e48f6ab9e85516dae2720 ("[POWERPC] Use a 
  sensible default for clock_getres() in the VDSO") corrected the clock
  ...

which reads much mroe naturally without having to go wonder what that 
commit was doing. No?

As it is, I'm pretty used to editing those things in (I do it all the 
time), and I will do so for this email too, but I want to keep bringing 
this up so that I hopfully wouldn't have to do it so often. So please 
write your commit messages with the specific git information available, 
but without _requiring_ people to be git users to get the gist of the 
matter, ok?

			Linus

^ permalink raw reply

* Re: [libfdt] RFC: Node iterators (v2)
From: Scott Wood @ 2008-02-07 23:34 UTC (permalink / raw)
  To: Scott Wood, jdl, linuxppc-dev
In-Reply-To: <20080117051009.GA12239@localhost.localdomain>

David Gibson wrote:
> And here's a revised version.  This now also handles recursive
> iteration and iteration across nodes without respect to depth.  I've
> removed the for_each() macros for the time being, because they were
> making my brain hurt, but I'm still contemplating bringing them back.
> Several libfdt functions are now implemented using the new iterator,
> so this ends up as a code-size-reducing patch.
> 
> I'm pretty happy with the basic outline of this now, although the
> names and details might want a bit of polish still.

Can we get this merged?

> +int _fdt_next_node(const void *fdt, int offset, int *depth)
> +{

This is a public function; why the underscore?

-Scott

^ permalink raw reply

* [PATCH 00/18] ide: warm-plug support for IDE devices and other goodies
From: Bartlomiej Zolnierkiewicz @ 2008-02-08  0:44 UTC (permalink / raw)
  To: linux-ide; +Cc: linuxppc-dev, linux-kernel, Bartlomiej Zolnierkiewicz


- couple of fixes and preparatory patches

- rework of PowerMac media-bay support ([un]register IDE devices instead of
  [un]registering IDE interface) [ it is the main reason for spamming PPC ML ]

- IDE warm-plug support (though it is still experimental it should work fine,
  unlike the older method), to warm-plug devices on a port 'idex':

  # echo -n "1" > /sys/class/ide_port/idex/delete_devices

  unplug old device(s) and plug new device(s)

  # echo -n "1" > /sys/class/ide_port/idex/scan

  done

- ability to add new interfaces for ide-generic host driver through
  /sys/class/ide_generic/add, i.e.

  echo -n "0x168:0x36e:10" > /sys/class/ide_generic/add

- because of the above changes some obsoleted/broken code can be removed
  (thus the total effect of the patch series is -100 LOC)


diffstat:
 Documentation/ide.txt                 |   31 --
 Documentation/ide/warm-plug-howto.txt |   13 +
 block/compat_ioctl.c                  |    1 
 drivers/ide/Kconfig                   |   25 --
 drivers/ide/Makefile                  |    2 
 drivers/ide/arm/bast-ide.c            |    4 
 drivers/ide/arm/palm_bk3710.c         |    2 
 drivers/ide/arm/rapide.c              |    2 
 drivers/ide/ide-acpi.c                |    2 
 drivers/ide/ide-generic.c             |   85 +++++++
 drivers/ide/ide-pnp.c                 |    2 
 drivers/ide/ide-probe.c               |  108 ++++++++-
 drivers/ide/ide-proc.c                |    3 
 drivers/ide/ide.c                     |  386 ++++++++--------------------------
 drivers/ide/legacy/ide-cs.c           |    6 
 drivers/ide/legacy/ide_platform.c     |    2 
 drivers/ide/mips/au1xxx-ide.c         |    5 
 drivers/ide/pci/cmd640.c              |    2 
 drivers/ide/pci/delkin_cb.c           |    6 
 drivers/ide/pci/scc_pata.c            |    2 
 drivers/ide/ppc/pmac.c                |    4 
 drivers/ide/setup-pci.c               |   11 
 drivers/macintosh/mediabay.c          |   17 -
 include/asm-powerpc/mediabay.h        |    4 
 include/linux/hdreg.h                 |    4 
 include/linux/ide.h                   |   51 ----
 26 files changed, 339 insertions(+), 441 deletions(-)

^ permalink raw reply

* [PATCH 01/18] ide-generic: set hwif->chipset
From: Bartlomiej Zolnierkiewicz @ 2008-02-08  0:44 UTC (permalink / raw)
  To: linux-ide; +Cc: linuxppc-dev, linux-kernel, Bartlomiej Zolnierkiewicz
In-Reply-To: <20080208004421.17746.32557.sendpatchset@localhost.localdomain>

This hwif->chipset fixup is already present in ide_device_add_all()
but for warm-plug support we also need to reserve not currently present
interfaces.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/ide-generic.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Index: b/drivers/ide/ide-generic.c
===================================================================
--- a/drivers/ide/ide-generic.c
+++ b/drivers/ide/ide-generic.c
@@ -23,7 +23,9 @@ static int __init ide_generic_init(void)
 	for (i = 0; i < MAX_HWIFS; i++) {
 		ide_hwif_t *hwif = &ide_hwifs[i];
 
-		if (hwif->io_ports[IDE_DATA_OFFSET] && !hwif->present)
+		if (hwif->io_ports[IDE_DATA_OFFSET] &&
+		    (hwif->chipset == ide_unknown ||
+		     hwif->chipset == ide_forced))
 			idx[i] = i;
 		else
 			idx[i] = 0xff;

^ permalink raw reply

* [PATCH 02/18] ide: fix ide_find_port()
From: Bartlomiej Zolnierkiewicz @ 2008-02-08  0:44 UTC (permalink / raw)
  To: linux-ide; +Cc: linuxppc-dev, linux-kernel, Bartlomiej Zolnierkiewicz
In-Reply-To: <20080208004421.17746.32557.sendpatchset@localhost.localdomain>

* Instead of checking for '->io_ports[IDE_DATA_OFFSET] == 0' check for
  '->chipset == ide_unknown' when looking for an empty ide_hwifs[] slot.

* Do ide-pnp initialization after ide-generic when IDE is built-in
  (ide-pnp is the only user of ide_find_port() which needs such fixup).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/Makefile |    2 +-
 drivers/ide/ide.c    |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Index: b/drivers/ide/Makefile
===================================================================
--- a/drivers/ide/Makefile
+++ b/drivers/ide/Makefile
@@ -36,9 +36,9 @@ ifeq ($(CONFIG_BLK_DEV_CMD640), y)
 endif
 
 obj-$(CONFIG_BLK_DEV_IDE)		+= cris/ ppc/
-obj-$(CONFIG_BLK_DEV_IDEPNP)		+= ide-pnp.o
 obj-$(CONFIG_IDE_H8300)			+= h8300/
 obj-$(CONFIG_IDE_GENERIC)		+= ide-generic.o
+obj-$(CONFIG_BLK_DEV_IDEPNP)		+= ide-pnp.o
 
 ide-cd_mod-y += ide-cd.o ide-cd_ioctl.o ide-cd_verbose.o
 
Index: b/drivers/ide/ide.c
===================================================================
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -259,7 +259,7 @@ ide_hwif_t * ide_find_port(unsigned long
 
 	for (i = 0; i < MAX_HWIFS; i++) {
 		hwif = &ide_hwifs[i];
-		if (hwif->io_ports[IDE_DATA_OFFSET] == 0)
+		if (hwif->chipset == ide_unknown)
 			goto found;
 	}
 

^ permalink raw reply

* [PATCH 03/18] ide: use ide_find_port() instead of ide_deprecated_find_port()
From: Bartlomiej Zolnierkiewicz @ 2008-02-08  0:44 UTC (permalink / raw)
  To: linux-ide; +Cc: linuxppc-dev, linux-kernel, Bartlomiej Zolnierkiewicz
In-Reply-To: <20080208004421.17746.32557.sendpatchset@localhost.localdomain>

* Use ide_find_port() instead of ide_deprecated_find_port() in bast-ide/
  palm_bk3710/ide-cs/delkin_cb host drivers and in ide_register_hw().

* Remove no longer needed ide_deprecated_find_port().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/arm/bast-ide.c    |    2 +-
 drivers/ide/arm/palm_bk3710.c |    2 +-
 drivers/ide/ide.c             |   27 +--------------------------
 drivers/ide/legacy/ide-cs.c   |    2 +-
 drivers/ide/pci/delkin_cb.c   |    2 +-
 include/linux/ide.h           |    1 -
 6 files changed, 5 insertions(+), 31 deletions(-)

Index: b/drivers/ide/arm/bast-ide.c
===================================================================
--- a/drivers/ide/arm/bast-ide.c
+++ b/drivers/ide/arm/bast-ide.c
@@ -46,7 +46,7 @@ bastide_register(unsigned int base, unsi
 	hw.io_ports[IDE_CONTROL_OFFSET] = aux + (6 * 0x20);
 	hw.irq = irq;
 
-	hwif = ide_deprecated_find_port(hw.io_ports[IDE_DATA_OFFSET]);
+	hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
 	if (hwif == NULL)
 		goto out;
 
Index: b/drivers/ide/arm/palm_bk3710.c
===================================================================
--- a/drivers/ide/arm/palm_bk3710.c
+++ b/drivers/ide/arm/palm_bk3710.c
@@ -378,7 +378,7 @@ static int __devinit palm_bk3710_probe(s
 	hw.irq = irq->start;
 	hw.chipset = ide_palm3710;
 
-	hwif = ide_deprecated_find_port(hw.io_ports[IDE_DATA_OFFSET]);
+	hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
 	if (hwif == NULL)
 		goto out;
 
Index: b/drivers/ide/ide.c
===================================================================
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -627,31 +627,6 @@ void ide_init_port_hw(ide_hwif_t *hwif, 
 }
 EXPORT_SYMBOL_GPL(ide_init_port_hw);
 
-ide_hwif_t *ide_deprecated_find_port(unsigned long base)
-{
-	ide_hwif_t *hwif;
-	int i;
-
-	for (i = 0; i < MAX_HWIFS; i++) {
-		hwif = &ide_hwifs[i];
-		if (hwif->io_ports[IDE_DATA_OFFSET] == base)
-			goto found;
-	}
-
-	for (i = 0; i < MAX_HWIFS; i++) {
-		hwif = &ide_hwifs[i];
-		if (hwif->hold)
-			continue;
-		if (!hwif->present && hwif->mate == NULL)
-			goto found;
-	}
-
-	hwif = NULL;
-found:
-	return hwif;
-}
-EXPORT_SYMBOL_GPL(ide_deprecated_find_port);
-
 /**
  *	ide_register_hw		-	register IDE interface
  *	@hw: hardware registers
@@ -671,7 +646,7 @@ int ide_register_hw(hw_regs_t *hw, void 
 	u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
 
 	do {
-		hwif = ide_deprecated_find_port(hw->io_ports[IDE_DATA_OFFSET]);
+		hwif = ide_find_port(hw->io_ports[IDE_DATA_OFFSET]);
 		index = hwif->index;
 		if (hwif)
 			goto found;
Index: b/drivers/ide/legacy/ide-cs.c
===================================================================
--- a/drivers/ide/legacy/ide-cs.c
+++ b/drivers/ide/legacy/ide-cs.c
@@ -156,7 +156,7 @@ static int idecs_register(unsigned long 
     hw.chipset = ide_pci;
     hw.dev = &handle->dev;
 
-    hwif = ide_deprecated_find_port(hw.io_ports[IDE_DATA_OFFSET]);
+    hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
     if (hwif == NULL)
 	return -1;
 
Index: b/drivers/ide/pci/delkin_cb.c
===================================================================
--- a/drivers/ide/pci/delkin_cb.c
+++ b/drivers/ide/pci/delkin_cb.c
@@ -78,7 +78,7 @@ delkin_cb_probe (struct pci_dev *dev, co
 	hw.irq = dev->irq;
 	hw.chipset = ide_pci;		/* this enables IRQ sharing */
 
-	hwif = ide_deprecated_find_port(hw.io_ports[IDE_DATA_OFFSET]);
+	hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
 	if (hwif == NULL)
 		goto out_disable;
 
Index: b/include/linux/ide.h
===================================================================
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -186,7 +186,6 @@ typedef struct hw_regs_s {
 } hw_regs_t;
 
 struct hwif_s * ide_find_port(unsigned long);
-struct hwif_s *ide_deprecated_find_port(unsigned long);
 void ide_init_port_data(struct hwif_s *, unsigned int);
 void ide_init_port_hw(struct hwif_s *, hw_regs_t *);
 

^ permalink raw reply

* [PATCH 04/18] ide-acpi: add missing drive->acpidata zeroing
From: Bartlomiej Zolnierkiewicz @ 2008-02-08  0:44 UTC (permalink / raw)
  To: linux-ide; +Cc: linuxppc-dev, linux-kernel, Bartlomiej Zolnierkiewicz
In-Reply-To: <20080208004421.17746.32557.sendpatchset@localhost.localdomain>

There should be no functionality changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/ide-acpi.c |    2 ++
 1 file changed, 2 insertions(+)

Index: b/drivers/ide/ide-acpi.c
===================================================================
--- a/drivers/ide/ide-acpi.c
+++ b/drivers/ide/ide-acpi.c
@@ -710,6 +710,8 @@ void ide_acpi_port_init_devices(ide_hwif
 	for (i = 0; i < MAX_DRIVES; i++) {
 		drive = &hwif->drives[i];
 
+		memset(drive->acpidata, 0, sizeof(*drive->acpidata));
+
 		if (!drive->present)
 			continue;
 

^ permalink raw reply

* [PATCH 05/18] ide: factor out cable detection from ide_init_port()
From: Bartlomiej Zolnierkiewicz @ 2008-02-08  0:44 UTC (permalink / raw)
  To: linux-ide; +Cc: linuxppc-dev, linux-kernel, Bartlomiej Zolnierkiewicz
In-Reply-To: <20080208004421.17746.32557.sendpatchset@localhost.localdomain>

* Factor out cable detection from ide_init_port() to ide_port_cable_detect().

* Move ide_port_cable_detect() call to ide_device_add_all().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/ide-probe.c |    4 ++++
 1 file changed, 4 insertions(+)

Index: b/drivers/ide/ide-probe.c
===================================================================
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -1364,7 +1364,10 @@ static void ide_init_port(ide_hwif_t *hw
 	/* call chipset specific routine for each enabled port */
 	if (d->init_hwif)
 		d->init_hwif(hwif);
+}
 
+static void ide_port_cable_detect(ide_hwif_t *hwif)
+{
 	if (hwif->cable_detect && (hwif->ultra_mask & 0x78)) {
 		if (hwif->cbl != ATA_CBL_PATA40_SHORT)
 			hwif->cbl = hwif->cable_detect(hwif);
@@ -1392,6 +1395,7 @@ int ide_device_add_all(u8 *idx, const st
 		mate = (i & 1) ? NULL : hwif;
 
 		ide_init_port(hwif, i & 1, d);
+		ide_port_cable_detect(hwif);
 		ide_port_init_devices(hwif);
 	}
 

^ permalink raw reply

* [PATCH 06/18] ide: factor out code unregistering devices from ide_unregister()
From: Bartlomiej Zolnierkiewicz @ 2008-02-08  0:45 UTC (permalink / raw)
  To: linux-ide; +Cc: linuxppc-dev, linux-kernel, Bartlomiej Zolnierkiewicz
In-Reply-To: <20080208004421.17746.32557.sendpatchset@localhost.localdomain>

Factor out code unregistering devices from ide_unregister() to
ide_port_unregister_devices().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/ide.c |   30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

Index: b/drivers/ide/ide.c
===================================================================
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -494,6 +494,23 @@ void ide_remove_port_from_hwgroup(ide_hw
 	spin_unlock_irq(&ide_lock);
 }
 
+/* Called with ide_lock held. */
+static void ide_port_unregister_devices(ide_hwif_t *hwif)
+{
+	int i;
+
+	for (i = 0; i < MAX_DRIVES; i++) {
+		ide_drive_t *drive = &hwif->drives[i];
+
+		if (drive->present) {
+			spin_unlock_irq(&ide_lock);
+			device_unregister(&drive->gendev);
+			wait_for_completion(&drive->gendev_rel_comp);
+			spin_lock_irq(&ide_lock);
+		}
+	}
+}
+
 /**
  *	ide_unregister		-	free an IDE interface
  *	@index: index of interface (will change soon to a pointer)
@@ -520,11 +537,10 @@ void ide_remove_port_from_hwgroup(ide_hw
 
 void ide_unregister(unsigned int index, int init_default, int restore)
 {
-	ide_drive_t *drive;
 	ide_hwif_t *hwif, *g;
 	static ide_hwif_t tmp_hwif; /* protected by ide_cfg_mtx */
 	ide_hwgroup_t *hwgroup;
-	int irq_count = 0, unit;
+	int irq_count = 0;
 
 	BUG_ON(index >= MAX_HWIFS);
 
@@ -535,15 +551,7 @@ void ide_unregister(unsigned int index, 
 	hwif = &ide_hwifs[index];
 	if (!hwif->present)
 		goto abort;
-	for (unit = 0; unit < MAX_DRIVES; ++unit) {
-		drive = &hwif->drives[unit];
-		if (!drive->present)
-			continue;
-		spin_unlock_irq(&ide_lock);
-		device_unregister(&drive->gendev);
-		wait_for_completion(&drive->gendev_rel_comp);
-		spin_lock_irq(&ide_lock);
-	}
+	ide_port_unregister_devices(hwif);
 	hwif->present = 0;
 
 	spin_unlock_irq(&ide_lock);

^ 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