aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
Commit message (Collapse)AuthorAgeFilesLines
* unified (weak) sys_pipe implementationUlrich Drepper2008-05-031-17/+0
| | | | | | | | | | | | | | | | | | | This replaces the duplicated arch-specific versions of "sys_pipe()" with one unified implementation. This removes almost 250 lines of duplicated code. It's marked __weak, so that *if* an architecture wants to override the default implementation it can do so by simply having its own replacement version, since many architectures use alternate calling conventions for the 'pipe()' system call for legacy reasons (ie traditional UNIX implementations often return the two file descriptors in registers) I still haven't changed the cris version even though Linus says the BKL isn't needed. The arch maintainer can easily do it if there are really no obstacles. Signed-off-by: Ulrich Drepper <drepper@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* i2c: Convert most new-style drivers to use module aliasingJean Delvare2008-04-292-4/+2
| | | | | | | | | | | | | | Based on earlier work by Jon Smirl and Jochen Friedrich. Update most new-style i2c drivers to use standard module aliasing instead of the old driver_name/type driver matching scheme. I've left the video drivers apart (except for SoC camera drivers) as they're a bit more diffcult to deal with, they'll have their own patch later. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Jon Smirl <jonsmirl@gmail.com> Cc: Jochen Friedrich <jochen@scram.de>
* sh: use kbuild.h instead of defining macros in asm-offsets.cChristoph Lameter2008-04-291-5/+2
| | | | | | | Signed-off-by: Christoph Lameter <clameter@sgi.com> Cc: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* proper __do_softirq() prototypeAdrian Bunk2008-04-291-2/+0
| | | | | | | | | Add a proper prototype for __do_softirq() in include/linux/interrupt.h Signed-off-by: Adrian Bunk <bunk@kernel.org> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* iomap: fix 64 bits resources on 32 bitsBenjamin Herrenschmidt2008-04-291-2/+2
| | | | | | | | | | | | | | Almost all implementations of pci_iomap() in the kernel, including the generic lib/iomap.c one, copies the content of a struct resource into unsigned long's which will break on 32 bits platforms with 64 bits resources. This fixes all definitions of pci_iomap() to use resource_size_t. I also "fixed" the 64bits arch for consistency. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* hotplug-memory: make online_page() commonJeremy Fitzhardinge2008-04-281-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | All architectures use an effectively identical definition of online_page(), so just make it common code. x86-64, ia64, powerpc and sh are actually identical; x86-32 is slightly different. x86-32's differences arise because it puts its hotplug pages in the highmem zone. We can handle this in the generic code by inspecting the page to see if its in highmem, and update the totalhigh_pages count appropriately. This leaves init_32.c:free_new_highpage with a single caller, so I folded it into add_one_highpage_init. I also removed an incorrect comment referring to the NUMA case; any NUMA details have already been dealt with by the time online_page() is called. [akpm@linux-foundation.org: fix indenting] Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Acked-by: Dave Hansen <dave@linux.vnet.ibm.com> Reviewed-by: KAMEZAWA Hiroyuki <kamez.hiroyu@jp.fujitsu.com> Tested-by: KAMEZAWA Hiroyuki <kamez.hiroyu@jp.fujitsu.com> Cc: Yasunori Goto <y-goto@jp.fujitsu.com> Cc: Christoph Lameter <clameter@sgi.com> Acked-by: Ingo Molnar <mingo@elte.hu> Acked-by: Yasunori Goto <y-goto@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6Linus Torvalds2008-04-211-2/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (42 commits) PCI: Change PCI subsystem MAINTAINER PCI: pci-iommu-iotlb-flushing-speedup PCI: pci_setup_bridge() mustn't be __devinit PCI: pci_bus_size_cardbus() mustn't be __devinit PCI: pci_scan_device() mustn't be __devinit PCI: pci_alloc_child_bus() mustn't be __devinit PCI: replace remaining __FUNCTION__ occurrences PCI: Hotplug: fakephp: Return success, not ENODEV, when bus rescan is triggered PCI: Hotplug: Fix leaks in IBM Hot Plug Controller Driver - ibmphp_init_devno() PCI: clean up resource alignment management PCI: aerdrv_acpi.c: remove unneeded NULL check PCI: Update VIA CX700 quirk PCI: Expose PCI VPD through sysfs PCI: iommu: iotlb flushing PCI: simplify quirk debug output PCI: iova RB tree setup tweak PCI: parisc: use generic pci_enable_resources() PCI: ppc: use generic pci_enable_resources() PCI: powerpc: use generic pci_enable_resources() PCI: ia64: use generic pci_enable_resources() ...
| * PCI: remove initial bios sort of PCI devices on x86Greg Kroah-Hartman2008-04-201-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently keep 2 lists of PCI devices in the system, one in the driver core, and one all on its own. This second list is sorted at boot time, in "BIOS" order, to try to remain compatible with older kernels (2.2 and earlier days). There was also a "nosort" option to turn this sorting off, to remain compatible with even older kernel versions, but that just ends up being what we have been doing from 2.5 days... Unfortunately, the second list of devices is not really ever used to determine the probing order of PCI devices or drivers[1]. That is done using the driver core list instead. This change happened back in the early 2.5 days. Relying on BIOS ording for the binding of drivers to specific device names is problematic for many reasons, and userspace tools like udev exist to properly name devices in a persistant manner if that is needed, no reliance on the BIOS is needed. Matt Domsch and others at Dell noticed this back in 2006, and added a boot option to sort the PCI device lists (both of them) in a breadth-first manner to help remain compatible with the 2.4 order, if needed for any reason. This option is not going away, as some systems rely on them. This patch removes the sorting of the internal PCI device list in "BIOS" mode, as it's not needed at all anymore, and hasn't for many years. I've also removed the PCI flags for this from some other arches that for some reason defined them, but never used them. This should not change the ordering of any drivers or device probing. [1] The old-style pci_get_device and pci_find_device() still used this sorting order, but there are very few drivers that use these functions, as they are deprecated for use in this manner. If for some reason, a driver rely on the order and uses these functions, the breadth-first boot option will resolve any problem. Cc: Matt Domsch <Matt_Domsch@dell.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | sh: Fix up L2 cache probe.Paul Mundt2008-04-181-0/+6
| | | | | | | | | | | | | | | | SH7723 is the first hard silicon to implement the L2, and unsurprisingly, does the precise inverse of what the specification alleges. XOR the URAM/L2 size bits to get back in line with the existing parsing logic. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Fix up SH-4A part probe.Paul Mundt2008-04-181-1/+1
| | | | | | | | | | | | | | | | | | The SH-4A series probe we were relying on doesn't work any more on the newer parts, bump this up to use CVR.CHIP instead so we have consistent behaviour across all of the parts, which is what this should have been testing in the first place. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add support for SH7723 CPU subtype.Paul Mundt2008-04-185-12/+328
| | | | | | | | | | | | This adds basic support for the SH7723 MobileR2 CPU. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Fix up SH7763 build.Paul Mundt2008-04-181-9/+1
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add migor_ts support to MigoRMagnus Damm2008-04-181-0/+9
| | | | | | | | | | | | | | Add support for the migor_ts touch panel to the MigoR board. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add rs5c732b RTC support to MigoRMagnus Damm2008-04-181-0/+4
| | | | | | | | | | | | | | Add support for the rs5c372b RTC chip to MigoR. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add I2C support to MigoRMagnus Damm2008-04-181-0/+10
| | | | | | | | | | | | | | Enable the sh7722 I2C controller on the MigoR board. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add I2C platform data to sh7722Magnus Damm2008-04-181-0/+21
| | | | | | | | | | | | | | Add platform data for the SuperH Mobile I2C block to sh7722. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: MigoR NAND flash support using gen_flashMagnus Damm2008-04-181-0/+73
| | | | | | | | | | | | | | | | Add NAND flash support to the MigoR board by giving board specific data to the gen_nand platform driver. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: MigoR NOR flash support using physmap-flashMagnus Damm2008-04-181-0/+46
| | | | | | | | | | | | | | | | Add NOR flash support to the MigoR board by giving board specific data to the physmap-flash platform driver. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Fix up mach-types formatting from merge damage.Paul Mundt2008-04-181-3/+3
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: r7780rp: Hook up the I2C and SMBus platform devices.Paul Mundt2008-04-181-3/+39
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Use phyical addresses for MigoR smc91x resourcesMagnus Damm2008-04-181-3/+3
| | | | | | | | | | | | | | Use physical addresses and change resource name of MigoR ethernet chip. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Use physical addresses for sh7722 USBF resourcesMagnus Damm2008-04-181-4/+3
| | | | | | | | | | | | | | Use physical addresses and change resource name to follow data sheet. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add MigoR header fileMagnus Damm2008-04-181-8/+1
| | | | | | | | | | | | | | | | This patch adds a MigoR specific header file. We may want to use a cpu specific header file instead, but this will do for now. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Allow optimized clear/copy page routines to be used on SH-2.Paul Mundt2008-04-182-6/+6
| | | | | | | | | | | | | | Presently these are restricted to SH-3 and SH-4, so we reorder the ifdefs a bit to let other parts use these also. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Hook up the rest of the SH7770 serial ports.Paul Mundt2008-04-181-1/+36
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add support for Solution Engine SH7721 boardYoshihiro Shimoda2008-04-188-6/+1249
| | | | | | | | | | | | | | Add support for Solution Engine SH7721 board(MS7721RP01). Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Hook up remaining IRQ sources for R7780MP FPGA.Masayuki Hosokawa2008-04-181-13/+26
| | | | | | | | | | Signed-off-by: Masayuki Hosokawa <hosokawa@ace-jp.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Initial support for the MX-G CPU.Paul Mundt2008-04-186-11/+192
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Create an sh debugfs root.Paul Mundt2008-04-183-3/+17
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: SuperH KEYSC keypad data for Solution Engine 7722Magnus Damm2008-04-181-0/+41
| | | | | | | | | | | | | | | | | | Add KEYSC platform data for the Solution Engine 7722 board. Signed-off-by: Magnus Damm <damm@igel.co.jp> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: SuperH KEYSC keypad data for MigoRMagnus Damm2008-04-181-1/+55
|/ | | | | | | | | Add KEYSC platform data for the sh7722 MigoR board. Signed-off-by: Magnus Damm <damm@igel.co.jp> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Generic semaphore implementationMatthew Wilcox2008-04-175-152/+2
| | | | | | | | | | | Semaphores are no longer performance-critical, so a generic C implementation is better for maintainability, debuggability and extensibility. Thanks to Peter Zijlstra for fixing the lockdep warning. Thanks to Harvey Harrison for pointing out that the unlikely() was unnecessary. Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Acked-by: Ingo Molnar <mingo@elte.hu>
* sh: export empty_zero_pageAndrew Morton2008-04-162-0/+2
| | | | | | | ERROR: "empty_zero_page" [fs/ext4/ext4dev.ko] undefined! Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: arch/sh/kernel/traps_32.c needs asm/fpu.hAndrew Morton2008-04-161-0/+1
| | | | | | | | arch/sh/kernel/traps_32.c: In function `do_reserved_inst': arch/sh/kernel/traps_32.c:667: error: implicit declaration of function `do_fpu_inst' Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: fix compressed kernel buildManuel Lauss2008-04-162-2/+0
| | | | | | | | | | | | | | | | commit 54a015104136974262afa4b8ddd943ea70dec8a2 broke zImage build on sh arch: LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map AS arch/sh/boot/compressed/head_32.o In file included from /k/arch/sh/boot/compressed/head_32.S:11: /k/include/linux/linkage.h:34: error: syntax error in macro parameter list Fix it for both sh and sh64. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh64: add missing #include <asm/fpu.h>'sAdrian Bunk2008-04-164-0/+4
| | | | | | | | | | This patch fixes some compile errors due to missing save_fpu() prototypes on sh64 caused by commit 9bbafce2eec190ef7e44b0eb1095ba17ce6ad3af (sh: Fix occasional FPU register corruption under preempt). Signed-off-by: Adrian Bunk <adrian.bunk@movial.fi> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up uImage compression typeYoshihiro Shimoda2008-03-311-1/+1
| | | | | | | Fix up uImage compression type. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* remove include/asm-sh/floppy.hAdrian Bunk2008-03-311-3/+0
| | | | | | | | This patch removes the unused include/asm-sh/floppy.h (ARCH_MAY_HAVE_PC_FDC was not enabled). Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix occasional FPU register corruption under preempt.Paul Mundt2008-03-266-0/+6
| | | | | | | | | | | Presently with preempt enabled there's the possibility to be preempted after the TIF_USEDFPU test and the register save, leading to bogus state post-__switch_to(). Use an explicit preempt_disable()/enable() pair around unlazy_fpu()/clear_fpu() to avoid this. Follows the x86 change. Reported-by: Takuo Koguchi <takuo.koguchi.sw@hitachi.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Use relative paths for mach/cpu symlinks.Franck Bui-Huu2008-03-211-2/+6
| | | | | | | | | | | | | When building the kernel without passing the O= command line parameter there's no point to use absolute paths for them. Usually relative paths are preferred because they survive directory moves, work across networked file systems and chrooted environments. Absolute paths are still used if an output directory is given. Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* SH: Use newer, non-deprecated __SPIN_LOCK_UNLOCKED macro.Robert P. J. Day2008-03-211-1/+1
| | | | | Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix uImage build error.Paul Mundt2008-03-141-2/+2
| | | | | | | The printf string was broken in the same way the zImage one was before, though the uImage managed to avoid getting fixed at that time. Do so now. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up the timer IRQ definition for SH7203.Paul Mundt2008-03-131-0/+1
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up the address error exception handler for SH-2.Kieran Bingham2008-03-131-1/+0
| | | | | | | | | | Presently the SH-2/SH-2A address error exception dispatch copies off the register state from the stack and skips over the first register, skewing the rest. Fix up the math here so that the proper register state is handed down to the exception handler itself. Signed-off-by: Kieran Bingham <kbingham@mpc-data.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up the sh64 build.Paul Mundt2008-03-061-14/+7
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up SH7710 VoIP-GW build.Paul Mundt2008-03-066-449/+250
| | | | | | | | | The only board-specific bits that existed here were for setting up the IRQs, which are now handled by the SH7710 CPU support code instead. As there's nothing else to do for setup, kill off the board support code and have the defconfig use the generic machvec instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Flag PMB support as EXPERIMENTAL.Paul Mundt2008-03-061-1/+1
| | | | | | | There's still work that needs to be done here, and this should not be enabled by default on existing boards. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Update r7780mp defconfig.Paul Mundt2008-03-061-25/+66
| | | | | | | | This disables the PMB/32BIT=y by default in r7780mp, as turning this on presently results in build errors (for an admittedly experimental feature). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: hp6xx: Fix up hp6xx_apm build failure.Paul Mundt2008-03-061-0/+2
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up section mismatches.Paul Mundt2008-03-062-2/+2
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>