aboutsummaryrefslogtreecommitdiff
path: root/arch/avr32/lib
AgeCommit message (Collapse)AuthorFilesLines
2017-05-01avr32: remove support for AVR32 architectureHans-Christian Noren Egtvedt20-1184/+0
This patch drops support for AVR32 architecture from the Linux kernel. The AVR32 architecture is not keeping up with the development of the kernel, and since it shares so much of the drivers with Atmel ARM SoC, it is starting to hinder these drivers to develop swiftly. Also, all AVR32 AP7 SoC processors are end of lifed from Atmel (now Microchip). Finally, the GCC toolchain is stuck at version 4.2.x, and has not received any patches since the last release from Atmel; 4.2.4-atmel.1.1.3.avr32linux.1. When building kernel v4.10, this toolchain is no longer able to properly link the network stack. Haavard and I have came to the conclusion that we feel keeping AVR32 on life support offers more obstacles for Atmel ARMs, than it gives joy to AVR32 users. I also suspect there are very few AVR32 users left today, if anybody at all. Signed-off-by: Hans-Christian Noren Egtvedt <[email protected]> Signed-off-by: HÃ¥vard Skinnemoen <[email protected]> Signed-off-by: Nicolas Ferre <[email protected]> Acked-by: Andy Shevchenko <[email protected]> Acked-by: Boris Brezillon <[email protected]>
2016-09-18avr32: fix 'undefined reference to `___copy_from_user'Guenter Roeck1-2/+2
avr32 builds fail with: arch/avr32/kernel/built-in.o: In function `arch_ptrace': (.text+0x650): undefined reference to `___copy_from_user' arch/avr32/kernel/built-in.o:(___ksymtab+___copy_from_user+0x0): undefined reference to `___copy_from_user' kernel/built-in.o: In function `proc_doulongvec_ms_jiffies_minmax': (.text+0x5dd8): undefined reference to `___copy_from_user' kernel/built-in.o: In function `proc_dointvec_minmax_sysadmin': sysctl.c:(.text+0x6174): undefined reference to `___copy_from_user' kernel/built-in.o: In function `ptrace_has_cap': ptrace.c:(.text+0x69c0): undefined reference to `___copy_from_user' kernel/built-in.o:ptrace.c:(.text+0x6b90): more undefined references to `___copy_from_user' follow Fixes: 8630c32275ba ("avr32: fix copy_from_user()") Cc: Al Viro <[email protected]> Acked-by: Havard Skinnemoen <[email protected]> Acked-by: Hans-Christian Noren Egtvedt <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2016-09-13avr32: fix copy_from_user()Al Viro1-2/+2
really ugly, but apparently avr32 compilers turns access_ok() into something so bad that they want it in assembler. Left that way, zeroing added in inline wrapper. Cc: [email protected] Signed-off-by: Al Viro <[email protected]>
2013-01-03ARCH: drivers remove __dev* attributes.Greg Kroah-Hartman1-1/+1
This fixes up all of the smaller arches that had __dev* markings for their platform-specific drivers. CONFIG_HOTPLUG is going away as an option. As a result, the __dev* markings need to be removed. This change removes the use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit from these drivers. Based on patches originally written by Bill Pemberton, but redone by me in order to handle some of the coding style issues better, by hand. Cc: Bill Pemberton <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Arnaldo Carvalho de Melo <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Will Deacon <[email protected]> Cc: Haavard Skinnemoen <[email protected]> Cc: Hans-Christian Egtvedt <[email protected]> Cc: Mike Frysinger <[email protected]> Cc: Mikael Starvik <[email protected]> Cc: Jesper Nilsson <[email protected]> Cc: David Howells <[email protected]> Cc: Hirokazu Takata <[email protected]> Cc: Geert Uytterhoeven <[email protected]> Cc: Michal Simek <[email protected]> Cc: Koichi Yasutake <[email protected]> Cc: Jonas Bonn <[email protected]> Cc: "James E.J. Bottomley" <[email protected]> Cc: Helge Deller <[email protected]> Cc: Martin Schwidefsky <[email protected]> Cc: Heiko Carstens <[email protected]> Cc: Chen Liqin <[email protected]> Cc: Lennox Wu <[email protected]> Cc: Paul Mundt <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Guan Xuetao <[email protected]> Cc: Bob Liu <[email protected]> Cc: Srinivas Kandagatla <[email protected]> Cc: Bjorn Helgaas <[email protected]> Cc: Myron Stowe <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Andi Kleen <[email protected]> Cc: Jesse Barnes <[email protected]> Cc: Sebastian Andrzej Siewior <[email protected]> Cc: Yinghai Lu <[email protected]> Cc: Thierry Reding <[email protected]> Cc: Greg Ungerer <[email protected]> Cc: Grant Likely <[email protected]> Cc: "Srivatsa S. Bhat" <[email protected]> Cc: Mark Salter <[email protected]> Cc: Yong Zhang <[email protected]> Cc: Michael Holzheu <[email protected]> Cc: Cornelia Huck <[email protected]> Cc: Jan Glauber <[email protected]> Cc: Wei Yongjun <[email protected]> Cc: Nobuhiro Iwamatsu <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-03-23asm-generic: rename generic little-endian bitops functionsAkinobu Mita1-2/+2
As a preparation for providing little-endian bitops for all architectures, This renames generic implementation of little-endian bitops. (remove "generic_" prefix and postfix "_le") s/generic_find_next_le_bit/find_next_bit_le/ s/generic_find_next_zero_le_bit/find_next_zero_bit_le/ s/generic_find_first_zero_le_bit/find_first_zero_bit_le/ s/generic___test_and_set_le_bit/__test_and_set_bit_le/ s/generic___test_and_clear_le_bit/__test_and_clear_bit_le/ s/generic_test_le_bit/test_bit_le/ s/generic___set_le_bit/__set_bit_le/ s/generic___clear_le_bit/__clear_bit_le/ s/generic_test_and_set_le_bit/test_and_set_bit_le/ s/generic_test_and_clear_le_bit/test_and_clear_bit_le/ Signed-off-by: Akinobu Mita <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Hans-Christian Egtvedt <[email protected]> Cc: Geert Uytterhoeven <[email protected]> Cc: Roman Zippel <[email protected]> Cc: Andreas Schwab <[email protected]> Cc: Greg Ungerer <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Paul Mackerras <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-07-27avr32/lib: fix unaligned memcpy where len < 4Sebastian Andrzej Siewior1-0/+1
in case of memcpy(p, unaligned, 1..3) we get 1..3 as the return value instead of p Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Haavard Skinnemoen <[email protected]>
2009-07-27avr32/lib: fix unaligned memcpy()Sebastian Andrzej Siewior1-3/+12
memcpy(p, unaligned, 4..) returns (p + num_of_unaligned_by_copied) instead of p because p is not preserved in the unaligned case. Noticed by Herbert Xu's superior parameter recycling coding technique which let the md4 self-test fail on avr32. Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Haavard Skinnemoen <[email protected]>
2009-01-16avr32: Fix out-of-range rcalls in large kernelsBen Nizette1-1/+1
Replace handcoded rcall instructions with the call pseudo-instruction. For kernels too far over 1MB the rcall instruction can't reach and linking will fail. We already call the final linker with --relax which converts call pseudo-instructions to the right things anyway. This fixes arch/avr32/kernel/built-in.o: In function `syscall_exit_work': (.ex.text+0x198): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `schedule' defined in .sched.text section in kernel/built-in.o arch/avr32/kernel/built-in.o: In function `fault_exit_work': (.ex.text+0x3b6): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `schedule' defined in .sched.text section in kernel/built-in.o But I'm still left with arch/avr32/kernel/built-in.o:(.fixup+0x2): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+45a arch/avr32/kernel/built-in.o:(.fixup+0x8): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+8ea arch/avr32/kernel/built-in.o:(.fixup+0xe): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+abe arch/avr32/kernel/built-in.o:(.fixup+0x14): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+ac8 arch/avr32/kernel/built-in.o:(.fixup+0x1a): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+ad2 arch/avr32/kernel/built-in.o:(.fixup+0x20): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+adc arch/avr32/kernel/built-in.o:(.fixup+0x26): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+ae6 arch/avr32/kernel/built-in.o:(.fixup+0x2c): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+af0 arch/avr32/kernel/built-in.o:(.fixup+0x32): additional relocation overflows omitted from the output These are caused by a similar problem with 'rjmp' instructions. Unfortunately, there's no easy fix for these at the moment since we don't have a arbitrary-range 'jmp' instruction similar to 'call'. Signed-off-by: Ben Nizette <[email protected]> Signed-off-by: Haavard Skinnemoen <[email protected]>
2008-09-19avr32: add generic_find_next_le_bit bit functionHans-Christian Egtvedt1-0/+30
This patch implements the generic_find_next_le_bit bit function for AVR32 architecture. This is used by EXT4 file system. Signed-off-by: Hans-Christian Egtvedt <[email protected]> Signed-off-by: Haavard Skinnemoen <[email protected]>
2008-06-27avr32: Fix wrong I/O access size in __raw_readsbHaavard Skinnemoen1-1/+1
__raw_readsb() should always use byte accesses, never halfword accesses, to I/O memory. Signed-off-by: Haavard Skinnemoen <[email protected]>
2008-02-06read_current_timer() cleanupsAndrew Morton1-1/+3
- All implementations can be __devinit - The function prototypes were in asm/timex.h but they all must be the same, so create a single declaration in linux/timex.h. - uninline the sparc64 version to match the other architectures - Don't bother #defining ARCH_HAS_READ_CURRENT_TIMER to a particular value. [[email protected]: fix build] Cc: "David S. Miller" <[email protected]> Cc: Haavard Skinnemoen <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Andi Kleen <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2007-02-09[AVR32] Remove last remains of libgccHaavard Skinnemoen2-131/+0
Two libgcc headers were left around even though all the actual code borrowed from libgcc is gone. Delete them. Signed-off-by: Haavard Skinnemoen <[email protected]>
2006-12-08[AVR32] Add missing #include <linux/param.h> to delay.cHaavard Skinnemoen1-0/+1
__const_udelay() needs HZ, which is defined in <asm/param.h>. Signed-off-by: Haavard Skinnemoen <[email protected]>
2006-12-08[AVR32] Don't include <asm/delay.h>Haavard Skinnemoen1-1/+0
Include <linux/delay.h> instead of <asm/delay.h> from a few places. Signed-off-by: Haavard Skinnemoen <[email protected]>
2006-11-06AVR32: Add missing return instruction in __raw_writesbHaavard Skinnemoen1-0/+2
__raw_writesb ends with a conditional branch, which is obviously wrong. It should return after the last loop terminates. Signed-off-by: Haavard Skinnemoen <[email protected]>
2006-11-06AVR32: Fix thinko in generic_find_next_zero_le_bit()Haavard Skinnemoen1-1/+2
The existing implementation of this function seems to be looking for a one although it should be looking for a zero. This causes trouble for the ext2 filesystem, which tends to report -ENOSPC without this patch. Fix this by complementing each word before scanning. Signed-off-by: Haavard Skinnemoen <[email protected]>
2006-10-25[PATCH] AVR32: Implement and export __raw_{read,write}s[bwl]Haavard Skinnemoen3-0/+100
Implement __raw_readsb and __raw_writesb. Export __raw_reads[bwl] and __raw_writes[bwl] for use by modules. Signed-off-by: Haavard Skinnemoen <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-09-26[PATCH] avr32 architectureHaavard Skinnemoen20-0/+1170
This adds support for the Atmel AVR32 architecture as well as the AT32AP7000 CPU and the AT32STK1000 development board. AVR32 is a new high-performance 32-bit RISC microprocessor core, designed for cost-sensitive embedded applications, with particular emphasis on low power consumption and high code density. The AVR32 architecture is not binary compatible with earlier 8-bit AVR architectures. The AVR32 architecture, including the instruction set, is described by the AVR32 Architecture Manual, available from http://www.atmel.com/dyn/resources/prod_documents/doc32000.pdf The Atmel AT32AP7000 is the first CPU implementing the AVR32 architecture. It features a 7-stage pipeline, 16KB instruction and data caches and a full Memory Management Unit. It also comes with a large set of integrated peripherals, many of which are shared with the AT91 ARM-based controllers from Atmel. Full data sheet is available from http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf while the CPU core implementation including caches and MMU is documented by the AVR32 AP Technical Reference, available from http://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf Information about the AT32STK1000 development board can be found at http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3918 including a BSP CD image with an earlier version of this patch, development tools (binaries and source/patches) and a root filesystem image suitable for booting from SD card. Alternatively, there's a preliminary "getting started" guide available at http://avr32linux.org/twiki/bin/view/Main/GettingStarted which provides links to the sources and patches you will need in order to set up a cross-compiling environment for avr32-linux. This patch, as well as the other patches included with the BSP and the toolchain patches, is actively supported by Atmel Corporation. [[email protected]: Fix more pxx_page macro locations] [[email protected]: fix `make defconfig'] Signed-off-by: Haavard Skinnemoen <[email protected]> Signed-off-by: Adrian Bunk <[email protected]> Signed-off-by: Dave McCracken <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>