summaryrefslogtreecommitdiff
path: root/arch/m68k
AgeCommit message (Collapse)Author
2011-11-08m68k/mac: Remove mac_irq_{en,dis}able() wrappersFinn Thain
Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/irq: Remove obsolete support for user vector interrupt fixupsGeert Uytterhoeven
It was used on Apollo only, before its conversion to genirq. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/irq: Remove obsolete m68k irq frameworkGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/q40: Convert Q40/Q60 to genirqGeert Uytterhoeven
q40_irq_handler() must be kept to translate ISA IRQs to the range 1-15. q40_probe_irq_o{ff,n}() become unused. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Richard Zidlicky <rz@linux-m68k.org>
2011-11-08m68k/sun3: Convert Sun3/3x to genirqGeert Uytterhoeven
Replace the custom irq handler that masks the irq and calls do_IRQ(), and the unmasking in the individual handlers, by handle_level_irq(). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Sam Creasey <sammy@sammy.net>
2011-11-08m68k/sun3: Use the kstat_irqs_cpu() wrapperGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Sam Creasey <sammy@sammy.net>
2011-11-08m68k/apollo: Convert Apollo to genirqGeert Uytterhoeven
Replace the custom user vector interrupt handler that calls do_IRQ() and does an EOI by handle_fasteoi_irq(). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Peter De Schrijver <p2@debian.org>
2011-11-08m68k/vme: Convert VME to genirqGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Richard Hirst <rhirst@parisc-linux.org>
2011-11-08m68k/hp300: Convert HP9000/300 and HP9000/400 to genirqGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Philip Blundell <philb@gnu.org>
2011-11-08m68k/mac: Optimize interrupts using chain handlersGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/mac: Convert Mac to genirqGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/amiga: Optimize interrupts using chain handlersGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/amiga: Convert Amiga to genirqGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/amiga: Refactor amiints.cGeert Uytterhoeven
- Remove filename in comments, - Reorder functions so we no longer need forward declarations. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/atari: Remove code and comments about different irq typesGeert Uytterhoeven
This code was obsoleted during the irq restructuring in 2006. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/atari: Convert Atari to genirqGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> [v1] Acked-by: Thomas Gleixner <tglx@linutronix.de>
2011-11-08m68k/irq: Add genirq supportGeert Uytterhoeven
Disabled on all platforms for now Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> [v1] Acked-by: Thomas Gleixner <tglx@linutronix.de>
2011-11-08m68k/irq: Remove obsolete IRQ_FLG_* usersGeert Uytterhoeven
The m68k core irq code stopped honoring these flags during the irq restructuring in 2006. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/irq: Rename {,__}m68k_handle_int()Geert Uytterhoeven
- Rename m68k_handle_int() to generic_handle_irq(), and drop the unneeded asmlinkage, - Rename __m68k_handle_int() to do_IRQ(). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/irq: Add m68k_setup_irq_controller()Geert Uytterhoeven
This is a wrapper around m68k_setup_irq_chip() that discards its dummy second parameter, to ease the future transition to genirq. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k/irq: Extract irq_set_chip()Geert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Thomas Gleixner <tglx@linutronix.de>
2011-11-08m68k/irq: Rename setup_irq() to m68k_setup_irq() and make it staticGeert Uytterhoeven
It has nothing to do with the standard one in <linux/irq.h> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Thomas Gleixner <tglx@linutronix.de>
2011-11-08m68k/irq: Switch irq_chip methods to "struct irq_data *data"Geert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Thomas Gleixner <tglx@linutronix.de>
2011-11-08m68k/irq: Rename irq_node to irq_dataGeert Uytterhoeven
Make it more similar to the genirq version: - Add an irq field Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Thomas Gleixner <tglx@linutronix.de>
2011-11-08m68k/irq: Kill irq_node_t typedef, always use struct irq_nodeGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Thomas Gleixner <tglx@linutronix.de>
2011-11-08m68k/irq: Rename irq_controller to irq_chipGeert Uytterhoeven
Make it more similar to the genirq version: - Remove lock (unused as we don't do SMP anyway), - Prepend methods with irq_, - Make irq_startup() return unsigned int. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Thomas Gleixner <tglx@linutronix.de>
2011-11-08m68k: Revive lost DIO bus config optionGeert Uytterhoeven
commit 0e152d80507b75c00aac60f2ffc586360687cd52 ("m68k: reorganize Kconfig options to improve mmu/non-mmu selections") accidentally dropped the DIO bus config option. Re-add it to the "Bus support" section. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-11-08m68k: Revive lost ARAnyM config optionsGeert Uytterhoeven
commit 0e152d80507b75c00aac60f2ffc586360687cd52 ("m68k: reorganize Kconfig options to improve mmu/non-mmu selections") accidentally dropped the ARAnyM config options. Re-add them to the "Platform devices" section. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Greg Ungerer <gerg@uclinux.org>
2011-11-06Merge branch 'modsplit-Oct31_2011' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits) Revert "tracing: Include module.h in define_trace.h" irq: don't put module.h into irq.h for tracking irqgen modules. bluetooth: macroize two small inlines to avoid module.h ip_vs.h: fix implicit use of module_get/module_put from module.h nf_conntrack.h: fix up fallout from implicit moduleparam.h presence include: replace linux/module.h with "struct module" wherever possible include: convert various register fcns to macros to avoid include chaining crypto.h: remove unused crypto_tfm_alg_modname() inline uwb.h: fix implicit use of asm/page.h for PAGE_SIZE pm_runtime.h: explicitly requires notifier.h linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h miscdevice.h: fix up implicit use of lists and types stop_machine.h: fix implicit use of smp.h for smp_processor_id of: fix implicit use of errno.h in include/linux/of.h of_platform.h: delete needless include <linux/module.h> acpi: remove module.h include from platform/aclinux.h miscdevice.h: delete unnecessary inclusion of module.h device_cgroup.h: delete needless include <linux/module.h> net: sch_generic remove redundant use of <linux/module.h> net: inet_timewait_sock doesnt need <linux/module.h> ... Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in - drivers/media/dvb/frontends/dibx000_common.c - drivers/media/video/{mt9m111.c,ov6650.c} - drivers/mfd/ab3550-core.c - include/linux/dmaengine.h
2011-11-04Merge branch 'for-3.2/core' of git://git.kernel.dk/linux-blockLinus Torvalds
* 'for-3.2/core' of git://git.kernel.dk/linux-block: (29 commits) block: don't call blk_drain_queue() if elevator is not up blk-throttle: use queue_is_locked() instead of lockdep_is_held() blk-throttle: Take blkcg->lock while traversing blkcg->policy_list blk-throttle: Free up policy node associated with deleted rule block: warn if tag is greater than real_max_depth. block: make gendisk hold a reference to its queue blk-flush: move the queue kick into blk-flush: fix invalid BUG_ON in blk_insert_flush block: Remove the control of complete cpu from bio. block: fix a typo in the blk-cgroup.h file block: initialize the bounce pool if high memory may be added later block: fix request_queue lifetime handling by making blk_queue_cleanup() properly shutdown block: drop @tsk from attempt_plug_merge() and explain sync rules block: make get_request[_wait]() fail if queue is dead block: reorganize throtl_get_tg() and blk_throtl_bio() block: reorganize queue draining block: drop unnecessary blk_get/put_queue() in scsi_cmd_ioctl() and blk_get_tg() block: pass around REQ_* flags instead of broken down booleans during request alloc/free block: move blk_throtl prototypes to block/blk.h block: fix genhd refcounting in blkio_policy_parse_and_set() ... Fix up trivial conflicts due to "mddev_t" -> "struct mddev" conversion and making the request functions be of type "void" instead of "int" in - drivers/md/{faulty.c,linear.c,md.c,md.h,multipath.c,raid0.c,raid1.c,raid10.c,raid5.c} - drivers/staging/zram/zram_drv.c
2011-10-31m68k: Add export.h to the m68k specific files as requiredPaul Gortmaker
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2011-10-25Merge branch 'for-linus' of git://github.com/gregungerer/m68knommuLinus Torvalds
* 'for-linus' of git://github.com/gregungerer/m68knommu: m68k: drop unused Kconfig symbols m68k: drop unused Kconfig symbols m68knommu: create common externs for _ram* vars m68knommu: remove extern declarations of memory_start/memory_end from mm/init m68knommu: use generic section names in mm/init code m68knommu: use generic section names in setup code m68k: merge the mmu and non-mmu traps.c files m68k: move hardware vector setting from traps.c to its own file m68k: merge mmu and non-mmu include/asm/entry.h files m68k: merge the mmu and non-mmu kernel/Makefiles m68k: merge mmu and non-mmu arch Makefiles m68k: reorganize Kconfig options to improve mmu/non-mmu selections m68knommu: fix problems with SPI/GPIO on ColdFire 520x m68k: fix memcpy to unmatched/unaligned source and dest on 68000
2011-10-25Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits) MAINTAINERS: linux-m32r is moderated for non-subscribers linux@lists.openrisc.net is moderated for non-subscribers Drop default from "DM365 codec select" choice parisc: Kconfig: cleanup Kernel page size default Kconfig: remove redundant CONFIG_ prefix on two symbols cris: remove arch/cris/arch-v32/lib/nand_init.S microblaze: add missing CONFIG_ prefixes h8300: drop puzzling Kconfig dependencies MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers tty: drop superfluous dependency in Kconfig ARM: mxc: fix Kconfig typo 'i.MX51' Fix file references in Kconfig files aic7xxx: fix Kconfig references to READMEs Fix file references in drivers/ide/ thinkpad_acpi: Fix printk typo 'bluestooth' bcmring: drop commented out line in Kconfig btmrvl_sdio: fix typo 'btmrvl_sdio_sd6888' doc: raw1394: Trivial typo fix CIFS: Don't free volume_info->UNC until we are entirely done with it. treewide: Correct spelling of successfully in comments ...
2011-10-24m68k: Finally remove leftover markers sectionsKirill Tkhai
Markers have removed already twice: 1: fc5377668c3d808e1d53c4aee152c836f55c3490 2: eb878b3bc0349344dbf70c51bf01fc734d5cf2d3 But a little bit is still here. Signed-off-by: Tkhai Kirill <tkhai@yandex.ru> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-10-24m68k/mac: Fix mac_irq_pending() for PSC MACE and SCCFinn Thain
Add missing return statement. The docs say that the level 4 PSC IRQs relate to MACE DMA and SCC. Since those drivers don't call mac_irq_pending() this patch has no affect. But it should be fixed all the same, since it can be useful for MACE debugging. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-10-24m68k/mac: Fix compiler warning in via_read_time()Finn Thain
The algorithm described in the comment compares two reads from the RTC but the code actually reads once and compares the result to an uninitialized value. This causes the compiler to warn, "last_result maybe used uninitialized". Make the code match the comment, fix the warning and perhaps improve reliability. Tested on a Quadra 700. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2011-10-21m68k: drop unused Kconfig symbolsPaul Bolle
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2011-10-21m68k: drop unused Kconfig symbolsPaul Bolle
Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2011-10-19Merge branch 'v3.1-rc10' into for-3.2/coreJens Axboe
Conflicts: block/blk-core.c include/linux/blkdev.h Signed-off-by: Jens Axboe <axboe@kernel.dk>
2011-10-18m68knommu: create common externs for _ram* varsGreg Ungerer
Create common extern definitions of _rambase, _ramstart and _ramend instead of them being externed when used in code. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2011-10-18m68knommu: remove extern declarations of memory_start/memory_end from mm/initGreg Ungerer
We do not need to have local extern declarations of memory_start and memory_end in mm/init_no.c. There are declarations already in asm/page_no.h. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2011-10-18m68knommu: use generic section names in mm/init codeGreg Ungerer
We should be including and using sections.h to get at the extern definitions of the linker sections in the m68knommu mm init code. Not defining them locally. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2011-10-18m68knommu: use generic section names in setup codeGreg Ungerer
We should be including and using sections.h to get at the extern definitions of the linker sections in the m68knommu startup code. Not defining them locally. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2011-10-18m68k: merge the mmu and non-mmu traps.c filesGreg Ungerer
The code for handling traps in the non-mmu case is a subset of the mmu enabled case. Merge the non-mmu traps_no.c code back to a single traps.c. There is actually no code mmu specific here at all, and the processor specific code (for the more complex 68020/68030/68040/68060) is already proplerly conditionaly used. The format of console exception dump is a little different, but I don't think will cause any one problems, it is purely for debug purposes. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2011-10-18m68k: move hardware vector setting from traps.c to its own fileGreg Ungerer
Most of the trap.c code is general to all m68k arch members. But the code it currently contains to set the hardware vector table is quite specific to the 680x0 family. They can have the vector table at any address unlike other family members (which either support only a single fixed address, or a limited range of addresses). So lets move that code out to a new file, vectors.c. This will make sharing the rest of the trap.c code easier and cleaner. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2011-10-18m68k: merge mmu and non-mmu include/asm/entry.h filesGreg Ungerer
The changes in the mmu version of entry.h (entry_mm.h) and the non-mmu version (entry_no.h) are not about the presence or use of an MMU at all. The main changes are to support the ColdFire processors. The code for trap entry and exit for all types of 68k processor outside coldfire is the same. So merge the files back to a single entry.h and share the common 68k entry/exit code. Some changes are required for the non-mmu entry handlers to adopt the differing macros for system call and interrupt entry, but this is quite strait forward. The changes for the ColdFire remove a couple of instructions for the separate a7 register case, and are no worse for the older single a7 register case. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2011-10-18m68k: merge the mmu and non-mmu kernel/MakefilesGreg Ungerer
The few differences between the mmu and non-mmu kernel/Makefiles can easily be handled inside of a single Makefile. Merge the 2 back into a single Makefile. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Acked-by: Sam Ravnborg <sam@ravnborg.org>
2011-10-18m68k: merge mmu and non-mmu arch MakefilesGreg Ungerer
Most of the build logic is the same for the mmu and non-mmu m68k targets. Merge the top level architecture Makefiles back into a single Makefile. For the most part this is just adding the non-mmu processor types and their specific cflags and other options into the mmu Makefile. Note that all the BOARD setting logic that was in the non-mmu Makefile is completely removed. It was no longer being used at all. This has been build and run tested on ColdFire targets and ARAnyM. It has been build tested on all the m68k defconfig targets using a gcc-4.5.1 based toolchain. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Acked-by: Sam Ravnborg <sam@ravnborg.org>
2011-10-18m68k: reorganize Kconfig options to improve mmu/non-mmu selectionsGreg Ungerer
The current mmu and non-mmu Kconfig files can be merged to form a more general selection of options. The current break up of options is due to the simple brute force merge from the m68k and m68knommu arch directories. Many of the options are not at all specific to having the MMU enabled or not. They are actually associated with a particular CPU type or platform type. Ultimately as we support all processors with the MMU disabled we need many of these options to be selectable without the MMU option enabled. And likewise some of the ColdFire processors, which currently are only supported with the MMU disabled, do have MMU hardware, and will need to have options selected on CPU type, not MMU disabled. This patch removes the old mmu and non-mmu Kconfigs and instead breaks up the configuration into four areas: cpu, machine, bus, devices. The Kconfig.cpu lists all the options associated with selecting a CPU, and includes options specific to each CPU type as well. Kconfig.machine lists all options associated with selecting a machine type. Almost always the machines selectable is restricted by the chosen CPU. Kconfig.bus contains options associated with selecting bus types on the various machine types. That includes PCI bus, PCMCIA bus, etc. Kconfig.devices contains options for drivers and driver associated options. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2011-10-18m68knommu: fix problems with SPI/GPIO on ColdFire 520xPeter Turczak
The problem has its root in the calculation of the set-port offsets (macro MCFGPIO_SETR() in arch/m68k/include/asm/gpio.h), this assumes that all ports have the same offset from the base port address (MCFGPIO_SETR) which is defined in mcf520xsim.h as an alias of MCFGIO_PSETR_BUSCTL. Because the BUSCTL and BE port do not have a set-register (see MCF5208 Reference Manual Page 13-10, Table 13-3) the offset calculations went wrong. Because the BE and BUSCTL port do not seem useful in these parts, as they lack a set register, I removed them and adapted the gpio chip bases which are also used for the offset-calculations. Now both setting and resetting the chip selects works as expected from userland and from the kernelspace. Signed-off-by: Peter Turczak <peter@turczak.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org>