10 Jan, 2009
1 commit
-
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (22 commits)
ioat: fix self test for multi-channel case
dmaengine: bump initcall level to arch_initcall
dmaengine: advertise all channels on a device to dma_filter_fn
dmaengine: use idr for registering dma device numbers
dmaengine: add a release for dma class devices and dependent infrastructure
ioat: do not perform removal actions at shutdown
iop-adma: enable module removal
iop-adma: kill debug BUG_ON
iop-adma: let devm do its job, don't duplicate free
dmaengine: kill enum dma_state_client
dmaengine: remove 'bigref' infrastructure
dmaengine: kill struct dma_client and supporting infrastructure
dmaengine: replace dma_async_client_register with dmaengine_get
atmel-mci: convert to dma_request_channel and down-level dma_slave
dmatest: convert to dma_request_channel
dmaengine: introduce dma_request_channel and private channels
net_dma: convert to dma_find_channel
dmaengine: provide a common 'issue_pending_all' implementation
dmaengine: centralize channel allocation, introduce dma_find_channel
dmaengine: up-level reference counting to the module level
...
07 Jan, 2009
5 commits
-
DMA_NAK is now useless. We can just use a bool instead.
Reviewed-by: Andrew Morton
Signed-off-by: Dan Williams -
All users have been converted to either the general-purpose allocator,
dma_find_channel, or dma_request_channel.Reviewed-by: Andrew Morton
Signed-off-by: Dan Williams -
dma_request_channel provides an exclusive channel, so we no longer need to
pass slave data through dmaengine.Cc: Haavard Skinnemoen
Reviewed-by: Andrew Morton
Signed-off-by: Dan Williams -
Simply, if a client wants any dmaengine channel then prevent all dmaengine
modules from being removed. Once the clients are done re-enable module
removal.Why?, beyond reducing complication:
1/ Tracking reference counts per-transaction in an efficient manner, as
is currently done, requires a complicated scheme to avoid cache-line
bouncing effects.
2/ Per-transaction ref-counting gives the false impression that a
dma-driver can be gracefully removed ahead of its user (net, md, or
dma-slave)
3/ None of the in-tree dma-drivers talk to hot pluggable hardware, but
if such an engine were built one day we still would not need to notify
clients of remove events. The driver can simply return NULL to a
->prep() request, something that is much easier for a client to handle.Reviewed-by: Andrew Morton
Acked-by: Maciej Sosnowski
Signed-off-by: Dan Williams
05 Jan, 2009
1 commit
-
Needed to use the atmel-mci driver in an architecture
independant maner.Signed-off-by: Nicolas Ferre
Signed-off-by: Haavard Skinnemoen
01 Jan, 2009
15 commits
-
Get rid of a silent failure mode when the MMC/SD host doesn't
support the voltages needed to operate a given card, by
adding a warning. A 3.3V host and a 3.0V card, for example,
no longer need to mysteriously just not work at all.This isn't the best diagnostic; ideally it would also tell
what voltage the card and host support (and not just by
dumping the bitmasks).Signed-off-by: David Brownell
Signed-off-by: Pierre Ossman -
The support is implemented via platform data accessors, new module
(of_mmc_spi) will be created automatically when the driver compiles
on OpenFirmware platforms. Link-time dependency will load the module
automatically.Signed-off-by: Anton Vorontsov
Signed-off-by: Pierre Ossman -
dma_unmap_sg should be given the same length as dma_map_sg, not the
value returned from dma_map_sgSigned-off-by: Vernon Sauder
Signed-off-by: Pierre Ossman -
If a card encounters an ECC error while reading a sector it will
timeout. Instead of reporting the entire I/O request as having
an error, redo the I/O one sector at a time so that all readable
sectors are provided to the upper layers.Signed-off-by: Adrian Hunter
Signed-off-by: Pierre Ossman -
In each case, if the NULL test is necessary, then the dereference should be
moved below the NULL test.The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)//
@@
type T;
expression E;
identifier i,fld;
statement S;
@@- T i = E->fld;
+ T i;
... when != E
when != i
if (E == NULL) S
+ i = E->fld;
//Signed-off-by: Julia Lawall
Signed-off-by: Pierre Ossman -
As reported by Randy Dunlap, having sdhci built-in and LEDs class
as a module resulted in undefined symbols. Change the code to handle
that case properly (by not having LEDs class support in sdhci).Signed-off-by: Pierre Ossman
-
balance pci_iomap with pci_iounmap, not iounmap
Signed-off-by: Roel Kluin
Signed-off-by: Pierre Ossman -
Add command response and card status to error
messages.Signed-off-by: Adrian Hunter
Signed-off-by: Pierre Ossman -
This function sets the OCR mask bits according to provided voltage
ranges. Will be used by the mmc_spi OpenFirmware bindings.Signed-off-by: Anton Vorontsov
Signed-off-by: Pierre Ossman -
The latest generation of laptops are shipping with a newer
model of Ricoh chip where the firewire controller is the
primary PCI function but a cardbus controller is also present.The existing code assumes that if a cardbus controller is,
present, then it must be the one to manipulate - but the real
rule is that you manipulate PCI function 0. This patch adds an
additional constraint that the target must be function 0.Signed-off-by: Philip Langdale
Signed-off-by: Pierre Ossman -
Signed-off-by: Jarkko Lavinen
Signed-off-by: Pierre Ossman -
CONFIG_LEDS_CLASS is defined only if led-class is built-in, otherwise
when it is a module the option is called CONFIG_LEDS_CLASS_MODULE. Led
support should also be activated in this case.Signed-off-by: Eric Piel
Signed-off-by: Pierre Ossman -
sg_init_one is reading a be32, annotate as such.
Signed-off-by: Harvey Harrison
Signed-off-by: Pierre Ossman -
Use the new pci_ioremap_bar() function in drivers/mmc.
pci_ioremap_bar() just takes a pci device and a bar number, with the goal
of making it really hard to get wrong, while also having a central place
to stick sanity checks.Signed-off-by: Arjan van de Ven
Signed-off-by: Pierre Ossman
18 Dec, 2008
2 commits
-
…mx/linux-2.6 into devel
-
…d/linux-omap-2.6 into devel
16 Dec, 2008
3 commits
-
Use readl/writel instead of direct pointer deref.
Signed-off-by: Marc Kleine-Budde
Signed-off-by: Sascha Hauer -
This removes clkrt and cmdat from struct imxmci_host, they are
unused.Signed-off-by: Marc Kleine-Budde
Signed-off-by: Sascha Hauer -
This cleans up the warnings issued by the checkpatch script
and remove the file history from the headerSigned-off-by: Marc Kleine-Budde
Signed-off-by: Sascha Hauer
11 Dec, 2008
2 commits
-
Add low-level initialization for hsmmc controller. Merged into
this patch patch are various improvments and board support by
Grazvydas Ignotas and David Brownell.Also change wire4 to be wires, as some newer controllers support
8 data lines.Cc: Pierre Ossman
Signed-off-by: Grazvydas Ignotas
Signed-off-by: David Brownell
Signed-off-by: Tony Lindgren -
This will simplify the MMC low-level init, and make it more
flexible to add support for a newer MMC controller in the
following patches.The patch rearranges platform data and gets rid of slot vs
controller confusion in the old data structures. Also fix
device id numbering in the clock code.Some code snippets are based on an earlier patch by
Russell King .Cc: Pierre Ossman
Signed-off-by: Tony Lindgren
01 Dec, 2008
4 commits
-
Some Ricoh SD card readers seems to advertise themselves slightly differently.
This patches the driver to will recognise an additional product id, and it
appears to work perfectly.% pccardctl info
PRODID_1="RICOH"
PRODID_2="Bay Controller"
PRODID_3=""
PRODID_4=""
MANFID=0000,0000Signed-off-by: Charles Lowe
Acked-by: Sascha Sommer
Signed-off-by: Pierre Ossman -
As said in function comment mmc_add_host() requires that:
"The host must be prepared to start servicing requests
before this function completes."During this function, at91_mci_request() can be invoqued
without timer beeing setup leading to a kernel Oops.
This has been reported inserting this driver as a module.Signed-off-by: Nicolas Ferre
Reported-by: Wu Xuan
Signed-off-by: Pierre Ossman -
Where devices only have one consumer, passing a consumer clock ID
has no real benefit, and it only encourages wrong implementations of
the clk API. Remove it.Signed-off-by: Russell King
30 Nov, 2008
2 commits
-
When ISA_DMA_API is unset, we're not implementing the ISA DMA API,
so there's no point in publishing the prototypes via asm/dma.h, nor
including the machine dependent parts of that API.This allows us to remove a lot of mach/dma.h files which don't contain
any useful code. Unfortunately though, some platforms put their own
private non-ISA definitions into mach/dma.h, so we leave these behind
and fix the appropriate #include statments.Signed-off-by: Russell King
29 Nov, 2008
1 commit
-
Avoid unnecessarily pollution of the kernel's namespace by avoiding
mach/hardware.h. Include this header file where necessary.Signed-off-by: Russell King
27 Nov, 2008
1 commit
-
Where devices only have one consumer, passing a consumer clock ID
has no real benefit. Remove it.Signed-off-by: Russell King
09 Nov, 2008
2 commits
-
Acked-by: Greg Kroah-Hartman
Signed-Off-By: Kay Sievers
Signed-off-by: Pierre Ossman -
It seems that some cards are slightly out of spec and occasionally
will not be able to complete a write in the alloted 250 ms [1].
Incease the timeout slightly to allow even these cards to function
properly.[1] http://lkml.org/lkml/2008/9/23/390
Signed-off-by: Pierre Ossman
03 Nov, 2008
1 commit
-
…linux-2.6 into s3c-moves2