]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agopowerpc/fsl_soc: remove mpc83xx_wdt code
Anton Vorontsov [Mon, 29 Sep 2008 13:56:03 +0000 (17:56 +0400)]
powerpc/fsl_soc: remove mpc83xx_wdt code

mpc83xx_wdt is the OF driver now, so we don't need fsl_soc constructor.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years ago[ARM] dma: add validation of DMA params
Russell King [Mon, 29 Sep 2008 12:48:17 +0000 (13:48 +0100)]
[ARM] dma: add validation of DMA params

Validate the direction argument like x86 does.  In addition,
validate the dma_unmap_* parameters against those passed to
dma_map_* when using the DMA bounce code.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agoV4L/DVB (8892): pvrusb2: Handle USB ID 2040:2950 same as 2040:2900
Mike Isely [Sat, 30 Aug 2008 18:08:28 +0000 (15:08 -0300)]
V4L/DVB (8892): pvrusb2: Handle USB ID 2040:2950 same as 2040:2900

The device 2040:2950 is a really old variant of the PVR USB2 hardware.
I have just learned of its existence.  For the purposes of the pvrusb2
driver, it is functionally identical to the well known 29xxx series
(2040:2900).  Amazing that this went undetected for 3+ years.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
17 years agoV4L/DVB (8887): gspca: fix memory leak
Douglas Schilling Landgraf [Thu, 4 Sep 2008 14:23:06 +0000 (11:23 -0300)]
V4L/DVB (8887): gspca: fix memory leak

Free allocated memory

Cc: Jean-Francois Moine <moinejf@free.fr>
Cc: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
17 years agoV4L/DVB (8886): ov511: fix memory leak
Douglas Schilling Landgraf [Thu, 4 Sep 2008 14:21:58 +0000 (11:21 -0300)]
V4L/DVB (8886): ov511: fix memory leak

Free allocated memory

Cc: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
17 years agoV4L/DVB (8885): cpia2_usb: fix memory leak
Douglas Schilling Landgraf [Thu, 4 Sep 2008 14:21:03 +0000 (11:21 -0300)]
V4L/DVB (8885): cpia2_usb: fix memory leak

Free allocated memory

Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
17 years agoV4L/DVB (8884): em28xx-audio: fix memory leak
Douglas Schilling Landgraf [Thu, 4 Sep 2008 14:20:20 +0000 (11:20 -0300)]
V4L/DVB (8884): em28xx-audio: fix memory leak

Free allocated memory

Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
17 years agoV4L/DVB (8883): w9968cf: Fix order of usb_alloc_urb validation
Douglas Schilling Landgraf [Thu, 4 Sep 2008 14:19:27 +0000 (11:19 -0300)]
V4L/DVB (8883): w9968cf: Fix order of usb_alloc_urb validation

Fixed order of usb_alloc_urb pointer validation.

Cc: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
17 years agosh: Use clk fwk for preset lpj on sh64, too.
Paul Mundt [Mon, 29 Sep 2008 11:14:44 +0000 (20:14 +0900)]
sh: Use clk fwk for preset lpj on sh64, too.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: SH-5 clk fwk support.
Paul Mundt [Mon, 29 Sep 2008 11:09:17 +0000 (20:09 +0900)]
sh: SH-5 clk fwk support.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agoALSA: ASoC: Fix another cs4270 error path
Jean Delvare [Sat, 27 Sep 2008 18:30:52 +0000 (20:30 +0200)]
ALSA: ASoC: Fix another cs4270 error path

Conversion to new-style i2c driver missed the error path of the
probe function. Fix it.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Timur Tabi <timur@freescale.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: make the CS4270 driver a new-style I2C driver
Timur Tabi [Tue, 29 Jul 2008 21:35:52 +0000 (16:35 -0500)]
ALSA: make the CS4270 driver a new-style I2C driver

Update the CS4270 ALSA device driver to use the new-style I2C interface.
Starting with the 2.6.27 PowerPC kernel, I2C devices that have entries in the
device trees can no longer be probed by old-style I2C drivers.  The device
tree for Freescale MPC8610 HPCD has included an entry for the CS4270 since
2.6.25, but that entry was previously ignored by the PowerPC I2C subsystem.
Since that's no longer the case, the best solution is to update the CS4270
driver to a new-style interface, rather than try to revert the behavior of
new PowerPC I2C subsystem.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agosh: sh_ksyms_64 needs __strncpy_from_user() definition.
Paul Mundt [Mon, 29 Sep 2008 10:45:16 +0000 (19:45 +0900)]
sh: sh_ksyms_64 needs __strncpy_from_user() definition.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Fix up signal_64 cast warnings.
Paul Mundt [Mon, 29 Sep 2008 10:44:40 +0000 (19:44 +0900)]
sh: Fix up signal_64 cast warnings.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Fix up uaccess_64 put/get_user() cast warnings.
Paul Mundt [Mon, 29 Sep 2008 10:43:44 +0000 (19:43 +0900)]
sh: Fix up uaccess_64 put/get_user() cast warnings.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years ago[ARM] dma: coding style cleanups
Russell King [Thu, 25 Sep 2008 21:23:31 +0000 (22:23 +0100)]
[ARM] dma: coding style cleanups

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] dma: fix dmabounce dma_sync_xxx() implementations
Russell King [Thu, 25 Sep 2008 21:16:22 +0000 (22:16 +0100)]
[ARM] dma: fix dmabounce dma_sync_xxx() implementations

The dmabounce dma_sync_xxx() implementation have been broken for
quite some time; they all copy data between the DMA buffer and
the CPU visible buffer no irrespective of the change of ownership.
(IOW, a DMA_FROM_DEVICE mapping copies data from the DMA buffer
to the CPU buffer during a call to dma_sync_single_for_device().)

Fix it by getting rid of sync_single(), moving the contents into
the recently created dmabounce_sync_for_xxx() functions and adjusting
appropriately.

