summaryrefslogtreecommitdiffstats
path: root/arch/arm
AgeCommit message (Collapse)Author
2009-05-11block: implement and enforce request peek/start/fetchTejun Heo
Till now block layer allowed two separate modes of request execution. A request is always acquired from the request queue via elv_next_request(). After that, drivers are free to either dequeue it or process it without dequeueing. Dequeue allows elv_next_request() to return the next request so that multiple requests can be in flight. Executing requests without dequeueing has its merits mostly in allowing drivers for simpler devices which can't do sg to deal with segments only without considering request boundary. However, the benefit this brings is dubious and declining while the cost of the API ambiguity is increasing. Segment based drivers are usually for very old or limited devices and as converting to dequeueing model isn't difficult, it doesn't justify the API overhead it puts on block layer and its more modern users. Previous patches converted all block low level drivers to dequeueing model. This patch completes the API transition by... * renaming elv_next_request() to blk_peek_request() * renaming blkdev_dequeue_request() to blk_start_request() * adding blk_fetch_request() which is combination of peek and start * disallowing completion of queued (not started) requests * applying new API to all LLDs Renamings are for consistency and to break out of tree code so that it's apparent that out of tree drivers need updating. [ Impact: block request issue API cleanup, no functional change ] Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> Cc: Mike Miller <mike.miller@hp.com> Cc: unsik Kim <donari75@gmail.com> Cc: Paul Clements <paul.clements@steeleye.com> Cc: Tim Waugh <tim@cyberelk.net> Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Cc: David S. Miller <davem@davemloft.net> Cc: Laurent Vivier <Laurent@lvivier.info> Cc: Jeff Garzik <jgarzik@pobox.com> Cc: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Adrian McMenamin <adrian@mcmen.demon.co.uk> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Cc: Borislav Petkov <petkovbb@googlemail.com> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Alex Dubov <oakad@yahoo.com> Cc: Pierre Ossman <drzeus@drzeus.cx> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Markus Lidel <Markus.Lidel@shadowconnect.com> Cc: Stefan Weinhuber <wein@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Pete Zaitcev <zaitcev@redhat.com> Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-05-11block: convert to dequeueing model (easy ones)Tejun Heo
plat-omap/mailbox, floppy, viocd, mspro_block, i2o_block and mmc/card/queue are already pretty close to dequeueing model and can be converted with simple changes. Convert them. While at it, * xen-blkfront: !fs check moved downwards to share dequeue call with normal path. * mspro_block: __blk_end_request(..., blk_rq_cur_byte()) converted to __blk_end_request_cur() * mmc/card/queue: loop of __blk_end_request() converted to __blk_end_request_all() [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Alex Dubov <oakad@yahoo.com> Cc: Markus Lidel <Markus.Lidel@shadowconnect.com> Cc: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-04-28arm-omap: don't abuse rq->dataTejun Heo
omap mailbox uses rq->data as the second opaque pointer to carry mbox_msg_t and rq->special message argument which is needed only for tx. Add and use omap_msg_tx_data struct for tx and use rq->special for mbox_msg_t for rx such that only rq->special is used as opaque pointer. [ Impact: cleanup rq->data usage, extra kmalloc in msg_send ] Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Russell King <rmk@arm.linux.org.uk>
2009-04-28block: implement and use [__]blk_end_request_all()Tejun Heo
There are many [__]blk_end_request() call sites which call it with full request length and expect full completion. Many of them ensure that the request actually completes by doing BUG_ON() the return value, which is awkward and error-prone. This patch adds [__]blk_end_request_all() which takes @rq and @error and fully completes the request. BUG_ON() is added to to ensure that this actually happens. Most conversions are simple but there are a few noteworthy ones. * cdrom/viocd: viocd_end_request() replaced with direct calls to __blk_end_request_all(). * s390/block/dasd: dasd_end_request() replaced with direct calls to __blk_end_request_all(). * s390/char/tape_block: tapeblock_end_request() replaced with direct calls to blk_end_request_all(). [ Impact: cleanup ] Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Mike Miller <mike.miller@hp.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Jeff Garzik <jgarzik@pobox.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Alex Dubov <oakad@yahoo.com> Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
2009-04-24Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5460/1: Orion: reduce namespace pollution [ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config [ARM] 5457/1: mach-imx gpio buildfix [ARM] 5456/1: add sys_preadv and sys_pwritev [ARM] pxa/pcm990: start external GPIOs immediately after built-in ones [ARM] pxa/palm27x: General fix for Palm27x aSoC driver [ARM] pxa/mioa701: use GPIO95 as AC97 reset line [ARM] pxa: merge AC97 platform data structures [ARM] pxa/magician: remove un-necessary #include of pxa-regs.h and hardware.h
2009-04-23[ARM] 5460/1: Orion: reduce namespace pollutionNicolas Pitre
Symbols like SOFT_RESET are way too generic to be exported at large. To avoid this, let's move the mbus bridge register defines into a separate file and include it where needed. This affects mach-kirkwood, mach-loki, mach-mv78xx0 and mach-orion5x simultaneously as they all share code in plat-orion which relies on those defines. Some other defines have been moved to narrower scopes, or simply deleted when they had no user. This fixes compilation problem with mpt2sas on the above listed platforms. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-04-21clocksource: pass clocksource to read() callbackMagnus Damm
Pass clocksource pointer to the read() callback for clocksources. This allows us to share the callback between multiple instances. [hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods] [akpm@linux-foundation.org: cleanup] Signed-off-by: Magnus Damm <damm@igel.co.jp> Acked-by: John Stultz <johnstul@us.ibm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-20Separate out common fstatat code into vfs_fstatatOleg Drokin
This is a version incorporating Christoph's suggestion. Separate out common *fstatat functionality into a single function instead of duplicating it all over the code. Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2009-04-20Merge branch 'fix' of ↵Russell King
git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6
2009-04-20[ARM] 5457/1: mach-imx gpio buildfixDavid Brownell
From: David Brownell <dbrownell@users.sourceforge.net> Fix GPIO-related build error on mach-imx platform: CC drivers/spi/spi_gpio.o In file included from /home/db/kernel/scratch/arch/arm/include/asm/gpio.h:5, from include/linux/gpio.h:7, from drivers/spi/spi_gpio.c:23: arch/arm/mach-imx/include/mach/gpio.h: In function 'imx_gpio_get_value': arch/arm/mach-imx/include/mach/gpio.h:27: error: implicit declaration of function '__REG2' arch/arm/mach-imx/include/mach/gpio.h:27: error: 'IMX_IO_BASE' undeclared (first use in this function) arch/arm/mach-imx/include/mach/gpio.h:27: error: (Each undeclared identifier is reported only once arch/arm/mach-imx/include/mach/gpio.h:27: error: for each function it appears in.) arch/arm/mach-imx/include/mach/gpio.h: In function 'imx_gpio_set_value_inline': arch/arm/mach-imx/include/mach/gpio.h:36: error: 'IMX_IO_BASE' undeclared (first use in this function) arch/arm/mach-imx/include/mach/gpio.h:36: error: lvalue required as left operand of assignment arch/arm/mach-imx/include/mach/gpio.h:38: error: lvalue required as left operand of assignment ... Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-04-20[ARM] 5456/1: add sys_preadv and sys_pwritevMikael Pettersson
Kernel 2.6.30-rc1 added sys_preadv and sys_pwritev to most archs but not ARM, resulting in <stdin>:1421:2: warning: #warning syscall preadv not implemented <stdin>:1425:2: warning: #warning syscall pwritev not implemented This patch adds sys_preadv and sys_pwritev to ARM. These syscalls simply take five long-sized parameters, so they should have no calling-convention/ABI issues in the kernel. Tested on armv5tel eabi using a preadv/pwritev test program posted on linuxppc-dev earlier this month. It would be nice to get this into the kernel before 2.6.30 final, so that glibc's kernel version feature test for these syscalls doesn't have to special-case ARM. Signed-off-by: Mikael Pettersson <mikpe@it.uu.se> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-04-19[ARM] pxa/pcm990: start external GPIOs immediately after built-in onesGuennadi Liakhovetski
As a result of an off-by-1 error pcm990 leaves one unused GPIO number between built-in GPIOs and the pca9536 extender. Fix it. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
2009-04-19[ARM] pxa/palm27x: General fix for Palm27x aSoC driverMarek Vasut
Firstly, this patch makes the palm27x asoc driver a little more sane. Also, since all affected devices use GPIO95 as AC97_nRESET, this patch sets that properly. Affected are PalmT5, TX and LifeDrive. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
2009-04-17Merge branch 'defconfig-s3c2410' of git://aeryn.fluff.org.uk/bjdooks/linuxRussell King
2009-04-17Merge branch 'v2630-rc2-fixes' of git://aeryn.fluff.org.uk/bjdooks/linuxRussell King
2009-04-17[ARM] S3C24XX: ADC: Check pending queue before freeing adc clientRamax Lo
Check pending queue and remove the adc client being released. Signed-off-by: Ramax Lo <ramaxlo@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-17[ARM] S3C: Fix ADC driver sparse warningBen Dooks
The symbol 's3c_adc_try' in arch/arm/plat-s3c24xx/adc.c does not need to be exported and thus should be static. This fixes the following sparse warning: adc.c:103:6: warning: symbol 's3c_adc_try' was not declared. Should it be static? Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-17[ARM] Osiris: Fix double initialisation in machine blockBen Dooks
The .init_machine entry in mach-osiris.c had the same entry twice, so remove one definition to fix the following warning from sparse: mach-osiris.c:416:3: warning: Initializer entry defined twice mach-osiris.c:418:3: also defined here Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-17[ARM] Anubis: Fix sparse warnings for items that should be staticBen Dooks
Make 'anubis_ide_platdata' statis as it is not used outside the file it is in, fixing the following sparse warning: mach-anubis.c:246:27: warning: symbol 'anubis_ide_platdata' was not declared. Should it be static? Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-17[ARM] JIVE: Fix sparse warnings about items which should be staticBen Dooks
Make 'jive_vgg2432a4_display' and 'jive_lcd_config' static as they are not exported, and are generating the following sparse warnings: mach-jive.c:280:26: warning: symbol 'jive_vgg2432a4_display' was not declared. Should it be static? mach-jive.c:313:28: warning: symbol 'jive_lcd_config' was not declared. Should it be static? Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-17[ARM] S3C: Fix sparse warning from missing 's3c_device_hwmon'Ben Dooks
Fix the following sparse warning due to s3c_device_hwmon being missing from <plat/devs.h> devs.c:380:24: warning: symbol 's3c_device_hwmon' was not declared. Should it be static? Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-17[ARM] S3C24XX: Fix sparse error in gpiolib.cBen Dooks
Fix the following sparse error generated by including <plat/gpio-core.h> instead of <mach/gpio-core.h> gpiolib.c:78:22: warning: symbol 's3c24xx_gpios' was not declared. Should it be static? Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16[ARM] 5455/1: Fix IRQ noise from VIC codeLinus Walleij
The VIC code will attempt to perform som default set_irq_chip() and set_irq_chip_data() on all IRQs supported by the VIC, while the new IRQ handling code strictly checks for the global NR_IRQS to be respected also for these IRQs. This patch will respect the interrupt mask passed to the VIC driver and will prevent it from attempting to call these functions on any unused interrupts. Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-04-16Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6Russell King
2009-04-16mxc defconfig updatesSascha Hauer
This patch removes several i.MX board specific defconfig files in favour for a mx1_defconfig, mx27_defconfig and mx3_defconfig. All config files have all currently available boards, i.MX specific drivers and the network device drivers for the boards enabled. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-04-16mx31ads: Mark as having full regulatoion constraints with 1133-EV1 boardMark Brown
This allows the regulator API to power off unused regulators at the end of init. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16mx31ads: Depend on all the WM8350 core dependencies for WM1133-EV1 boardMark Brown
Otherwise we'd need massive ifdefs in the code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16Fix ifdef in plat-mxc/irc.cDarius Augulis
Move ifdef under function brackets. This fixes compile crach when IRQ priorities are disabled. Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
2009-04-16MX1ADS: remove I2C ifdefsDarius Augulis
Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
2009-04-16qong: remove AIPS[12] mappings from machine-specific iotableIlya Yanok
AIPS[12] are no mapped from generic MX3 code so we don't need to map them from machine-specific map_io function anymore. Signed-off-by: Ilya Yanok <yanok@emcraft.com>
2009-04-16mx31ads: imoux pins should be passed in as unsigned intMark Brown
To match the mxc_iomux_setup_multiple_pins() prototype. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16MXC: remove orphan imx_init_uart() definitionPaulius Zaleckas
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt> Cc: Sascha Hauer <s.hauer@pengutronix.de>
2009-04-16mx31: pin definition for csiValentin Longchamp
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
2009-04-16MX31: pin definition for sdhc2Valentin Longchamp
This also adds the pins used on mx31moboard for WP and CD Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
2009-04-16MX31: Add I2C pin definitionsVladimir Barinov
Add I2C pin definitions for MX31 SoC Signed-off-by: Vladimir Barinov <vbarinov@embeddedalley.com>
2009-04-16MX31: Add more alternate pin definitionsSascha Hauer
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-04-16pcm037 board support: Fix eth interrupt gpio settingSascha Hauer
gpio_direction_input needs the gpio number, not the pin description. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-04-16imx21: activate i2cHolger Schurig
Set the correct clkdev-name for the i2c clock. It also get's rid of the ARCH_NR_GPIOS define on the rationale that isn't an ARCH-wide setting anyway. If a device has two pca953x devices, the reserved number will be wrong. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
2009-04-16imx21: fixes some clocknamesHolger Schurig
Signed-off-by: <hs4233@mail.mn-solutions.de>
2009-04-16[ARM] S3C: Export s3c_gpio_cfgpin and s3c_gpio_setpull for modulesBen Dooks
Add an export of the two GPIO configuration calls s3c_gpio_cfgpin and s3c_gpio_setpull to allow modules to use them (such as ASoC drivers) Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16[ARM] s3c2410_defconfig: Update miscellaneous driversBen Dooks
Update the driver build in the s3c2410_defconfig for the LED, IDE, Input and EEPROM options Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16[ARM] s3c2410_defconfig: Update USB device driversBen Dooks
Add more USB device driver options to the s3c2410_defconfig, mostly as modules. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16[ARM] s3c2410_defconfig: Update filesystem optionsBen Dooks
Update the filesystem options in the s3c2410_defconfig, such as building ext4, enable the automounter as modules and update the network filesysyem choices. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16[ARM] s3c2410_defconfig: Add video/radio driversBen Dooks
Add a set of various video and radio drivers to the s3c2410_defconfig as modules. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16[ARM] s3c2410_defconfig: Add sound driversBen Dooks
Add sound drivers to the s3c2410_defconfig. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16[ARM] 5453/1: fix building breakage of sys_oabi-compat.c due to missing ↵eric miao
kmalloc/kfree It seems that declarations of kmalloc/kfree are missed, explicitly include it. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-04-15[ARM] s3c2410_defconfig: Add MMC/SD core and driversBen Dooks
Add SD/MMC to the s3c2410_defconfig, building in the core and adding the rest of the drivers as modules. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-15[ARM] s3c2410_defconfig: Update machine configurationBen Dooks
Update the machine configuration of s3c2410_defconfig to add support for newer machines, and update the s3c24xx specific options. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-15[ARM] s3c2410_defconfig: Update network optionsBen Dooks
Update the list of modules being built for the network core of the s3c2410_defconfig. This update adds such items as TCP congestion, netfilter for IPv4 and IPv6. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-15[ARM] s3c2410_defconfig: update to 2.6.30-rc2Ben Dooks
Update arch/arm/configs/s3c2410_defconfig to the latest kernel release (2.6.30-rc2). Signed-off-by: Ben Dooks <ben-linux@fluff.org>