aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* sh: sh7724 div4 clkdev lookupMagnus Damm2010-05-131-0/+7
| | | | | | | Add sh7724 DIV4 clocks to the clkdev lookup list. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7723 div4 clkdev lookupMagnus Damm2010-05-131-0/+11
| | | | | | | Add sh7723 DIV4 clocks to the clkdev lookup list. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7722 div4 clkdev lookupMagnus Damm2010-05-131-0/+11
| | | | | | | Add sh7722 DIV4 clocks to the clkdev lookup list. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: div4 reparent workaroundMagnus Damm2010-05-131-1/+6
| | | | | | | | Update the div4 set_parent() callback to use the flags instead of name to determine parent index. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: get rid of mstp32 clock name and idMagnus Damm2010-05-135-147/+143
| | | | | | | | | Remove the name and the id from SH_CLK_MSTP32(). Now when lookups are handled by clkdev they are not needed anymore. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7786 mstp32 clkdev lookupMagnus Damm2010-05-131-1/+54
| | | | | | | Add sh7786 MSTP clocks to the clkdev lookup table. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7786 mstp32 index reworkMagnus Damm2010-05-131-43/+51
| | | | | | | This patch adds sh7786 MSTP enums for mstp_clks[] index. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7785 mstp32 clkdev lookupMagnus Damm2010-05-131-0/+47
| | | | | | | Add sh7785 MSTP clocks to the clkdev lookup table. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7785 mstp32 index reworkMagnus Damm2010-05-131-29/+35
| | | | | | | This patch adds sh7785 MSTP enums for mstp_clks[] index. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7366 mstp32 clkdev lookupMagnus Damm2010-05-131-0/+52
| | | | | | | Add sh7366 MSTP clocks to the clkdev lookup table. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7366 mstp32 index reworkMagnus Damm2010-05-131-42/+50
| | | | | | | | | | This patch adds sh7366 MSTP enums for mstp_clks[] index. The MSTP bit for the SIU is removed as well since it is not included in the documentation. Most likely an old copy paste error from sh7722. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7343 mstp32 clkdev lookupMagnus Damm2010-05-131-0/+62
| | | | | | | Add sh7343 MSTP clocks to the clkdev lookup table. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7343 mstp32 index reworkMagnus Damm2010-05-131-46/+56
| | | | | | | This patch adds sh7343 MSTP enums for mstp_clks[] index. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: clkfwk: Use debugfs_remove_recursive() for rewindingHiroshi DOYU2010-05-111-1/+1
| | | | | | | | | Rewinding each debugfs entries to unregister if an error happens. Based on the commit ca4caa4e1d45f9542fa54263974d0ef637157b4a Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: get rid of div6 clock namesMagnus Damm2010-05-116-18/+14
| | | | | | | | Get rid of div6 clock names on sh7343/sh7366/sh7722/sh7723/sh7724 Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: tie in div6 clocks using clkdevMagnus Damm2010-05-115-19/+65
| | | | | | | | Use clkdev for div6 lookup on SH-Mobile processors: sh7343/sh7366/sh7722/sh7723/sh7724 Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: get rid of hwblk clock namesMagnus Damm2010-05-114-153/+133
| | | | | | | | Remove the clock name from sh7722/sh7723/sh7724 hwblk clocks. Lookup is handled by clkdev. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: allow registering clocks without nameMagnus Damm2010-05-111-3/+4
| | | | | | | | | Modify the SuperH clock code to support struct clk with NULL as name. Such clocks will not be hooked up to debugfs. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: tie in hwblk clocks using clkdevMagnus Damm2010-05-113-4/+119
| | | | | | | | Use clkdev for lookup of hwblk clocks on sh7722/sh7723/sh7724. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: scif and tmu clkdev changesMagnus Damm2010-05-113-15/+112
| | | | | | | | Modify sh7722/sh7723/sh7724 to use clkdev for TMU and SCIF clock lookups. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: hwblk index reworkMagnus Damm2010-05-115-18/+23
| | | | | | | | Rework the sh7722/sh7723/sh7724 hwblk code to use the hwblk id as index in the mstp clock array. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Make initrd detection more robust.Paul Mundt2010-05-061-20/+58
| | | | | | | | | | Various boot loaders go to various extents to thwart the initrd detection logic (mostly on account of not being able to be bothered with adhering to the established boot ABI), so we make the detection logic a bit more robust. This makes it possible to work around the SDK7786's firmware's attempts to thwart compressed image booting. Victory is mine. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: native_cpu_disable() build error when CONFIG_HOTPLUG_CPU=nMatt Fleming2010-04-291-1/+1
| | | | | | | | arch/sh/kernel/smp.c:164: error: conflicting types for 'native_cpu_disable' /home/matt/src/kernels/sh-2.6/arch/sh/include/asm/smp.h:48: error: previous declaration of 'native_cpu_disable' was here Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: add CONFIG_VIRTUALIZATION for virtio supportMagnus Damm2010-04-291-0/+16
| | | | | | | | | Add CONFIG_VIRTUALIZATION to the SH architecture and include the virtio code there. Used to enable the virtio drivers under QEMU. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: make latencytop available on SMP, too.Paul Mundt2010-04-271-1/+0
| | | | | | | | | The UP dependency was inherited from ARM, which seems to have run in to it due to the stacktrace code not being available for SMP in certain cases, as we don't have this particular limitation there is no specific need to block on the SMP dependency. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'sh/smp'Paul Mundt2010-04-2615-40/+373
|\
| * sh: CPU hotplug support for SH-X3 SMP.Paul Mundt2010-04-261-0/+47
| | | | | | | | | | | | | | | | | | This wires up CPU hotplug for SH-X3 SMP CPUs. Presently only secondary cores can be hotplugged given that the boot CPU has to contend with the broadcast timer. When real local timers are implemented this restriction can be lifted. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: CPU hotplug support.Paul Mundt2010-04-268-6/+194
| | | | | | | | | | | | This adds preliminary support for CPU hotplug for SH SMP systems. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: cache secondary CPUs idle loop.Paul Mundt2010-04-262-4/+13
| | | | | | | | | | | | | | | | This provides a cache of the secondary CPUs idle loop for the cases where hotplug simply enters a low power state instead of resetting or powering off the core. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: flag smp_store_cpu_info() __cpuinit.Paul Mundt2010-04-261-2/+2
| | | | | | | | | | | | | | smp_store_cpu_info() is presently flagged as __init, but is called by start_secondary() which is __cpuinit, fix it up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: provide percpu CPU states for hotplug notifiers.Paul Mundt2010-04-262-4/+13
| | | | | | | | | | | | | | This provides percpu CPU states in preparation for CPU hotplug and the associated notifier chains. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Make sure all SH-X3 cores are populated in the present CPU map.Paul Mundt2010-04-261-0/+3
| | | | | | | | | | | | | | This iterates over the maximum number of CPUs we plan to support and makes sure they're all set in the present CPU map. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: convert online CPU map twiddling to cpumask.Paul Mundt2010-04-262-2/+2
| | | | | | | | | | | | | | | | | | This converts from cpu_set() for the online map to set_cpu_online(). The two online map modifiers were the last remaining manual map manipulation bits, with this in place everything now goes through cpumask. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: arch/sh/kernel/setup.c needs asm/smp.h.Paul Mundt2010-04-261-0/+1
| | | | | | | | | | | | | | | | With the platform ops migration, the definitions still need to be included in the CONFIG_SMP=n case, so make the asm/smp.h include explicit. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Flag present CPUs hotpluggable in topology registration.Paul Mundt2010-04-261-1/+5
| | | | | | | | | | | | | | When registering CPUs in the topology initialization ensure that all of the present CPUs are flagged as hotpluggable. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Move platform smp ops in to their own structure.Paul Mundt2010-04-219-23/+95
| | | | | | | | | | | | | | | | This cribs the MIPS plat_smp_ops approach for wrapping up the platform ops. This will allow for mixing and matching different ops on the same platform in the future. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: mach-sdk7786: update defconfig for compressed kernel image.Paul Mundt2010-04-262-193/+444
| | | | | | | | | | | | | | Now that compressed image loading is possible for sdk7786, drop the vmlinux.bin default image target and update the defconfig accordingly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Kill off dangling goto labels from oom-killer rework.Paul Mundt2010-04-262-2/+0
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | Merge branch 'sh/stable-updates'Paul Mundt2010-04-264674-5730/+28453
|\ \ | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/sh/kernel/dwarf.c drivers/dma/shdma.c Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | SH: fix error paths in DMA driverGuennadi Liakhovetski2010-04-261-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | If channel allocation is failing, mark the channel unused and give PM a chance to power down the hardware. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: sh7751 pci controller io port fixMagnus Damm2010-04-261-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch updates the sh7751 pci code to handle io ports correctly. The code is based on the sh7788x implementation. Tested on a R2D-1 board with CONFIG_8139TOO_PIO=y. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Fix maximum number of SCIF ports in R2D defconfigsMagnus Damm2010-04-262-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the R2D defconfigs to bump up the maximum number of SCIF ports on the system. Fixes a broken serial console regression added by cd5f107628ab89c5dec5ad923f1c27f4cba41972. Reported-by: Shin-ichiro KAWASAKI <kawasaki@juno.dti.ne.jp> Signed-off-by: Magnus Damm <damm@opensource.se> Tested-by: Alexandre Courbot <alex@dcl.info.waseda.ac.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | SH: fix TS field shift calculation for DMA driversGuennadi Liakhovetski2010-04-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | CHCR_TS_HIGH_SHIFT is defined as a shift of TS high bits in CHCR register, relative to low bits. The TS_INDEX2VAL() macro has to take this into account. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2010-04-252-3/+9
| |\ \ | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: ipv6: Fix inet6_csk_bind_conflict() e100: Fix the TX workqueue race
| | * | ipv6: Fix inet6_csk_bind_conflict()Eric Dumazet2010-04-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit fda48a0d7a84 (tcp: bind() fix when many ports are bound) introduced a bug on IPV6 part. We should not call ipv6_addr_any(inet6_rcv_saddr(sk2)) but ipv6_addr_any(inet6_rcv_saddr(sk)) because sk2 can be IPV4, while sk is IPV6. Reported-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Tested-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| | * | e100: Fix the TX workqueue raceAlan Cox2010-04-241-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nothing stops the workqueue being left to run in parallel with close or a few other operations. This causes double unmaps and the like. See kerneloops.org #1041230 for an example Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | Merge branch 'for_linus' of ↵Linus Torvalds2010-04-253-11/+14
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Issue the discard operation *before* releasing the blocks to be reused ext4: Fix buffer head leaks after calls to ext4_get_inode_loc() ext4: Fix possible lost inode write in no journal mode
| | * | | ext4: Issue the discard operation *before* releasing the blocks to be reusedTheodore Ts'o2010-04-201-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, we can end up having data corruption because the blocks could get reused and then discarded! https://bugzilla.kernel.org/show_bug.cgi?id=15579 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| | * | | ext4: Fix buffer head leaks after calls to ext4_get_inode_loc()Curt Wohlgemuth2010-04-032-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calls to ext4_get_inode_loc() returns with a reference to a buffer head in iloc->bh. The callers of this function in ext4_write_inode() when in no journal mode and in ext4_xattr_fiemap() don't release the buffer head after using it. Addresses-Google-Bug: #2548165 Signed-off-by: Curt Wohlgemuth <curtw@google.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| | * | | ext4: Fix possible lost inode write in no journal modeCurt Wohlgemuth2010-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the no-journal case, ext4_write_inode() will fetch the bh and call sync_dirty_buffer() on it. However, if the bh has already been written and the bh reclaimed for some other purpose, AND if the inode is the only one in the inode table block in use, then ext4_get_inode_loc() will not read the inode table block from disk, but as an optimization, fill the block with zero's assuming that its caller will copy in the on-disk version of the inode. This is not done by ext4_write_inode(), so the contents of the inode can simply get lost. The fix is to use __ext4_get_inode_loc() with in_mem set to 0, instead of ext4_get_inode_loc(). Long term the API needs to be fixed so it's obvious why latter is not safe. Addresses-Google-Bug: #2526446 Signed-off-by: Curt Wohlgemuth <curtw@google.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>