This also makes it possible to properly support the DMA range sync
functions.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] dma: use new dmabounce_sync_for_xxx() for dma_sync_single_xxx()
Russell King [Thu, 25 Sep 2008 20:52:49 +0000 (21:52 +0100)]
[ARM] dma: use new dmabounce_sync_for_xxx() for dma_sync_single_xxx()

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] dma: Reduce to one dma_sync_sg_* implementation
Russell King [Thu, 25 Sep 2008 20:38:41 +0000 (21:38 +0100)]
[ARM] dma: Reduce to one dma_sync_sg_* implementation

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agox86_64: be less annoying on boot, v2
dcg [Sun, 28 Sep 2008 16:49:46 +0000 (18:49 +0200)]
x86_64: be less annoying on boot, v2

Honour "quiet" boot parameter in early_printk() calls

Signed-off-by: Diego Calleja <diegocg@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoscsi: fix fall out of sg-chaining patch in qlogicpti
Boaz Harrosh [Mon, 29 Sep 2008 07:38:55 +0000 (09:38 +0200)]
scsi: fix fall out of sg-chaining patch in qlogicpti

Boaz writes:

"I've reviewed all patches since Matthew's, and I find one small
problem.

In the load_cmd() there is a compound loop where the first 4 sg's are
set then the rest are set into a memory structure in group of 7 sg's.

Well the second 7-group and on is a bug because sg pointer does not advance.
This is a fall out from Jens's patch."

The reporter, Meelis Roos <mroos@ut.ee>, verified that this patch
does indeed fix his problem with qlogicpti.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs
Seth Heasley [Wed, 27 Aug 2008 23:40:06 +0000 (16:40 -0700)]
ata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs

This patch updates the Intel Ibex Peak (PCH) IDE mode SATA Controller DeviceIDs.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata-eh: clear UNIT ATTENTION after reset
Tejun Heo [Sat, 30 Aug 2008 12:20:01 +0000 (14:20 +0200)]
libata-eh: clear UNIT ATTENTION after reset

Resets make ATAPI devices raise UNIT ATTENTION which fails the next
command.  As resets can happen asynchronously for unrelated reasons,
this sometimes disrupts innocent users.  For example, reading DVD
fails after the system wakes up from suspend or the other device
sharing the channel went through bus error.

Clearing UA has some problems as it might clear UA which the userland
needs to know about.  However, UA after resets can only be about the
reset itself and benefits of clearing it overweights cons.  Missing UA
can only delay failure to one of the following commands anyway.  For
example, timeout while burning is in progress will trigger reset and
reset the device state and probably corrupt the burning run.  Although
the userland application won't get the UA, its pending writes will
fail.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoata_piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list
Herton Ronaldo Krzesinski [Wed, 17 Sep 2008 17:29:05 +0000 (14:29 -0300)]
ata_piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata: reorder ata_device to remove 8 bytes of padding on 64 bits
Richard Kennedy [Mon, 22 Sep 2008 21:47:13 +0000 (14:47 -0700)]
libata: reorder ata_device to remove 8 bytes of padding on 64 bits

reduce size by 8 bytes from 1160 to 1152 allowing it to fit in 1 fewer
cachelines.

Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years ago[libata] pata_bf54x: Add proper PM operation
Sonic Zhang [Mon, 22 Sep 2008 21:47:10 +0000 (14:47 -0700)]
[libata] pata_bf54x: Add proper PM operation

[akpm@linux-foundation.org: remove ifdefs, make things static]
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agopata_sil680: convert CONFIG_PPC_MERGE to CONFIG_PPC
Kumar Gala [Mon, 22 Sep 2008 21:47:33 +0000 (14:47 -0700)]
pata_sil680: convert CONFIG_PPC_MERGE to CONFIG_PPC

Now that arch/ppc is dead CONFIG_PPC_MERGE is always defined for all
powerpc platforms and we want to get rid of CONFIG_PPC_MERGE use
CONFIG_PPC instead.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata: Implement disk shock protection support
Elias Oltmanns [Sun, 21 Sep 2008 09:54:08 +0000 (11:54 +0200)]
libata: Implement disk shock protection support

On user request (through sysfs), the IDLE IMMEDIATE command with UNLOAD
FEATURE as specified in ATA-7 is issued to the device and processing of
the request queue is stopped thereafter until the specified timeout
expires or user space asks to resume normal operation. This is supposed
to prevent the heads of a hard drive from accidentally crashing onto the
platter when a heavy shock is anticipated (like a falling laptop
expected to hit the floor). In fact, the whole port stops processing
commands until the timeout has expired in order to avoid any resets due
to failed commands on another device.

Signed-off-by: Elias Oltmanns <eo@nebensachen.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years ago[libata] Introduce ata_id_has_unload()
Elias Oltmanns [Fri, 19 Sep 2008 21:46:01 +0000 (23:46 +0200)]
[libata] Introduce ata_id_has_unload()

Add a function to check an ATA device's id for head unload support as
specified in ATA-7.

Signed-off-by: Elias Oltmanns <eo@nebensachen.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoPATA: RPC now selects HAVE_PATA_PLATFORM for pata platform driver
Ben Dooks [Fri, 26 Sep 2008 17:12:52 +0000 (18:12 +0100)]
PATA: RPC now selects HAVE_PATA_PLATFORM for pata platform driver

The RPC machine type now selects HAVE_PATA_PLATFORM so we can remove
the special case in the PATA_PLATFORM configuration code.

Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoata_piix: drop merged SCR access and use slave_link instead
Tejun Heo [Thu, 31 Jul 2008 08:02:44 +0000 (17:02 +0900)]
ata_piix: drop merged SCR access and use slave_link instead

Now that libata has slave_link, there's no need to keep ugly merged
SCR access.  Drop it and use slave_link instead.  This results in
simpler code and much better separate link handling for master and
slave.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata: implement slave_link
Tejun Heo [Thu, 31 Jul 2008 08:02:43 +0000 (17:02 +0900)]
libata: implement slave_link

