10 Jan, 2012
1 commit
-
Cleanups on various subarchitectures
Cleanup patches for various ARM platforms and some of their associated
drivers, the bulk of these is for mach-91.Arnd ended up pulling in the restart branch from Russell in order to
fix up some simple but annoying merge conflicts.* tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
arm/at91: fix build of stamp9g20
ARM: u300: delete memory.h
MAINTAINERS: add maintainer entry for Picochip picoxcell
ARM: picoxcell: move io mappings to common.c
ARM: picoxcell: don't reserve irq_descs
ARM: picoxcell: remove mach/memory.h
ARM: at91: delete the pcontrol_g20_defconfig
arm/tegra: Remove code that's ifndef CONFIG_ARM_GIC
arm/tegra: remove unused defines
arm/tegra: fix variable formatting in makefile
ARM: davinci: vpif: move code to driver core header from platform
ARM: at91/gpio: fix display of number of irq setuped
ARM: at91/gpio: drop PIN_BASE
ARM: at91/udc: use gpio_is_valid to check the gpio
ARM: at91/ohci: use gpio_is_valid to check the gpio
ARM: at91/nand: use gpio_is_valid to check the gpio
ARM: at91/mmc: use gpio_is_valid to check the gpio
ARM: at91/ide: use gpio_is_valid to check the gpio
ARM: at91/pata: use gpio_is_valid to check the gpio
ARM: at91/soc: use gpio_is_valid to check the gpio
...
22 Dec, 2011
1 commit
-
The sysdev.h file should not be needed by any in-kernel code, so remove
the .h file from these random files that seem to still want to include
it.The sysdev code will be going away soon, so this include needs to be
removed no matter what.Cc: Jiandong Zheng
Cc: Scott Branden
Cc: Russell King
Cc: Kukjin Kim
Cc: David Brown
Cc: Daniel Walker
Cc: Bryan Huntsman
Cc: Ben Dooks
Cc: Wan ZongShun
Cc: Haavard Skinnemoen
Cc: Hans-Christian Egtvedt
Cc: Guan Xuetao
Cc: "Venkatesh Pallipadi
Cc: Thomas Gleixner
Cc: Ingo Molnar
Cc: "H. Peter Anvin"
Cc: Grant Likely
Cc: Richard Purdie
Cc: Matthew Garrett
Signed-off-by: Kay Sievers
22 Nov, 2011
1 commit
-
Both at91 and avr32 defines its own platform data structure for
the macb driver and both share common structures though at91
includes a currently unused phy_irq_pin. Create a common
macb_platform_data for macb that both at91 and avr32 can use. In
future we can use this to support other architectures that use the
same IP block with the macb driver.v2: rename eth_platform_data to macb_platform_data and allow at91_ether
to share the platform data with macb.Signed-off-by: Jamie Iles
Acked-by: Nicolas Ferre
Tested-by: Jean-Christophe PLAGNIOL-VILLARD
11 Sep, 2011
1 commit
-
Currently atmel_nand driver used by AT91 and AVR32 calls a special callback
which return nand partition table and number of partitions. However in all
boards this callback returns just static data. So drop this callback and
make atmel_nand use partition table provided statically via platform_data.Nicolas Ferre: I am in favor for a mainline inclusion through linux-mtd tree.
Hans-Christian Egtvedt: I'm fine by sending the changes for AVR32 through linux-mtdSigned-off-by: Dmitry Eremin-Solenikov
Acked-by: Hans-Christian Egtvedt
Acked-by: Nicolas Ferre
Acked-by: Jean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Artem Bityutskiy
25 Mar, 2011
1 commit
-
Scripted conversion to new function names with coccinelle.
Signed-off-by: Thomas Gleixner
Cc: Hans-Christian Egtvedt
14 Jan, 2011
1 commit
-
clk_get() returns ERR_PTR() on error, not NULL.
Signed-off-by: Vasiliy Kulikov
Acked-by: Hans-Christian Egtvedt
15 Oct, 2010
1 commit
-
All file_operations should get a .llseek operation so we can make
nonseekable_open the default for future file operations without a
.llseek pointer.The three cases that we can automatically detect are no_llseek, seq_lseek
and default_llseek. For cases where we can we can automatically prove that
the file offset is always ignored, we use noop_llseek, which maintains
the current behavior of not returning an error from a seek.New drivers should normally not use noop_llseek but instead use no_llseek
and call nonseekable_open at open time. Existing drivers can be converted
to do the same when the maintainer knows for certain that no user code
relies on calling seek on the device file.The generated code is often incorrectly indented and right now contains
comments that clarify for each added line why a specific variant was
chosen. In the version that gets submitted upstream, the comments will
be gone and I will manually fix the indentation, because there does not
seem to be a way to do that using coccinelle.Some amount of new code is currently sitting in linux-next that should get
the same modifications, which I will do at the end of the merge window.Many thanks to Julia Lawall for helping me learn to write a semantic
patch that does all this.===== begin semantic patch =====
// This adds an llseek= method to all file operations,
// as a preparation for making no_llseek the default.
//
// The rules are
// - use no_llseek explicitly if we do nonseekable_open
// - use seq_lseek for sequential files
// - use default_llseek if we know we access f_pos
// - use noop_llseek if we know we don't access f_pos,
// but we still want to allow users to call lseek
//
@ open1 exists @
identifier nested_open;
@@
nested_open(...)
{}
@ open exists@
identifier open_f;
identifier i, f;
identifier open1.nested_open;
@@
int open_f(struct inode *i, struct file *f)
{}
@ read disable optional_qualifier exists @
identifier read_f;
identifier f, p, s, off;
type ssize_t, size_t, loff_t;
expression E;
identifier func;
@@
ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)
{}
@ read_no_fpos disable optional_qualifier exists @
identifier read_f;
identifier f, p, s, off;
type ssize_t, size_t, loff_t;
@@
ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)
{
... when != off
}@ write @
identifier write_f;
identifier f, p, s, off;
type ssize_t, size_t, loff_t;
expression E;
identifier func;
@@
ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)
{}
@ write_no_fpos @
identifier write_f;
identifier f, p, s, off;
type ssize_t, size_t, loff_t;
@@
ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)
{
... when != off
}@ fops0 @
identifier fops;
@@
struct file_operations fops = {
...
};@ has_llseek depends on fops0 @
identifier fops0.fops;
identifier llseek_f;
@@
struct file_operations fops = {
...
.llseek = llseek_f,
...
};@ has_read depends on fops0 @
identifier fops0.fops;
identifier read_f;
@@
struct file_operations fops = {
...
.read = read_f,
...
};@ has_write depends on fops0 @
identifier fops0.fops;
identifier write_f;
@@
struct file_operations fops = {
...
.write = write_f,
...
};@ has_open depends on fops0 @
identifier fops0.fops;
identifier open_f;
@@
struct file_operations fops = {
...
.open = open_f,
...
};// use no_llseek if we call nonseekable_open
////////////////////////////////////////////
@ nonseekable1 depends on !has_llseek && has_open @
identifier fops0.fops;
identifier nso ~= "nonseekable_open";
@@
struct file_operations fops = {
... .open = nso, ...
+.llseek = no_llseek, /* nonseekable */
};@ nonseekable2 depends on !has_llseek @
identifier fops0.fops;
identifier open.open_f;
@@
struct file_operations fops = {
... .open = open_f, ...
+.llseek = no_llseek, /* open uses nonseekable */
};// use seq_lseek for sequential files
/////////////////////////////////////
@ seq depends on !has_llseek @
identifier fops0.fops;
identifier sr ~= "seq_read";
@@
struct file_operations fops = {
... .read = sr, ...
+.llseek = seq_lseek, /* we have seq_read */
};// use default_llseek if there is a readdir
///////////////////////////////////////////
@ fops1 depends on !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier readdir_e;
@@
// any other fop is used that changes pos
struct file_operations fops = {
... .readdir = readdir_e, ...
+.llseek = default_llseek, /* readdir is present */
};// use default_llseek if at least one of read/write touches f_pos
/////////////////////////////////////////////////////////////////
@ fops2 depends on !fops1 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier read.read_f;
@@
// read fops use offset
struct file_operations fops = {
... .read = read_f, ...
+.llseek = default_llseek, /* read accesses f_pos */
};@ fops3 depends on !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier write.write_f;
@@
// write fops use offset
struct file_operations fops = {
... .write = write_f, ...
+ .llseek = default_llseek, /* write accesses f_pos */
};// Use noop_llseek if neither read nor write accesses f_pos
///////////////////////////////////////////////////////////@ fops4 depends on !fops1 && !fops2 && !fops3 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier read_no_fpos.read_f;
identifier write_no_fpos.write_f;
@@
// write fops use offset
struct file_operations fops = {
...
.write = write_f,
.read = read_f,
...
+.llseek = noop_llseek, /* read and write both use no f_pos */
};@ depends on has_write && !has_read && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier write_no_fpos.write_f;
@@
struct file_operations fops = {
... .write = write_f, ...
+.llseek = noop_llseek, /* write uses no f_pos */
};@ depends on has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier read_no_fpos.read_f;
@@
struct file_operations fops = {
... .read = read_f, ...
+.llseek = noop_llseek, /* read uses no f_pos */
};@ depends on !has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
@@
struct file_operations fops = {
...
+.llseek = noop_llseek, /* no read or write fn */
};
===== End semantic patch =====Signed-off-by: Arnd Bergmann
Cc: Julia Lawall
Cc: Christoph Hellwig
16 Dec, 2009
1 commit
-
* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
avr32: update default configurations for ATNGW100, ATSTK1002 and ATSTK1006
avr32: add default configurations for ATNGW100 mkII and EVKLCD10X
avr32: add support for ATNGW100 mkII board
avr32: convert to asm-generic/hardirq.h
avr32: add two new at91 to cpu.h definition
avr32: clean up linker script using standard macros.
avr32: MRMT: correct setup of SPI slaves
avr32: function for independently setting up SPI slaves
avr32: re-instate MCI WP/CD pin assignments for ATNGW100
15 Dec, 2009
1 commit
-
This patch adds board support for ATNGW100 mkII. This board is an upgrade of
the ATNGW100 where the difference is an additional 256 MB NAND flash device and
128 MB 32-bit SDRAM instead of the 32 MB 16-bit SDRAM on ATNGW100.Tested on ATNGW100 mkII, duh (-:
Signed-off-by: Hans-Christian Egtvedt
Signed-off-by: Haavard Skinnemoen
04 Dec, 2009
1 commit
-
That is "success", "unknown", "through", "performance", "[re|un]mapping"
, "access", "default", "reasonable", "[con]currently", "temperature"
, "channel", "[un]used", "application", "example","hierarchy", "therefore"
, "[over|under]flow", "contiguous", "threshold", "enough" and others.Signed-off-by: André Goddard Rosa
Signed-off-by: Jiri Kosina
27 Aug, 2009
2 commits
-
For MRMT1/2 add-on card to Atmel ATNGW100.
This patch implements the SPI slave setup method created by patch:
<>Signed-off-by: Peter Ma
Signed-off-by: Haavard Skinnemoen -
The MRMT1 patch mistakenly reverted commit
fe272b5bd13d3522f9d1ed35425f1c7af4d8343f.This new patch is intended to correct this, so that both daughtercards
should be able to assign GPIO PC25 and PE0 to the MCI driver.Signed-off-by: Peter Ma
Signed-off-by: Haavard Skinnemoen
27 Jul, 2009
1 commit
-
The ezLCD+101 board (to which an favr-32 is fitted) has a long,
unshielded, nasty lead between the touch panel and the ads7843 touch
controller. In order to get satisfactory response then, we need to
employ every noise-reduction trick in the driver's arsenal. After
extensive fiddling I've found some good settings:1) We keep vref on all the time to dramatically reduce settling times
(at the cost of a tiny increase in power consumption).2) Despite 1 the settling time is still non-zero. 500uS is plenty of
time for the signals to settle3) Despite 1 and 2 there's still a little bit of noise around. By
setting a pen recheck delay we make the panel feel less touchy and
twitchy.Someone with more time and patience myself might be able to tune this
numbers further but these settings are now perfectly acceptable for
normal use.Tested on ezLCD+101 though should only improve response on other ezLCD+/
favr-32 boards too.Signed-off-by: Ben Nizette
Signed-off-by: Haavard Skinnemoen
13 Jun, 2009
1 commit
08 Jun, 2009
2 commits
-
Signed-off-by: Peter Ma
Signed-off-by: Haavard Skinnemoen -
Signed-off-by: Peter Ma
Signed-off-by: Haavard Skinnemoen
03 Jun, 2009
1 commit
-
This patch updates the LCD init code for the MIMC200 board.
V2 fixes a .yres typo and corrects an incorrect setup value
in the call to at32_add_device_lcdc()Without this patch, the lcd setup is wrong and won't display images
correctly (if at all !!)Signed-off-by: Mark Jackson
Signed-off-by: Haavard Skinnemoen
09 Apr, 2009
1 commit
-
Same patch as before, modified to use bool.
This patch solves the problem with the inverted mci detect pin on Merisc
boards.Signed-off-by: Jonas Larsson
Signed-off-by: Haavard Skinnemoen
07 Apr, 2009
1 commit
-
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)
Signed-off-by: Yang Hongyang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
01 Apr, 2009
1 commit
-
Adds extra parameter to AT32 at32_map_usart(), so as to reserve
RTS/CTS/CLK pins.All boards under arch/avr32/boards have been updated (trivial change), but
not all have been tested.Signed-off-by: Peter Ma
Signed-off-by: Haavard Skinnemoen
30 Mar, 2009
1 commit
-
This patch adds RTC support for the Merisc boards.
Signed-off-by: Jonas Larsson
Signed-off-by: Haavard Skinnemoen
27 Mar, 2009
3 commits
-
This patch will adjust the setup the DMA controller for the AC97
Controller in the at32ap700x machine code. This setup matches the new
ALSA driver for the AC97C.The struct ac97c_platform_data has been moved into its own header file
located in the sound include path.Tested on ATSTK1006 + ATSTK1000.
This patch will setup the AC97 controller properly for the adjusted
machine code. Both EVKLCD10x and Hammerhead board has been updated.Tested on EVKLCD10x, and copied to Hammerhead board.
Signed-off-by: Hans-Christian Egtvedt
[haavard.skinnemoen@atmel.com: fold with board code update]
Signed-off-by: Haavard Skinnemoen -
This patch will adjust the setup the DMA controller for the Audio
Bistream DAC in the at32ap700x machine code. This setup matches the new
ALSA driver for the ABDAC.Tested on ATSTK1006 + ATSTK1000.
This patch will setup the needed platform data for the Audio Bistream
DAC used by the Favr-32 board.Signed-off-by: Hans-Christian Egtvedt
[haavard.skinnemoen@atmel.com: fold board code update]
Signed-off-by: Haavard Skinnemoen -
Merisc is the family name for a range of AVR32-based boards.
The boards are designed to be used in a man-machine interfacing
environment, utilizing a touch-based graphical user interface. They host
a vast range of I/O peripherals as well as a large SDRAM & Flash memory
bank.For more information see: http://www.martinsson.se/merisc
Signed-off-by: Jonas Larsson
Signed-off-by: Haavard Skinnemoen
26 Mar, 2009
4 commits
-
This patch adjusts the timing parameters for the Kyocera LCD panels
connected on the EVKLCD10X addon boards.Signed-off-by: Hans-Christian Egtvedt
Signed-off-by: Haavard Skinnemoen -
The PB15 GPIO line is used to control the enable and disable signal for
the backlight regulator on EVKLCD10x boards. This patch hands the I/O
line over to the LCDC driver, which will control when to enable and
disable the backlight.Signed-off-by: Hans-Christian Egtvedt
[haavard.skinnemoen@atmel.com: reverted ac97c change]
Signed-off-by: Haavard Skinnemoen -
This patch removes the special handling of MCI platform data for
EVKLCD10x boards. This is now possible since the pin mask for the LCD
controller is no longer reserving the I/O lines used for MCI card
detection and write protect.Signed-off-by: Hans-Christian Egtvedt
Signed-off-by: Haavard Skinnemoen -
This patch will set the pin mask to alternative 18 bits per pixel output
for EVKLCD10x boards.Signed-off-by: Hans-Christian Egtvedt
Signed-off-by: Haavard Skinnemoen
24 Mar, 2009
1 commit
-
Remove duplicated #include in arch/avr32/boards/hammerhead/flash.c.
Signed-off-by: Huang Weiyi
Acked-by: Alex Raimondi
Signed-off-by: Haavard Skinnemoen
06 Jan, 2009
1 commit
-
at32_add_device_mci() will refuse to add the mci device if the data
parameter is NULL. Fix up the favr-32 and hammerhead boards so that this
doesn't happen.Signed-off-by: Haavard Skinnemoen
Cc: Alex Raimondi
Cc: Hans-Christian Egtvedt
05 Jan, 2009
7 commits
-
Needed to use the atmel-mci driver in an architecture
independant maner.Signed-off-by: Nicolas Ferre
Signed-off-by: Haavard Skinnemoen -
The Hammerhead platform is built around a AVR32 32-bit microcontroller
from Atmel. It offers versatile peripherals, such as ethernet, usb
device, usb host etc.The board also incooperates a power supply and is a Power over Ethernet
(PoE) Powered Device (PD).Additonally, a Cyclone III FPGA from Altera is integrated on the board.
The FPGA is mapped into the 32-bit AVR memory bus. The FPGA offers two
DDR2 SDRAM interfaces, which will cover even the most exceptional need
of memory bandwidth. Together with the onboard video decoder the board
is ready for video processing.This patch does include the basic support for the fpga device driver,
but not the device driver itself.Signed-off-by: Alex Raimondi
Signed-off-by: Haavard Skinnemoen -
at32_reserve_pin now takes an u32 bitmask rather than a single pin.
This allows to reserve multiple pins at once.Remove (undocumented) SDCS (pin PE26) from reservation in board
setup code.Signed-off-by: Alex Raimondi
Signed-off-by: Haavard Skinnemoen -
at32_add_system_devices() is deprecated, so remove the call to it.
Signed-off-by: Haavard Skinnemoen
-
This patch removes a call to the deprecated function
at32_add_system_devices().Signed-off-by: Mark Jackson
Signed-off-by: Haavard Skinnemoen
18 Dec, 2008
1 commit
-
The favr-32 board code still refers to the old asm/arch header files
which were moved to mach/ some time ago.Signed-off-by: Haavard Skinnemoen
23 Oct, 2008
2 commits
-
…/git/hskinnemoen/avr32-2.6
-
Add essential system devices, including GPIO controllers, automatically
at core_initcall time. This ensures that the devices are there when the
PIO driver gets initialized at postcore_initcall, fixing a bug exposed
by commit d6634db8fe1784d0a8e4e156970fec034708446e "avr32: Use
platform_driver_probe for pio platform driver".Signed-off-by: Haavard Skinnemoen