Skip to content

Commit

Permalink
Merge branch 'for-linus' of git://git.infradead.org/ubi-2.6
Browse files Browse the repository at this point in the history
* 'for-linus' of git://git.infradead.org/ubi-2.6:
  UBI: remove unused variable
  UBI: add me to MAINTAINERS
  JFFS2: add UBI support
  UBI: Unsorted Block Images
  • Loading branch information
Linus Torvalds committed Apr 27, 2007
2 parents ea6db58 + d468a03 commit b928ed5
Show file tree
Hide file tree
Showing 30 changed files with 12,114 additions and 0 deletions.
8 changes: 8 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2246,6 +2246,14 @@ L: linux-mtd@lists.infradead.org
T: git git://git.infradead.org/mtd-2.6.git
S: Maintained

UNSORTED BLOCK IMAGES (UBI)
P: Artem Bityutskiy
M: dedekind@infradead.org
W: http://www.linux-mtd.infradead.org/
L: linux-mtd@lists.infradead.org
T: git git://git.infradead.org/ubi-2.6.git
S: Maintained

MICROTEK X6 SCANNER
P: Oliver Neukum
M: oliver@neukum.name
Expand Down
2 changes: 2 additions & 0 deletions drivers/mtd/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -292,5 +292,7 @@ source "drivers/mtd/nand/Kconfig"

source "drivers/mtd/onenand/Kconfig"

source "drivers/mtd/ubi/Kconfig"

endmenu

2 changes: 2 additions & 0 deletions drivers/mtd/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,5 @@ nftl-objs := nftlcore.o nftlmount.o
inftl-objs := inftlcore.o inftlmount.o

obj-y += chips/ maps/ devices/ nand/ onenand/

obj-$(CONFIG_MTD_UBI) += ubi/
58 changes: 58 additions & 0 deletions drivers/mtd/ubi/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# drivers/mtd/ubi/Kconfig

menu "UBI - Unsorted block images"
depends on MTD

config MTD_UBI
tristate "Enable UBI"
depends on MTD
select CRC32
help
UBI is a software layer above MTD layer which admits of LVM-like
logical volumes on top of MTD devices, hides some complexities of
flash chips like wear and bad blocks and provides some other useful
capabilities. Please, consult the MTD web site for more details
(www.linux-mtd.infradead.org).

config MTD_UBI_WL_THRESHOLD
int "UBI wear-leveling threshold"
default 4096
range 2 65536
depends on MTD_UBI
help
This parameter defines the maximum difference between the highest
erase counter value and the lowest erase counter value of eraseblocks
of UBI devices. When this threshold is exceeded, UBI starts performing
wear leveling by means of moving data from eraseblock with low erase
counter to eraseblocks with high erase counter. Leave the default
value if unsure.

config MTD_UBI_BEB_RESERVE
int "Percentage of reserved eraseblocks for bad eraseblocks handling"
default 1
range 0 25
depends on MTD_UBI
help
If the MTD device admits of bad eraseblocks (e.g. NAND flash), UBI
reserves some amount of physical eraseblocks to handle new bad
eraseblocks. For example, if a flash physical eraseblock becomes bad,
UBI uses these reserved physical eraseblocks to relocate the bad one.
This option specifies how many physical eraseblocks will be reserved
for bad eraseblock handling (percents of total number of good flash
eraseblocks). If the underlying flash does not admit of bad
eraseblocks (e.g. NOR flash), this value is ignored and nothing is
reserved. Leave the default value if unsure.

config MTD_UBI_GLUEBI
bool "Emulate MTD devices"
default n
depends on MTD_UBI
help
This option enables MTD devices emulation on top of UBI volumes: for
each UBI volumes an MTD device is created, and all I/O to this MTD
device is redirected to the UBI volume. This is handy to make
MTD-oriented software (like JFFS2) work on top of UBI. Do not enable
this if no legacy software will be used.

source "drivers/mtd/ubi/Kconfig.debug"
endmenu
104 changes: 104 additions & 0 deletions drivers/mtd/ubi/Kconfig.debug
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
comment "UBI debugging options"
depends on MTD_UBI

config MTD_UBI_DEBUG
bool "UBI debugging"
depends on SYSFS
depends on MTD_UBI
select DEBUG_FS
select KALLSYMS_ALL
help
This option enables UBI debugging.

config MTD_UBI_DEBUG_MSG
bool "UBI debugging messages"
depends on MTD_UBI_DEBUG
default n
help
This option enables UBI debugging messages.

config MTD_UBI_DEBUG_PARANOID
bool "Extra self-checks"
default n
depends on MTD_UBI_DEBUG
help
This option enables extra checks in UBI code. Note this slows UBI down
significantly.

config MTD_UBI_DEBUG_DISABLE_BGT
bool "Do not enable the UBI background thread"
depends on MTD_UBI_DEBUG
default n
help
This option switches the background thread off by default. The thread
may be also be enabled/disabled via UBI sysfs.

config MTD_UBI_DEBUG_USERSPACE_IO
bool "Direct user-space write/erase support"
default n
depends on MTD_UBI_DEBUG
help
By default, users cannot directly write and erase individual
eraseblocks of dynamic volumes, and have to use update operation
instead. This option enables this capability - it is very useful for
debugging and testing.

config MTD_UBI_DEBUG_EMULATE_BITFLIPS
bool "Emulate flash bit-flips"
depends on MTD_UBI_DEBUG
default n
help
This option emulates bit-flips with probability 1/50, which in turn
causes scrubbing. Useful for debugging and stressing UBI.

config MTD_UBI_DEBUG_EMULATE_WRITE_FAILURES
bool "Emulate flash write failures"
depends on MTD_UBI_DEBUG
default n
help
This option emulates write failures with probability 1/100. Useful for
debugging and testing how UBI handlines errors.

config MTD_UBI_DEBUG_EMULATE_ERASE_FAILURES
bool "Emulate flash erase failures"
depends on MTD_UBI_DEBUG
default n
help
This option emulates erase failures with probability 1/100. Useful for
debugging and testing how UBI handlines errors.

menu "Additional UBI debugging messages"
depends on MTD_UBI_DEBUG

config MTD_UBI_DEBUG_MSG_BLD
bool "Additional UBI initialization and build messages"
default n
depends on MTD_UBI_DEBUG
help
This option enables detailed UBI initialization and device build
debugging messages.

config MTD_UBI_DEBUG_MSG_EBA
bool "Eraseblock association unit messages"
default n
depends on MTD_UBI_DEBUG
help
This option enables debugging messages from the UBI eraseblock
association unit.

config MTD_UBI_DEBUG_MSG_WL
bool "Wear-leveling unit messages"
default n
depends on MTD_UBI_DEBUG
help
This option enables debugging messages from the UBI wear-leveling
unit.

config MTD_UBI_DEBUG_MSG_IO
bool "Input/output unit messages"
default n
depends on MTD_UBI_DEBUG
help
This option enables debugging messages from the UBI input/output unit.

endmenu # UBI debugging messages
7 changes: 7 additions & 0 deletions drivers/mtd/ubi/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
obj-$(CONFIG_MTD_UBI) += ubi.o

ubi-y += vtbl.o vmt.o upd.o build.o cdev.o kapi.o eba.o io.o wl.o scan.o
ubi-y += misc.o

ubi-$(CONFIG_MTD_UBI_DEBUG) += debug.o
ubi-$(CONFIG_MTD_UBI_GLUEBI) += gluebi.o
Loading

0 comments on commit b928ed5

Please sign in to comment.