Explanation taken from the comment of ata_slave_link_init().

 In libata, a port contains links and a link contains devices.  There
 is single host link but if a PMP is attached to it, there can be
 multiple fan-out links.  On SATA, there's usually a single device
 connected to a link but PATA and SATA controllers emulating TF based
 interface can have two - master and slave.

 However, there are a few controllers which don't fit into this
 abstraction too well - SATA controllers which emulate TF interface
 with both master and slave devices but also have separate SCR
 register sets for each device.  These controllers need separate links
 for physical link handling (e.g. onlineness, link speed) but should
 be treated like a traditional M/S controller for everything else
 (e.g. command issue, softreset).

 slave_link is libata's way of handling this class of controllers
 without impacting core layer too much.  For anything other than
 physical link handling, the default host link is used for both master
 and slave.  For physical link handling, separate @ap->slave_link is
 used.  All dirty details are implemented inside libata core layer.
 From LLD's POV, the only difference is that prereset, hardreset and
 postreset are called once more for the slave link, so the reset
 sequence looks like the following.

 prereset(M) -> prereset(S) -> hardreset(M) -> hardreset(S) ->
 softreset(M) -> postreset(M) -> postreset(S)

 Note that softreset is called only for the master.  Softreset resets
 both M/S by definition, so SRST on master should handle both (the
 standard method will work just fine).

As slave_link excludes PMP support and only code paths which deal with
the attributes of physical link are affected, all the changes are
localized to libata.h, libata-core.c and libata-eh.c.

 * ata_is_host_link() updated so that slave_link is considered as host
   link too.

 * iterator extended to iterate over the slave_link when using the
   underbarred version.

 * force param handling updated such that devno 16 is mapped to the
   slave link/device.

 * ata_link_on/offline() updated to return the combined result from
   master and slave link.  ata_phys_link_on/offline() are the direct
   versions.

 * EH autopsy and report are performed separately for master slave
   links.  Reset is udpated to implement the above described reset
   sequence.

Except for reset update, most changes are minor, many of them just
modifying dev->link to ata_dev_phys_link(dev) or using phys online
test instead.

After this update, LLDs can take full advantage of per-dev SCR
registers by simply turning on slave link.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata: misc updates to prepare for slave link
Tejun Heo [Thu, 31 Jul 2008 08:02:42 +0000 (17:02 +0900)]
libata: misc updates to prepare for slave link

* Add ATA_EH_ALL_ACTIONS.

* Make sata_link_{on|off}_line() return bool instead of int.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata: reimplement link iterator
Tejun Heo [Thu, 31 Jul 2008 08:02:41 +0000 (17:02 +0900)]
libata: reimplement link iterator

Implement __ata_port_next_link() and reimplement
__ata_port_for_each_link() and ata_port_for_each_link() using it.
This removes relatively large inlined code and makes iteration easier
to extend.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata: make SCR access ops per-link
Tejun Heo [Thu, 31 Jul 2008 08:02:40 +0000 (17:02 +0900)]
libata: make SCR access ops per-link

Logically, SCR access ops should take @link; however, there was no
compelling reason to convert all SCR access ops when adding @link
abstraction as there's one-to-one mapping between a port and a non-PMP
link.  However, that assumption won't hold anymore with the scheduled
addition of slave link.

Make SCR access ops per-link.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agosata_nv: reinstate nv_hardreset() for non generic controllers
Tejun Heo [Sat, 27 Sep 2008 22:39:01 +0000 (07:39 +0900)]
sata_nv: reinstate nv_hardreset() for non generic controllers

Commit 2fd673ecf0378ddeeeb87b3605e50212e0c0ddc6 which tried to remove
hardreset for generic accidentally removed it for all flavors as all
others were inheriting from nv_generic_ops.  This patch reinstates
nv_hardreset() and puts it into nv_common_ops which all flavors
inherit from.  nv_generic_ops now inherits from nv_common_ops and
overrides .hardreset to ATA_OP_NULL.

While at it, explain why nv_hardreset and ATA_OP_NULL override are
necessary.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years ago[SCSI] qlogicpti: fix sg list traversal error in continuation entries
Boaz Harrosh [Wed, 24 Sep 2008 09:00:22 +0000 (12:00 +0300)]
[SCSI] qlogicpti: fix sg list traversal error in continuation entries

The current sg list traversal logic for the continuation entries
doesn't advance the list pointer once all seven slots are used, so the
next continuation entry (if there is one) wrongly begins again at the
start of the sg list.

Fix by advancing the sg pointer after the for_each_sg().

Reported-by: Meelis Roos <mroos@ut.ee>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years agoRevert "ARM: OMAP: Get rid of controller vs slot confusion, initialize MMC devices...
Tony Lindgren [Sun, 28 Sep 2008 12:42:17 +0000 (15:42 +0300)]
Revert "ARM: OMAP: Get rid of controller vs slot confusion, initialize MMC devices dynamically"

This reverts commit c434c15d28c82d92e55897bd265c423e9ab69362.

Will re-apply once the MMC breakage on 3430 has been sorted out.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agox86: mtrr_cleanup hole size should be less than half of chunk_size, v2
Yinghai Lu [Sun, 28 Sep 2008 03:26:06 +0000 (20:26 -0700)]
x86: mtrr_cleanup hole size should be less than half of chunk_size, v2

v2: should check with half of range0 size instead of chunk_size

So don't have silly big hole.

in hpa's case we could auto detect instead of adding mtrr_chunk_size in
command line.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86/iommu: use __GFP_ZERO instead of memset for GART
Joerg Roedel [Thu, 25 Sep 2008 10:42:12 +0000 (12:42 +0200)]
x86/iommu: use __GFP_ZERO instead of memset for GART

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86/iommu: convert GART need_flush to bool
Joerg Roedel [Thu, 25 Sep 2008 10:13:54 +0000 (12:13 +0200)]
x86/iommu: convert GART need_flush to bool

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86/iommu: make GART driver checkpatch clean
Joerg Roedel [Thu, 25 Sep 2008 10:13:53 +0000 (12:13 +0200)]
x86/iommu: make GART driver checkpatch clean

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotimers: fix itimer/many thread hang, v3
Frank Mayhar [Fri, 12 Sep 2008 16:54:39 +0000 (09:54 -0700)]
timers: fix itimer/many thread hang, v3

- fix UP lockup
- another set of UP/SMP cleanups and simplifications

