linux-stable/drivers/mmc/core
Christoph Hellwig 2a842acab1 block: introduce new block status code type
Currently we use nornal Linux errno values in the block layer, and while
we accept any error a few have overloaded magic meanings.  This patch
instead introduces a new  blk_status_t value that holds block layer specific
status codes and explicitly explains their meaning.  Helpers to convert from
and to the previous special meanings are provided for now, but I suspect
we want to get rid of them in the long run - those drivers that have a
errno input (e.g. networking) usually get errnos that don't know about
the special block layer overloads, and similarly returning them to userspace
will usually return somethings that strictly speaking isn't correct
for file system operations, but that's left as an exercise for later.

For now the set of errors is a very limited set that closely corresponds
to the previous overloaded errno values, but there is some low hanging
fruite to improve it.

blk_status_t (ab)uses the sparse __bitwise annotations to allow for sparse
typechecking, so that we can easily catch places passing the wrong values.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
2017-06-09 09:27:32 -06:00
..
block.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
block.h mmc: block: stop passing around pointless return values 2017-02-13 13:20:40 +01:00
bus.c mmc: core: Move public functions from host.h to private headers 2017-02-13 13:20:25 +01:00
bus.h mmc: core: Move public functions from card.h to private headers 2017-02-13 13:20:24 +01:00
card.h mmc: core: change quirks.c to be a header file 2017-02-15 11:34:26 +01:00
core.c mmc: core: Export API to allow hosts to get the card address 2017-04-24 21:49:15 +02:00
core.h mmc: core: Rename __mmc_set_signal_voltage() to mmc_set_signal_voltage() 2017-02-13 13:20:43 +01:00
debugfs.c mmc: core: Move public functions from host.h to private headers 2017-02-13 13:20:25 +01:00
host.c mmc: core: fix error path in mmc_host_alloc 2017-02-13 13:20:48 +01:00
host.h mmc: core: Move public functions from host.h to private headers 2017-02-13 13:20:25 +01:00
Kconfig mmc: pwrseq: add support for Marvell SD8787 chip 2017-02-13 13:20:33 +01:00
Makefile mmc: core: change quirks.c to be a header file 2017-02-15 11:34:26 +01:00
mmc.c mmc: mmc_test: Disable Command Queue while mmc_test is used 2017-04-24 21:42:02 +02:00
mmc_ops.c mmc: core: add proper be32 annotation 2017-04-24 21:42:19 +02:00
mmc_ops.h mmc: mmc: Add functions to enable / disable the Command Queue 2017-04-24 21:42:02 +02:00
mmc_test.c mmc: mmc_test: Disable Command Queue while mmc_test is used 2017-04-24 21:42:02 +02:00
pwrseq.c mmc: pwrseq: convert to proper platform device 2016-05-02 10:33:30 +02:00
pwrseq.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
pwrseq_emmc.c mmc: pwrseq: convert to proper platform device 2016-05-02 10:33:30 +02:00
pwrseq_sd8787.c mmc: pwrseq: add support for Marvell SD8787 chip 2017-02-13 13:20:33 +01:00
pwrseq_simple.c mmc: pwrseq_simple: Parse DTS for the power-off-delay-us property 2017-05-23 14:17:36 +02:00
queue.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
queue.h mmc: queue: Share mmc request array between partitions 2017-04-24 21:42:01 +02:00
quirks.h mmc: core: add mmc prefix for blk_fixups 2017-02-15 11:34:27 +01:00
sd.c mmc: core: add proper be32 annotation 2017-04-24 21:42:19 +02:00
sd.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
sd_ops.c mmc: core: add proper be32 annotation 2017-04-24 21:42:19 +02:00
sd_ops.h mmc: core: add proper be32 annotation 2017-04-24 21:42:19 +02:00
sdio.c mmc: core: improve the quirks for sdio devices 2017-02-15 11:34:26 +01:00
sdio_bus.c mmc: sdio: fix alignment issue in struct sdio_func 2017-04-18 19:18:07 +02:00
sdio_bus.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
sdio_cis.c mmc: core: remove BUG_ONs from sdio 2016-12-05 10:31:08 +01:00
sdio_cis.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
sdio_io.c mmc: core: simplify return code 2017-04-24 21:41:24 +02:00
sdio_irq.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
sdio_ops.c mmc: sdio: improve mmc_io_rw_extended 2017-04-24 21:41:42 +02:00
sdio_ops.h mmc: sdio: Fix sdio wait busy implement limitation 2017-04-24 21:45:09 +02:00
sdio_uart.c mmc: block: Move files to core 2016-12-12 16:30:05 +01:00
slot-gpio.c mmc: slot-gpio: Don't override con_id when request descriptor 2017-02-13 13:20:06 +01:00
slot-gpio.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00