- 24 Mar, 2009 1 commit
-
-
David Howells authored
Add support for direct mapping through mtdconcat, if possible, by attaching the samebacking_dev_info structure to the master. It has some restrictions: (1) It won't permit direct mapping of concatenated devices that have differing BDIs. (2) It doesn't support maps that span the 'gap' between devices, although it possibly could if the devices spanned across return compatible (ie. contiguous) addresses from their get_unmapped_area() ops. Signed-off-by:
Gavin Lambert <gavinl@compacsort.com> Signed-off-by:
David Howells <dhowells@redhat.com> Tested-by:
Bernd Schmidt <bernd.schmidt@analog.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
- 06 Jan, 2009 1 commit
-
-
Kay Sievers authored
CC: David Woodhouse <dwmw2@infradead.org> Signed-off-by:
Kay Sievers <kay.sievers@vrfy.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
- 23 Dec, 2008 1 commit
-
-
Kay Sievers authored
Signed-off-by:
Kay Sievers <kay.sievers@vrfy.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
- 10 Dec, 2008 2 commits
-
-
David Woodhouse authored
Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Adrian Hunter authored
MTD internal API presently uses 32-bit values to represent device size. This patch updates them to 64-bits but leaves the external API unchanged. Extending the external API is a separate issue for several reasons. First, no one needs it at the moment. Secondly, whether the implementation is done with IOCTLs, sysfs or both is still debated. Thirdly external API changes require the internal API to be accepted first. Note that although the MTD API will be able to support 64-bit device sizes, existing drivers do not and are not required to do so, although NAND base has been updated. In general, changing from 32-bit to 64-bit values cause little or no changes to the majority of the code with the following exceptions: - printk message formats - division and modulus of 64-bit values - NAND base support - 32-bit local variables used by mtdpart and mtdconcat - naughtily assuming one structure maps to another in MEMERASE ioctl Signed-off-by:
Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by:
Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
- 12 Aug, 2008 1 commit
-
-
Adrian Hunter authored
Signed-off-by:
Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
- 04 Jun, 2008 1 commit
-
-
Adrian Bunk authored
Once upon a time, the MTD repository was using CVS. This patch therefore removes all usages of the no longer updated CVS keywords from the MTD code. This also includes code that printed them to the user. Signed-off-by:
Adrian Bunk <bunk@kernel.org> Signed-off-by:
David Woodhouse <dwmw2@infradead.org>
-
- 14 Oct, 2007 1 commit
-
-
Chris Paulson-Ellis authored
This allows the mtdconcat driver to work with NAND flash devices that support sub-page writes. Signed-off-by:
Chris Paulson-Ellis <chris@edesix.com> Signed-off-by:
David Woodhouse <dwmw2@infradead.org>
-
- 23 Jul, 2007 1 commit
-
-
David Woodhouse authored
It expects a uint64_t; give it one. Signed-off-by:
David Woodhouse <dwmw2@infradead.org>
-
- 08 Mar, 2007 1 commit
-
-
Vitaly Wool authored
During the MTD rework the oobavail parameter of mtd_info structure has become private. This is not quite correct in terms of integrity and logic. If we have means to write to OOB area, then we'd like to know upfront how many bytes out of OOB are spare per page to be able to adapt to specific cases. The patch inlined adds the public oobavail parameter. Signed-off-by:
Vitaly Wool <vwool@ru.mvista.com> Signed-off-by:
David Woodhouse <dwmw2@infradead.org>
-
- 09 Feb, 2007 1 commit
-
-
Artem Bityutskiy authored
Remove unused and broken mtd->ecctype and mtd->eccsize fields from struct mtd_info. Do not remove them from userspace API data structures (don't want to breake userspace) but mark them as obsolete by a comment. Any userspace program which uses them should be half-broken anyway, so this is more about saving data structure size. Signed-off-by:
Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by:
David Woodhouse <dwmw2@infradead.org>
-
- 29 Nov, 2006 1 commit
-
-
Thomas Gleixner authored
Many SLC NANDs support up to 4 writes at one NAND page. Add support of this feature. Signed-off-by:
Artem Bityutskiy <dedekind@infradead.org>
-
- 28 Nov, 2006 2 commits
-
-
Burman Yan authored
Signed-off-by:
Yan Burman <yan_952@hotmail.com> Signed-off-by:
David Woodhouse <dwmw2@infradead.org>
-
Vitaly Wool authored
As was discussed between Ricard Wanderlöf, David Woodhouse, Artem Bityutskiy and me, the current API for reading/writing OOB is confusing. The thing that introduces confusion is the need to specify ops.len together with ops.ooblen for reads/writes that concern only OOB not data area. So, ops.len is overloaded: when ops.datbuf != NULL it serves to specify the length of the data read, and when ops.datbuf == NULL, it serves to specify the full OOB read length. The patch inlined below is the slightly updated version of the previous patch serving the same purpose, but with the new Artem's comments taken into account. Artem, BTW, thanks a lot for your valuable input! Signed-off-by:
Vitaly Wool <vwool@ru.mvista.com> Signed-off-by:
David Woodhouse <dwmw2@infradead.org>
-
- 29 May, 2006 5 commits
-
-
Thomas Gleixner authored
The raw read/write access to NAND (without ECC) has been changed in the NAND rework. Expose the new way - setting the file mode via ioctl - to userspace. Also allow to read out the ecc statistics information so userspace tools can see that bitflips happened and whether errors where correctable or not. Also expose the number of bad blocks for the partition, so nandwrite can check if the data fits into the parition before writing to it. Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
-
Thomas Gleixner authored
Return -EUCLEAN on read when a bitflip was detected and corrected, so the clients can react and eventually copy the affected block to a spare one. Make all in kernel users aware of the change. Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
-
Thomas Gleixner authored
Hopefully the last iteration on this! The handling of out of band data on NAND was accompanied by tons of fruitless discussions and halfarsed patches to make it work for a particular problem. Sufficiently annoyed by I all those "I know it better" mails and the resonable amount of discarded "it solves my problem" patches, I finally decided to go for the big rework. After removing the _ecc variants of mtd read/write functions the solution to satisfy the various requirements was to refactor the read/write _oob functions in mtd. The major change is that read/write_oob now takes a pointer to an operation descriptor structure "struct mtd_oob_ops".instead of having a function with at least seven arguments. read/write_oob which should probably renamed to a more descriptive name, can do the following tasks: - read/write out of band data - read/write data content and out of band data - read/write raw data content and out of band data (ecc disabled) struct mtd_oob_ops has a mode field, which determines the oob handling mode. Aside of the MTD_OOB_RAW mode, which is intended to be especially for diagnostic purposes and some internal functions e.g. bad block table creation, the other two modes are for mtd clients: MTD_OOB_PLACE puts/gets the given oob data exactly to/from the place which is described by the ooboffs and ooblen fields of the mtd_oob_ops strcuture. It's up to the caller to make sure that the byte positions are not used by the ECC placement algorithms. MTD_OOB_AUTO puts/gets the given oob data automaticaly to/from the places in the out of band area which are described by the oobfree tuples in the ecclayout data structre which is associated to the devicee. The decision whether data plus oob or oob only handling is done depends on the setting of the datbuf member of the data structure. When datbuf == NULL then the internal read/write_oob functions are selected, otherwise the read/write data routines are invoked. Tested on a few platforms with all variants. Please be aware of possible regressions for your particular device / application scenario Disclaimer: Any whining will be ignored from those who just contributed "hot air blurb" and never sat down to tackle the underlying problem of the mess in the NAND driver grown over time and the big chunk of work to fix up the existing users. The problem was not the holiness of the existing MTD interfaces. The problems was the lack of time to go for the big overhaul. It's easy to add more mess to the existing one, but it takes alot of effort to go for a real solution. Improvements and bugfixes are welcome! Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
-
Thomas Gleixner authored
The nand_oobinfo structure is not fitting the newer error correction demands anymore. Replace it by struct nand_ecclayout and fixup the users all over the place. Keep the nand_oobinfo based ioctl for user space compability reasons. Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
-
Thomas Gleixner authored
The info structure for out of band data was copied into the mtd structure. Make it a pointer and remove the ability to set it from userspace. The position of ecc bytes is defined by the hardware and should not be changed by software. Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
-
- 23 May, 2006 2 commits
-
-
Thomas Gleixner authored
MTD clients are agnostic of FLASH which needs ECC suppport. Remove the functions and fixup the callers. Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
-
Thomas Gleixner authored
NAND writev(_ecc) support is not longer necessary. Remove it. Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
-
- 22 May, 2006 1 commit
-
-
Joern Engel authored
At least two flashes exists that have the concept of a minimum write unit, similar to NAND pages, but no other NAND characteristics. Therefore, rename the minimum write unit to "writesize" for all flashes, including NAND. Signed-off-by:
Joern Engel <joern@wh.fh-wedel.de>
-
- 20 May, 2006 1 commit
-
-
Andrew Morton authored
WARNING: "__moddi3" [drivers/mtd/mtdconcat.ko] undefined! Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
David Woodhouse <dwmw2@infradead.org>
-
- 17 May, 2006 2 commits
-
-
David Woodhouse authored
Signed-off-by:
David Woodhouse <dwmw2@infradead.org>
-
Alexander Belyakov authored
There is a second revision of "mtdconcat NAND/Sibley" patch. I hope the patch will not get damaged as I'm posting it from gmail account, thanks to Jorn. The patch adds previously missing concat_writev(), concat_writev_ecc(), concat_block_isbad(), concat_block_markbad() functions to make concatenation layer compatible with Sibley and NAND chips. Patch has been cleared from whitespaces, fixed some lines of code as requested. Also I have added code for alignment check that should support Jorn's "writesize" patch. Signed-off-by:
Alexander Belyakov <alexander.belyakov@intel.com> Signed-off-by:
David Woodhouse <dwmw2@infradead.org>
-
- 26 Mar, 2006 1 commit
-
-
Eric Sesterhenn authored
this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by:
Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by:
Adrian Bunk <bunk@stusta.de>
-
- 07 Nov, 2005 1 commit
-
-
Thomas Gleixner authored
Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
-
- 06 Nov, 2005 1 commit
-
-
Thomas Gleixner authored
While we are at it, reorder the includes and remove the silly /* TASK */ comment Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
-
- 30 Oct, 2005 1 commit
-
-
Tim Schmielau authored
I recently picked up my older work to remove unnecessary #includes of sched.h, starting from a patch by Dave Jones to not include sched.h from module.h. This reduces the number of indirect includes of sched.h by ~300. Another ~400 pointless direct includes can be removed after this disentangling (patch to follow later). However, quite a few indirect includes need to be fixed up for this. In order to feed the patches through -mm with as little disturbance as possible, I've split out the fixes I accumulated up to now (complete for i386 and x86_64, more archs to follow later) and post them before the real patch. This way this large part of the patch is kept simple with only adding #includes, and all hunks are independent of each other. So if any hunk rejects or gets in the way of other patches, just drop it. My scripts will pick it up again in the next round. Signed-off-by:
Tim Schmielau <tim@physik3.uni-rostock.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 16 Apr, 2005 1 commit
-
-
Linus Torvalds authored
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
-