Signed-off-by: Frank Mayhar <fmayhar@google.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agocdrom: update ioctl documentation
Márton Németh [Sat, 27 Sep 2008 17:32:17 +0000 (19:32 +0200)]
cdrom: update ioctl documentation

Correct copy-paste problem: CDROMCLOSETRAY is about closing the tray,
not opening it.

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: note that IDE generic may prevent other drivers from attaching
Tejun Heo [Sat, 27 Sep 2008 17:32:17 +0000 (19:32 +0200)]
ide: note that IDE generic may prevent other drivers from attaching

Enabling IDE generic may prevent ATA controllers located on legacy
ports from being attached to more proper driver or can prevent other
controllers which share the IRQ from working.  Note it in the help
message.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: xerces8 <xerces8@butn.net>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: stein@hermes.si
[bart: s/will grab/may grab/ since Borislav has fixed PCI-case for .28]
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide-tape: fix vendor strings
Borislav Petkov [Sat, 27 Sep 2008 17:32:17 +0000 (19:32 +0200)]
ide-tape: fix vendor strings

Remove superfluous two bytes from each string buffer and add proper length
format specifiers.

Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
Tested-by: Mark de Wever <koraq@xs4all.nl>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoSwarm: Fix crash due to missing initialization
Ralf Baechle [Sat, 27 Sep 2008 17:32:16 +0000 (19:32 +0200)]
Swarm: Fix crash due to missing initialization

If things are just right this will result in the hws[0]->parent being
passed to ide_host_add() being non-zero and an ooops a little later.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agox86: add mtrr_cleanup_debug command line
Yinghai Lu [Sat, 27 Sep 2008 07:30:06 +0000 (00:30 -0700)]
x86: add mtrr_cleanup_debug command line

add mtrr_cleanup_debug to print out more info about layout

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: mtrr_cleanup optimization, v2
Yinghai Lu [Sat, 27 Sep 2008 07:30:08 +0000 (00:30 -0700)]
x86: mtrr_cleanup optimization, v2

fix hpa's t61 with 4g ram:

   change layout from
(n - 1)*chunksize + chunk_size - NC
   to
n*chunksize - NC

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: don't need to go to chunksize to 4G
Yinghai Lu [Sat, 27 Sep 2008 07:30:07 +0000 (00:30 -0700)]
x86: don't need to go to chunksize to 4G

change back chunksize max to 2g
   otherwise will get strange layout in 2G ram system like
     0 - 4g WB, 2040M - 2048M UC, 2048M -  4G NC
   instead of
     0 - 2g WB, 2040M - 2048M UC

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years ago[SSB] Initialise dma_mask for SSB_BUSTYPE_SSB devices
Aurelien Jarno [Fri, 26 Sep 2008 20:27:11 +0000 (22:27 +0200)]
[SSB] Initialise dma_mask for SSB_BUSTYPE_SSB devices

For SSB_BUSTYPE_SSB type devices, we need to initialize dma_mask using
coherent_dma_mask so that calls to dma_set_mask() succeed.

It fixes the regression on the b44 driver introduced by commit
f225763a7d6c92c4932dbd528437997078496fcc

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] BCM47xx: Fix build error due to missing PCI functions
Aurelien Jarno [Sat, 27 Sep 2008 14:06:16 +0000 (16:06 +0200)]
[MIPS] BCM47xx: Fix build error due to missing PCI functions

This patch defines pcibios_map_irq() and pcibios_plat_dev_init() for
the BCM47xx platform.

It fixes the regression introduced by commit
aab547ce0d1493d400b6468c521a0137cd8c1edf.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] IP27: Switch to dynamic interrupt routing avoding panic on error.
Ralf Baechle [Sat, 27 Sep 2008 14:05:06 +0000 (15:05 +0100)]
[MIPS] IP27: Switch to dynamic interrupt routing avoding panic on error.

pcibios_map_irq is no way of returning an error but on IP27 an interrupt
is possibly not routable when running out of resources.  So do the
interrupt routing at pcibios_enable_device time.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] au1000: Make sure GPIO value is zero or one
Bruno Randolf [Thu, 25 Sep 2008 14:45:10 +0000 (16:45 +0200)]
[MIPS] au1000: Make sure GPIO value is zero or one

David Brownell <david-b@pacbell.net> wrote:
>       The problem is that "value" is zero-or-nonzero.
>       This code wrongly assumes it's zero-or-one.
>       Possible fix:  "((!!value) << gpio)".

Signed-off-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years agom32r/kernel/: cleanups
Adrian Bunk [Wed, 24 Sep 2008 06:01:47 +0000 (15:01 +0900)]
m32r/kernel/: cleanups

This patch contains the following cleanups:
- make the following needlessly global code static:
  - entry.S: resume_userspace
  - process.c: pm_idle
  - process.c: default_idle()
  - smp.c: send_IPI_allbutself()
  - time.c: timer_interrupt()
  - time.c: struct irq0
  - traps.c: set_eit_vector_entries()
  - traps.c: kstack_depth_to_print
  - traps.c: show_trace()
  - traps.c: die_lock
- remove the following unused code:
  - head.S: startup_32
  - process.c: hlt_counter
  - process.c: disable_hlt()
  - process.c: enable_hlt()
  - process.c: dump_task_regs()
- remove the following variables and their usages since they were
  always 0:
  - irq.c: irq_err_count
  - irq.c: irq_mis_count

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
17 years agom32r: export __ndelay
Adrian Bunk [Wed, 24 Sep 2008 06:01:15 +0000 (15:01 +0900)]
m32r: export __ndelay

ERROR: "__ndelay" [drivers/spi/spi_bitbang.ko] undefined!

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
17 years agom32r: export empty_zero_page
Adrian Bunk [Wed, 24 Sep 2008 05:59:57 +0000 (14:59 +0900)]
m32r: export empty_zero_page

ERROR: "empty_zero_page" [fs/ext4/ext4dev.ko] undefined!

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
17 years agom32r: don't offer CONFIG_ISA
Adrian Bunk [Wed, 24 Sep 2008 05:58:54 +0000 (14:58 +0900)]
m32r: don't offer CONFIG_ISA

As far as I know no M32R hardware actually has ISA slots.

And ISA drivers don't compile on M32R.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
17 years agom32r: remove the unused NOHIGHMEM option
Adrian Bunk [Wed, 24 Sep 2008 05:57:11 +0000 (14:57 +0900)]
m32r: remove the unused NOHIGHMEM option

Remove the unused NOHIGHMEM option.

Reviewed-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
17 years agofile capabilities: uninline cap_safe_nice
Serge E. Hallyn [Sat, 27 Sep 2008 02:27:47 +0000 (22:27 -0400)]
file capabilities: uninline cap_safe_nice

This reduces the kernel size by 289 bytes.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Acked-by: Andrew G. Morgan <morgan@kernel.org>
Signed-off-by: James Morris <jmorris@namei.org>
17 years ago[MTD] [MAPS] Maps: make uclinux mapping driver depend on MTD_RAM
Mike Frysinger [Mon, 22 Sep 2008 21:49:52 +0000 (14:49 -0700)]
[MTD] [MAPS] Maps: make uclinux mapping driver depend on MTD_RAM

...since it only probes that

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
17 years ago[MTD] [NOR] intel_dc21285 switch to ROM API
Alan Cox [Tue, 23 Sep 2008 16:25:10 +0000 (17:25 +0100)]
[MTD] [NOR] intel_dc21285 switch to ROM API

Now that the needed helpers are exported, it becomes a nice simple
switch over. Closes #9420

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
17 years agoExport the ROM enable/disable helpers
Alan Cox [Tue, 23 Sep 2008 16:25:10 +0000 (17:25 +0100)]
Export the ROM enable/disable helpers

.... so that they can be used by MTD map drivers. Lets us close #9420

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
17 years ago[MTD] [NOR] fix cfi_cmdset_0001 FL_SYNCING race (take 2)
Alexander Belyakov [Thu, 25 Sep 2008 13:53:24 +0000 (17:53 +0400)]
[MTD] [NOR] fix cfi_cmdset_0001 FL_SYNCING race (take 2)

The patch fixes CFI issue with multipartitional devices leading to the
set of errors or even deadlock. The problem is CFI FL_SYNCING state race
with flash operations (e.g. erase suspend). It is reproduced by running
intensive writes on one JFFS2 partition and simultaneously performing
mount/unmount cycle on another partition of the same chip.

Signed-off-by: Alexander Belyakov <abelyako@googlemail.com>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
17 years agofsldma: allow Freescale Elo DMA driver to be compiled as a module
Timur Tabi [Sat, 27 Sep 2008 00:00:11 +0000 (17:00 -0700)]
fsldma: allow Freescale Elo DMA driver to be compiled as a module

Modify the Freescale Elo / Elo Plus DMA driver so that it can be compiled as
a module.

The primary change is to stop treating the DMA controller as a bus, and the
DMA channels as devices on the bus.  This is because the Open Firmware (OF)
kernel code does not allow busses to be removed, so although we can call
of_platform_bus_probe() to probe the DMA channels, there is no
of_platform_bus_remove().  Instead, the DMA channels are manually probed,
similar to what fsl_elbc_nand.c does.

Cc: Scott Wood <scottwood@freescale.com>
Acked-by: Li Yang <leoli@freescale.com>
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
17 years ago[ARM] pxa: make "gpio_leds" static
Russell King [Thu, 25 Sep 2008 13:35:48 +0000 (14:35 +0100)]
[ARM] pxa: make "gpio_leds" static

Magician's "gpio_leds" was global, but actually is supposed to be
private.  Make it so.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa/pcm027: convert to use new MFP API
Eric Miao [Fri, 12 Sep 2008 02:45:41 +0000 (10:45 +0800)]
[ARM] pxa/pcm027: convert to use new MFP API

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa/lpd270: use new .lcd_conn to specify LCD info
Eric Miao [Thu, 11 Sep 2008 07:59:23 +0000 (15:59 +0800)]
[ARM] pxa/lpd270: use new .lcd_conn to specify LCD info

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa/lpd270: convert to use new MFP API
Eric Miao [Thu, 11 Sep 2008 07:53:50 +0000 (15:53 +0800)]
[ARM] pxa/lpd270: convert to use new MFP API

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa/idp: remove the unnecessary idp_init_irq()
Eric Miao [Fri, 8 Aug 2008 06:33:29 +0000 (14:33 +0800)]
[ARM] pxa/idp: remove the unnecessary idp_init_irq()

TOUCH_PANEL_IRQ is never referenced, and set_irq_type() shouldn't
be called in this way, remove it, as well as the idp_init_irq(),
and use pxa25x_init_irq() instead.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Cc: Cliff Brake <cliff.brake@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa/idp: make use of "lcd_conn", add LCD pin configurations
Eric Miao [Fri, 8 Aug 2008 06:17:57 +0000 (14:17 +0800)]
[ARM] pxa/idp: make use of "lcd_conn", add LCD pin configurations

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Cc: Cliff Brake <cliff.brake@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa/idp: convert to use new MFP API
Eric Miao [Fri, 8 Aug 2008 05:33:31 +0000 (13:33 +0800)]
[ARM] pxa/idp: convert to use new MFP API

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Cc: Cliff Brake <cliff.brake@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa/colibri: convert to use new MFP API
Eric Miao [Fri, 8 Aug 2008 06:59:03 +0000 (14:59 +0800)]
[ARM] pxa/colibri: convert to use new MFP API

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Cc: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa/lubbock: add missing MFP pin configurations
Eric Miao [Thu, 11 Sep 2008 07:42:10 +0000 (15:42 +0800)]
[ARM] pxa/lubbock: add missing MFP pin configurations

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa: better MFP low power state support for pxa25x/pxa27x
Eric Miao [Wed, 3 Sep 2008 10:06:34 +0000 (18:06 +0800)]
[ARM] pxa: better MFP low power state support for pxa25x/pxa27x

When configured as a specific low power state: MFP_LPM_DRIVE_LOW,
MFP_LPM_DRIVE_HIGH, the corresponding GPDR register bit during
low power mode shall be re-configured as output (if they are not
configured so), thus the PGSRx bits can output.

Create an additional low power values GPDR registers, and properly
save/restore the GAFR + GPDR registers when doing suspend/resume.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa: fix typo in pxa25x MFP definitions
Eric Miao [Mon, 21 Jul 2008 08:20:54 +0000 (16:20 +0800)]
[ARM] pxa: fix typo in pxa25x MFP definitions

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 5238/2: Very basic Palm Zire 72 support
Sergey Lapin [Fri, 29 Aug 2008 14:47:52 +0000 (15:47 +0100)]
[ARM] 5238/2: Very basic Palm Zire 72 support

This patch contains very basic support of Palm Zire 72.

Signed-off-by: Sergey Lapin <slapin@ossfans.org>
Acked-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agoUBI: fix IS_ERR test
Julien Brunel [Fri, 26 Sep 2008 13:27:25 +0000 (15:27 +0200)]
UBI: fix IS_ERR test

In case of error, the function add_volume returns an ERR pointer. The
result of IS_ERR, which is supposed to be used in a test as it is, is
here checked to be less than zero, which seems odd. We suggest to
replace this test by a simple IS_ERR test.

A simplified version of the semantic match that finds this problem is
as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@def0@
expression x;
position p0;
@@
x@p0 = add_volume(...)

@protected@
expression def0.x,E;
position def0.p0;
position p;
statement S;
@@
x@p0
... when != x = E
if (!IS_ERR(x) && ...) {<... x@p ...>} else S

@unprotected@
expression def0.x,E;
identifier fld;
position def0.p0;
position p != protected.p;
@@
x@p0
... when != x = E
* x@p->fld
// </smpl>

Signed-off-by: Julien Brunel <brunel@diku.dk>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Fri, 26 Sep 2008 16:16:32 +0000 (09:16 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: remove unneeded power_mutex lock in snd_pcm_drop
  ALSA: fix locking in snd_pcm_open*() and snd_rawmidi_open*()

17 years agoMerge git://oss.sgi.com:8090/xfs/linux-2.6
Linus Torvalds [Fri, 26 Sep 2008 15:49:34 +0000 (08:49 -0700)]
Merge git://oss.sgi.com:8090/xfs/linux-2.6

* git://oss.sgi.com:8090/xfs/linux-2.6:
  [XFS] Remove xfs_iext_irec_compact_full()
  [XFS] Fix extent list corruption in xfs_iext_irec_compact_full().

17 years agoARM: Delete ARM's own cnt32_to_63.h
David Howells [Fri, 26 Sep 2008 15:22:58 +0000 (16:22 +0100)]
ARM: Delete ARM's own cnt32_to_63.h

Delete ARM's own cnt32_to_63.h as the copy in include/linux/ should now be
used instead.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agokgdboc,tty: Fix tty polling search to use name correctly
Jason Wessel [Fri, 26 Sep 2008 15:36:42 +0000 (10:36 -0500)]
kgdboc,tty: Fix tty polling search to use name correctly

The tty_find_polling_driver() routine did not correctly check the base
part of the tty name.  This can lead to kgdboc selecting an incorrect
driver, as well as accepting a completely invalid tty such as "echo
ffff0 > /sys/module/kgdboc/parameters/kgdboc".

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
17 years agokgdb, x86_64: fix PS CS SS registers in gdb serial
Jason Wessel [Fri, 26 Sep 2008 15:36:42 +0000 (10:36 -0500)]
kgdb, x86_64: fix PS CS SS registers in gdb serial

On x86_64 the gdb serial register structure defines the PS (also known
as eflags), CS and SS registers as 4 bytes entities.

This patch splits the x86_64 regnames enum into a 32 and 64 version to
account for the 32 bit entities in the gdb serial packets.

Also the program counter is properly filled in for the sleeping
threads.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
17 years agokgdb, x86_64: gdb serial has BX and DX reversed
Jason Wessel [Fri, 26 Sep 2008 15:36:42 +0000 (10:36 -0500)]
kgdb, x86_64: gdb serial has BX and DX reversed

The BX and DX registers in the gdb serial register packet need to be
flipped for gdb to receive the correct data.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
17 years agokgdb, x86, arm, mips, powerpc: ignore user space single stepping
Jason Wessel [Fri, 26 Sep 2008 15:36:41 +0000 (10:36 -0500)]
kgdb, x86, arm, mips, powerpc: ignore user space single stepping

On the x86 arch, user space single step exceptions should be ignored
if they occur in the kernel space, such as ptrace stepping through a
system call.

First check if it is kgdb that is executing a single step, then ensure
it is not an accidental traversal into the user space, while in kgdb,
any other time the TIF_SINGLESTEP is set, kgdb should ignore the
exception.

On x86, arm, mips and powerpc, the kgdb_contthread usage was
inconsistent with the way single stepping is implemented in the kgdb
core.  The arch specific stub should always set the
kgdb_cpu_doing_single_step correctly if it is single stepping.  This
allows kgdb to correctly process an instruction steps if ptrace
happens to be requesting an instruction step over a system call.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
17 years agokgdb: could not write to the last of valid memory with kgdb
Atsuo Igarashi [Fri, 26 Sep 2008 15:36:41 +0000 (10:36 -0500)]
kgdb: could not write to the last of valid memory with kgdb

On the ARM architecture, kgdb will crash the kernel if the last byte
of valid memory is written due to a flush_icache_range flushing
beyond the memory boundary.

Signed-off-by: Atsuo Igarashi <atsuo_igarashi@tripeaks.co.jp>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
17 years agoMerge branch 'linux-next' of git://git.infradead.org/~dedekind/ubifs-2.6
Linus Torvalds [Fri, 26 Sep 2008 15:20:26 +0000 (08:20 -0700)]
Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubifs-2.6

* 'linux-next' of git://git.infradead.org/~dedekind/ubifs-2.6:
  UBIFS: fix printk format warnings
  UBIFS: remove incorrect assert
  UBIFS: TNC / GC race fixes
  UBIFS: create the name of the background thread in every case

17 years agoBtrfs: update space balancing code
Zheng Yan [Fri, 26 Sep 2008 14:09:34 +0000 (10:09 -0400)]
Btrfs: update space balancing code

This patch updates the space balancing code to utilize the new
backref format.  Before, btrfs-vol -b would break any COW links
on data blocks or metadata.  This was slow and caused the amount
of space used to explode if a large number of snapshots were present.

The new code can keeps the sharing of all data extents and
most of the tree blocks.

To maintain the sharing of data extents, the space balance code uses
a seperate inode hold data extent pointers, then updates the references
to point to the new location.

To maintain the sharing of tree blocks, the space balance code uses
reloc trees to relocate tree blocks in reference counted roots.
There is one reloc tree for each subvol, and all reloc trees share
same root key objectid. Reloc trees are snapshots of the latest
committed roots of subvols (root->commit_root).

To relocate a tree block referenced by a subvol, there are two steps.
COW the block through subvol's reloc tree, then update block pointer in
the subvol to point to the new block. Since all reloc trees share
same root key objectid, doing special handing for tree blocks
owned by them is easy. Once a tree block has been COWed in one
reloc tree, we can use the resulting new block directly when the
same block is required to COW again through other reloc trees.
In this way, relocated tree blocks are shared between reloc trees,
so they are also shared between subvols.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: extent_map and data=ordered fixes for space balancing
Zheng Yan [Fri, 26 Sep 2008 14:05:38 +0000 (10:05 -0400)]
Btrfs: extent_map and data=ordered fixes for space balancing

* Add an EXTENT_BOUNDARY state bit to keep the writepage code
from merging data extents that are in the process of being
relocated.  This allows us to do accounting for them properly.

* The balancing code relocates data extents indepdent of the underlying
inode.  The extent_map code was modified to properly account for
things moving around (invalidating extent_map caches in the inode).

* Don't take the drop_mutex in the create_subvol ioctl.  It isn't
required.

* Fix walking of the ordered extent list to avoid races with sys_unlink

* Change the lock ordering rules.  Transaction start goes outside
the drop_mutex.  This allows btrfs_commit_transaction to directly
drop the relocation trees.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: Add shared reference cache
Zheng Yan [Fri, 26 Sep 2008 14:04:53 +0000 (10:04 -0400)]
Btrfs: Add shared reference cache

Btrfs has a cache of reference counts in leaves, allowing it to
avoid reading tree leaves while deleting snapshots.  To reduce
contention with multiple subvolumes, this cache is private to each
subvolume.

This patch adds shared reference cache support. The new space
balancing code plays with multiple subvols at the same time, So
the old per-subvol reference cache is not well suited.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: allocator fixes for space balancing update
Zheng Yan [Fri, 26 Sep 2008 14:05:48 +0000 (10:05 -0400)]
Btrfs: allocator fixes for space balancing update

* Reserved extent accounting:  reserved extents have been
allocated in the rbtrees that track free space but have not
been allocated on disk.  They were never properly accounted for
in the past, making it hard to know how much space was really free.

* btrfs_find_block_group used to return NULL for block groups that
had been removed by the space balancing code.  This made it hard
to account for space during the final stages of a balance run.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agox86, pci-hotplug, calgary / rio: fix EBDA ioremap()
Ingo Molnar [Fri, 26 Sep 2008 09:40:53 +0000 (11:40 +0200)]
x86, pci-hotplug, calgary / rio: fix EBDA ioremap()

IO resource and ioremap debugging uncovered this ioremap() done
by drivers/pci/hotplug/ibmphp_ebda.c:

initcall pci_hotplug_init+0x0/0x41 returned 0 after 3 msecs
calling  ibmphp_init+0x0/0x360 @ 1
ibmphpd: IBM Hot Plug PCI Controller Driver version: 0.6
resource map sanity check conflict: 0x9f800 0xaf5e7 0x9f800 0x9ffff reserved
------------[ cut here ]------------
WARNING: at arch/x86/mm/ioremap.c:175 __ioremap_caller+0x5c/0x226()
Pid: 1, comm: swapper Not tainted 2.6.27-rc7-tip-00914-g347b10f-dirty #36038
 [<c013a72d>] warn_on_slowpath+0x41/0x68
 [<c0156f00>] ? __lock_acquire+0x9ba/0xa7f
 [<c012158c>] ? do_flush_tlb_all+0x0/0x59
 [<c015ac31>] ? smp_call_function_mask+0x74/0x17d
 [<c012158c>] ? do_flush_tlb_all+0x0/0x59
 [<c013b228>] ? printk+0x1a/0x1c
 [<c013f302>] ? iomem_map_sanity_check+0x82/0x8c
 [<c0a773e8>] ? _read_unlock+0x22/0x25
 [<c013f302>] ? iomem_map_sanity_check+0x82/0x8c
 [<c0154e17>] ? trace_hardirqs_off+0xb/0xd
 [<c0127731>] __ioremap_caller+0x5c/0x226
 [<c0156158>] ? trace_hardirqs_on+0xb/0xd
 [<c012767d>] ? iounmap+0x9d/0xa5
 [<c01279dd>] ioremap_nocache+0x15/0x17
 [<c0403c42>] ? ioremap+0xd/0xf
 [<c0403c42>] ioremap+0xd/0xf
 [<c0f1928f>] ibmphp_access_ebda+0x60/0xa0e
 [<c0f17f64>] ibmphp_init+0xb5/0x360
 [<c0101057>] do_one_initcall+0x57/0x138
 [<c0f17eaf>] ? ibmphp_init+0x0/0x360
 [<c0156158>] ? trace_hardirqs_on+0xb/0xd
 [<c0148d75>] ? __queue_work+0x2b/0x30
 [<c0f17eaf>] ? ibmphp_init+0x0/0x360
 [<c0f015a0>] kernel_init+0x17b/0x1e2
 [<c0f01425>] ? kernel_init+0x0/0x1e2
 [<c01178b3>] kernel_thread_helper+0x7/0x10
 =======================
---[ end trace a7919e7f17c0a725 ]---
initcall ibmphp_init+0x0/0x360 returned -19 after 144 msecs
calling  zt5550_init+0x0/0x6a @ 1

the problem is this code:

        io_mem = ioremap (ebda_seg<<4, 65000);

it assumes that the EBDA is 65000 bytes. But BIOS EBDA pointers are
at most 1K large.

_if_ the Rio code truly extends upon the customary EBDA size it needs
to iounmap() this memory and ioremap() it larger, once it knows it from
the generic descriptors that a Rio system is around.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoGFS2: Support for I/O barriers
Steven Whitehouse [Fri, 26 Sep 2008 09:23:22 +0000 (10:23 +0100)]
GFS2: Support for I/O barriers

This patch adds barrier support to GFS2. There is not a lot of change
really... we just add the barrier flag when we write journal header
blocks. If the underlying device refuses to support them, we fall back
to the previous way of doing things (wait for the I/O and hope) since
there is nothing else we can do. There is no user configuration,
barriers will always be on unless the device refuses to support them.
This seems a reasonable solution to me since this is a correctness
issue.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
17 years agoIO resources, x86: ioremap sanity check to catch mapping requests exceeding, fix
Ingo Molnar [Fri, 26 Sep 2008 08:10:12 +0000 (10:10 +0200)]
IO resources, x86: ioremap sanity check to catch mapping requests exceeding, fix

fix this build error:

 kernel/resource.c: In function 'iomem_map_sanity_check':
 kernel/resource.c:842: error: implicit declaration of function 'r_next'
 kernel/resource.c:842: warning: assignment makes pointer from integer without a cast

r_next() was only available if CONFIG_PROCFS was enabled.

and fix this build warning:

 kernel/resource.c:855: warning: format '%llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t'
 kernel/resource.c:855: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'long unsigned int'
 kernel/resource.c:855: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'
 kernel/resource.c:855: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'resource_size_t'

resource_t can be 32 bits.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoIO resources, x86: ioremap sanity check to catch mapping requests exceeding the BAR...
Suresh Siddha [Fri, 26 Sep 2008 01:43:34 +0000 (18:43 -0700)]
IO resources, x86: ioremap sanity check to catch mapping requests exceeding the BAR sizes

Go through the iomem resource tree to check if any of the ioremap()
requests span more than any slot in the iomem resource tree and do
a WARN_ON() if we hit this check.

This will raise a red-flag, if some driver is mapping more than what
is needed. And hopefully identify possible corruptions much earlier.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years ago[ARM] Orion: Add Buffalo Linkstation Mini power-off method
Alexey Kopytko [Fri, 26 Sep 2008 02:13:39 +0000 (11:13 +0900)]
[ARM] Orion: Add Buffalo Linkstation Mini power-off method

This patch adds specific power-off method for Buffalo Linkstation Mini
board. The board has a hardware switch which should be monitored from
userspace. When the switch is in OFF position the board should be rebooted
and U-Boot will start in an idle mode and wait for the user to move the
power switch back to ON position.

Signed-off-by: Alexey Kopytko <alexey@kopytko.ru>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
17 years ago[XFS] Remove xfs_iext_irec_compact_full()
Lachlan McIlroy [Fri, 26 Sep 2008 02:17:57 +0000 (12:17 +1000)]
[XFS] Remove xfs_iext_irec_compact_full()

Yet another bug was found in xfs_iext_irec_compact_full() and while the
source of the bug was found it wasn't an easy task to track it down
because the conditions are very difficult to reproduce.

A HUGE thank-you goes to Russell Cattelan and Eric Sandeen for their
significant effort in tracking down the source of this corruption.

xfs_iext_irec_compact_full() and xfs_iext_irec_compact_pages() are almost
identical - they both compact indirect extent lists by moving extents from
subsequent buffers into earlier ones. xfs_iext_irec_compact_pages() only
moves extents if all of the extents in the next buffer will fit into the
empty space in the buffer before it. xfs_iext_irec_compact_full() will go
a step further and move part of the next buffer if all the extents wont
fit. It will then shift the remaining extents in the next buffer up to the
start of the buffer. The bug here was that we did not update er_extoff and
this caused extent list corruption.

It does not appear that this extra functionality gains us much. Calling
xfs_iext_irec_compact_pages() instead will do a good enough job at
compacting the indirect list and will be quicker too.

For the case in xfs_iext_indirect_to_direct() the total number of extents
in the indirect list will fit into one buffer so we will never need the
extra functionality of xfs_iext_irec_compact_full() there.

Also xfs_iext_irec_compact_pages() doesn't need to do a memmove() (the
buffers will never overlap) so we don't want the performance hit that can
incur.

SGI-PV: 987159

SGI-Modid: xfs-linux-melb:xfs-kern:32166a

Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
17 years ago[XFS] Fix extent list corruption in xfs_iext_irec_compact_full().
Lachlan McIlroy [Fri, 26 Sep 2008 02:16:46 +0000 (12:16 +1000)]
[XFS] Fix extent list corruption in xfs_iext_irec_compact_full().

If we don't move all the records from the next buffer into the current
buffer then we need to update the er_extoff field of the next buffer as we
shift the remaining records to the start of the buffer.

SGI-PV: 987159

SGI-Modid: xfs-linux-melb:xfs-kern:32165a

Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Signed-off-by: Russell Cattelan <cattelan@thebarn.com>
17 years agobq27x00_battery: use unaligned access helper
Harvey Harrison [Mon, 22 Sep 2008 21:53:50 +0000 (14:53 -0700)]
bq27x00_battery: use unaligned access helper

Remove hand-rolled get_unaligned_be16, this points to a possible bug as
bq27x00_read does another endian byteswap which sparse notices:

drivers/power/bq27x00_battery.c:81:14: warning: cast to restricted __be16
Which should probably be checked.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Cc: Rodolfo Giometti <giometti@linux.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
17 years agopower_supply: fix dependency of tosa_battery
Dmitry Baryshkov [Mon, 22 Sep 2008 21:06:01 +0000 (14:06 -0700)]
power_supply: fix dependency of tosa_battery

tosa_battery should also depend on wm97xx_ts as it uses dac-accessing
functions from that module.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>