Commit graph

97,731 commits

Message SHA1
[MTD] Fix unregister_mtd_user() public function documentation.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Artem B. Bityuckiy   authored and   Thomas Gleixner   commited 2005-05-23 12:41:03 +02:00
4945079584
[MTD] Update BAST driver configuration
update the BAST driver config (which already supports the vr1000) to
be selected only if the vr1000 has been configured

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Ben Dooks   authored and   Thomas Gleixner   commited 2005-05-23 12:40:28 +02:00
7685359656
[MTD] Make OTP actually work.
The OTP code is rather broken without this.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Nicolas Pitre   authored and   Thomas Gleixner   commited 2005-05-23 12:39:55 +02:00
332d71f768
[JFFS2] Fix node lookup
Look the ref->next_phys field instead of ->next_in_ino to determine
if the block has more then one node.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Artem B. Bityuckiy   authored and   Thomas Gleixner   commited 2005-05-23 12:39:35 +02:00
b81226c5d5
[MTD] NAND: Fix bad block table scan for small page devices
Scan 1st and 2nd pages of SP devices for BB marker by default.
Fix more then one page scanning in create_bbt.c.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Artem B. Bityuckiy   authored and   Thomas Gleixner   commited 2005-05-23 12:38:33 +02:00
171650af9c
[MTD] Quiet unused variable warning
Signed-off-by: Nioclas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Nicolas Pitre   authored and   Thomas Gleixner   commited 2005-05-23 12:37:52 +02:00
f16407d73e
[MTD] NAND: Early Manufacturer ID lookup
Move manufacturer ID search to display correct ID in case of buswidth
mismatch.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Kyungmin Park   authored and   Thomas Gleixner   commited 2005-05-23 12:36:30 +02:00
0ea4a7558f
[MTD] Add SST 39VF1601 (MPF+) ID
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Ben Dooks   authored and   Thomas Gleixner   commited 2005-05-23 12:34:00 +02:00
88ec7c50bf
[MTD] Fixup probing logic for single 16bit devices
The change to the generic probe to look for the
smallest width of chip first is causing some problems
on boards with a single 16bit device.

The problem seems to be the jedec_match() is truncating
the device-id read from the table to match against the
one read from the hardware, causing a match against the
partial id of some chips with 16bit IDs (such as the
SST39LF160)

This fixes things for my own board, but something may
need to be done if the same problem is exhibited for
chips with an 8bit ID

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Ben Dooks   authored and   Thomas Gleixner   commited 2005-05-23 12:33:26 +02:00
011b2a3627
[MTD] NAND: Read only OOB bytes during bad block scan
When scanning NAND for bad blocks, don't read the whole page, read
only needed OOB bytes instead. Also check the return code of the
nand_read_raw() function. Correctly free the this->bbt array in
case of failure. Tested with Large page NAND.

Fix debugging message.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Artem B. Bityuckiy   authored and   Thomas Gleixner   commited 2005-05-23 12:32:18 +02:00
eeada24da8
[MTD] NAND: Allow operation without bad block table
Small bugfix. Sometimes it may be handy not to have bbt.
So, this->bbt might be NULL.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Artem B. Bityuckiy   authored and   Thomas Gleixner   commited 2005-05-23 12:31:01 +02:00
41ce921440
[MTD] NAND: Skip bad block table scan on request
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Thomas Gleixner   commited 2005-05-23 12:30:07 +02:00
0040bf382c
[JFFS2] Use a single config option for write buffer support
This patch replaces the current CONFIG_JFFS2_FS_NAND, CONFIG_JFFS2_FS_NOR_ECC
and CONFIG_JFFS2_FS_DATAFLASH with a single configuration option -
CONFIG_JFFS2_FS_WRITEBUFFER.

The only functional change of this patch is that the slower div/mod
calculations for SECTOR_ADDR(), PAGE_DIV() and PAGE_MOD() are now always
used when CONFIG_JFFS2_FS_WRITEBUFFER is enabled.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Andrew Victor   authored and   Thomas Gleixner   commited 2005-05-23 12:29:43 +02:00
2f82ce1eb6
[JFFS2] Add support for JFFS2-on-Dataflash devices.
For Dataflash, can_mark_obsolete = false and the NAND write buffering
code (wbuf.c) is used.

Since the DataFlash chip will automatically erase pages when writing,
the cleanmarkers are not needed - so cleanmarker_oob = false and
cleanmarker_size = 0

DataFlash page-sizes are not a power of two (they're multiples of 528
bytes).  The SECTOR_ADDR macro (added in the previous core patch) is
replaced with a (slower) div/mod version if CONFIG_JFFS2_FS_DATAFLASH is
selected.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Andrew Victor   authored and   Thomas Gleixner   commited 2005-05-23 12:28:03 +02:00
8f15fd55f9
[JFFS2] Core changes required to support JFFS2-on-Dataflash devices.
DataFlash page-sizes are not a power of two (they're multiples of 528
bytes).  There are a few places in JFFS2 code where sector_size is used
as a bitmask.  A new macro (SECTOR_ADDR) was defined to calculate these
sector addresses. For non-DataFlash devices, the original (faster)
bitmask operation is still used.

In scan.c, the EMPTY_SCAN_SIZE was a constant of 1024.
Since this could be larger than the sector size of the DataFlash, this
is now basically set to MIN(sector_size, 1024).

Addition of a jffs2_is_writebuffered() macro.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Andrew Victor   authored and   Thomas Gleixner   commited 2005-05-23 12:27:09 +02:00
3be36675d4
[MTD] Unabuse file-f_mode for OTP purpose
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Nicolas Pitre   authored and   Thomas Gleixner   commited 2005-05-23 12:26:40 +02:00
045e9a5d51
[MTD] User interface to Protection Registers
This is implemented using a ioctl to switch the MTD char device into
one of the different OTP "modes", at which point read/write/seek can
operate on the selected OTP area.  Also some extra ioctls to query
for size and lock protection segments or groups.  Some example user
space utilities are provided.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Nicolas Pitre   authored and   Thomas Gleixner   commited 2005-05-23 12:26:04 +02:00
31f4233bae
[MTD] Support for protection register support on Intel FLASH chips
This enables support for reading, writing and locking so called
"Protection Registers" present on some flash chips.
A subset of them are pre-programmed at the factory with a
unique set of values. The rest is user-programmable.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Nicolas Pitre   authored and   Thomas Gleixner   commited 2005-05-23 12:25:23 +02:00
f77814dd57
[JFFS2] Prevent deadlock during write buffer recovery
Prevent deadlock when checking erased block for
space allocation during wbuf recovery.

Signed-off-by: Estelle Hammache <estelle.hammache@st.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Estelle Hammache   authored and   Thomas Gleixner   commited 2005-05-23 12:23:54 +02:00
67d9e95c39
[MTD] Add OTP basisc
add structure definition for OTP region info

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Nicolas Pitre   authored and   Thomas Gleixner   commited 2005-05-23 12:22:37 +02:00
72b56a2d7d
[MTD] amd_flash: Fix chip ID clash
* Removed table entry for AM29BDS643D, since device ID clashes with AM29DL640G
and both chips support CFI.

Signed-off-by: Jonas Holmberg <jonas.holmberg@axis.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Jonas Holmberg   authored and   Thomas Gleixner   commited 2005-05-23 12:21:41 +02:00
322b12eb57
[JFFS2] Remove NAND dependencies for NOR FLASH
make NAND code work on NOR flash again

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

David Woodhouse   authored and   Thomas Gleixner   commited 2005-05-23 12:20:43 +02:00
8aee6ac144
[MTD] DiskOnChip: big endian fix for NFTL devices
Make NFTL devices work on big endian machines.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Thomas Gleixner   commited 2005-05-23 12:18:59 +02:00
f29a4b86f5
[MTD] DiskOnChip code cleanup
Remove commented ugliness

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Thomas Gleixner   commited 2005-05-23 12:17:42 +02:00
39605398cd
[MTD] DiskOnChip use CONFIG_ options instead of random symbols
Using the CONFIG_ options from KConfig seems to work better :8

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Thomas Gleixner   commited 2005-05-23 12:17:03 +02:00
651078ba3a
[JFFS2] Code cleanup
Code beautification and block filing correction for optimization.

Signed-off-by: Estelle Hammache <estelle.hammache@st.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Estelle Hammache   authored and   Thomas Gleixner   commited 2005-05-23 12:16:06 +02:00
9b88f47390
[MTD] Fix MTD device probing
Try larger numbers of chips before smaller
numbers of chips across the bus width.

This means we'll avoid misdetecting a 2 x16 array as 1 x32 if the
high 16-bits happen to read as zeros in the QRY area.

Signed-off-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Russell King   authored and   Thomas Gleixner   commited 2005-05-23 12:15:15 +02:00
6170b43401
[JFFS2] Fix refile of blocks due to write failure.
avoid segfault when nextblock was refiled because of a write failure
- avoid filing blocks on the clean list when they have wasted
space

Signed-off-by: Estelle Hammache <estelle.hammache@st.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Estelle Hammache   authored and   Thomas Gleixner   commited 2005-05-23 12:14:34 +02:00
3118db3dfe
[JFFS2] Fix block refiling
- block refiling when writing directly to flash a buffer
which is bigger than wbuf
- retry cases for flushing wbuf

Signed-off-by: Estelle Hammache <estelle.hammache@st.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Estelle Hammache   authored and   Thomas Gleixner   commited 2005-05-23 12:12:13 +02:00
7f716cf3f9
[JFFS2] Fix write buffer retry case
Correction of retry case to avoid silent failure of rmdir
when jffs2_wbuf_recover GCs the previous entry (+ corresponding
dnode case).

Signed-off-by: Estelle Hammache <estelle.hammache@st.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Estelle Hammache   authored and   Thomas Gleixner   commited 2005-05-23 12:11:28 +02:00
e4803c30d6
[MTD] rtc_from4 error status check, disable virtual erase blocks
Added routine to perform extra error status checks on erase and write
failures to determine if errors are correctable.
Added option to prevent JFFS2 from using virtual erase blocks.
Performed minor cleanup on whitespace and comments.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

David A. Marlin   authored and   Thomas Gleixner   commited 2005-05-23 12:10:36 +02:00
ed3786a599
[MTD] NAND Add optional ECC status check callback
Add optional hardware specific callback routine to perform extra error
status checks on erase and write failures for devices with hardware ECC.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

David A. Marlin   authored and   Thomas Gleixner   commited 2005-05-23 12:08:59 +02:00
068e3c0a00
[MTD] Platform RAM Driver
Driver for generic RAM blocks which are exported by an platform_device
from the device driver system.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Ben Dooks   authored and   Thomas Gleixner   commited 2005-05-23 11:33:47 +02:00
99f2a8aea1
[MTD] NAND use symbols instead of literals
Replace some literals with defined symbols.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

David A. Marlin   authored and   Thomas Gleixner   commited 2005-05-23 11:32:36 +02:00
a4ab4c5d32
[MTD] NAND SharpSL fix default partition size
Correct Poodle default partition size

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Richard Purdie   authored and   Thomas Gleixner   commited 2005-05-23 11:31:47 +02:00
7ba48c4583
[JFFS2] Avoid warning for empty filesystems
Avoid "Eep. No valid nodes for ino #1" message for just-created filesystem.

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Todd Poynor   authored and   Thomas Gleixner   commited 2005-05-23 11:30:31 +02:00
8fabed4a0f
[MTD] NAND replace yield
Replace yield by msleep. M.Wilcox stared at it and frowned

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Thomas Gleixner   commited 2005-05-23 11:29:39 +02:00
15266bb74d
[MTD] bast-flash partitions fixup
Ensure the whole device is added if there are no partitions found on the
device, so that at least the flash can be read/written.

Replace some of the constants with their SZ_xxx counterparts

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Ben Dooks   authored and   Thomas Gleixner   commited 2005-05-23 11:28:55 +02:00
6fc93d8ca7
[MTD] Renesas AG-AND device recovery
Add routine to perform device recovery (deplete) procedure.
Clean up some compiler warnings.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

David A. Marlin   authored and   Thomas Gleixner   commited 2005-05-23 11:27:56 +02:00
97f1a087dc
[MTD] NAND workaround for AG-AND disturb issue. AG-AND recovery
Added workaround for Renesas AG-AND chips "disturb" issue 
for Bad Block Table. 
Added support for the device recovery command sequence 
for Renesas AG-AND chips.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

David A. Marlin   authored and   Thomas Gleixner   commited 2005-05-23 11:26:45 +02:00
30f464b74b
[MTD] NAND extended commands, badb block table autorefresh
Added extended commands for AG-AND device and added 
option for BBT_AUTO_REFRESH.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

David A. Marlin   authored and   Thomas Gleixner   commited 2005-05-23 11:22:05 +02:00
28a48de72b
[MTD] FTL Fix missing pointer assignment
For the case that mtd partitions are enabled it would cause a 0-pointer 
dereferencing in mtdpart.c:mtd_erase_callback()

Signed-off-by: Herbert Valerio Riedel <hvr@inso.tuwien.ac.at>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Herbert Valerio Riedel   authored and   Thomas Gleixner   commited 2005-05-23 11:19:46 +02:00
8ea2e06fc8
[MTD] slram driver cleanup
Add error checks to read/write functions and add an eraseblock size.
Makes slram a suitable device for JFFS2.

Signed-off-by: Josh Boyer <jdub@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Josh Boyer   authored and   Thomas Gleixner   commited 2005-05-23 11:16:56 +02:00
14f8351a31
[PATCH] ppc64: Fix booting on latest G5 models
The latest speedbumped Apple G5 models have a "bug" in the Open Firmware
device tree that lacks the proper interrupt routing information for the
northbridge i2c controller.  Apple's driver silently falls back into a
sub-optimal "polled" mode (heh, maybe they didn't even notice the bug
because of that :), our driver didn't properly check and crashes :(

This patch fixes our driver to not crash, and adds code to the
prom_init() OF trampoline code that detects the "bug" and adds the
missing information back for this chipset revision.  This fixes booting
and thermal control on these models.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Benjamin Herrenschmidt   authored and   Linus Torvalds   commited 2005-05-22 17:34:42 -07:00
1263cc67c0
[PATCH] fix for __generic_file_aio_read() to return 0 on EOF
I came across the following problem while running ltp-aiodio testcases from
ltp-full-20050405 on linux-2.6.12-rc3-mm3.  I tried running the tests with
EXT3 as well as JFS filesystems.

One or two fsx-linux testcases were hung after some time.  These testcases
were hanging at wait_for_all_aios().

Debugging shows that there were some iocbs which were not getting completed
eventhough the last retry for those returned -EIOCBQUEUED.  Also all such
pending iocbs represented READ operation.

Further debugging revealed that all such iocbs hit EOF in the DIO layer.
To be more precise, the "pos" from which they were trying to read was
greater than the "size" of the file.  So the generic_file_direct_IO
returned 0.

This happens rarely as there is already a check in
__generic_file_aio_read(), for whether "pos" < "size" before calling direct
IO routine.

>size = i_size_read(inode);
>if (pos < size) {
>	  retval = generic_file_direct_IO(READ, iocb,
>                               iov, pos, nr_segs);

But for READ, we are taking the inode->i_sem only in the DIO layer.  So it
is possible that some other process can change the size of the file before
we take the i_sem.  In such a case ( when "pos" > "size"), the
__generic_file_aio_read() would return -EIOCBQUEUED even though there were
no I/O requests submitted by the DIO layer.  This would cause the AIO layer
to expect aio_complete() for THE iocb, which doesnot happen.  And thus the
test hangs forever, waiting for an I/O completion, where there are no
requests submitted at all.

The following patch makes __generic_file_aio_read() return 0 (instead of
returning -EIOCBQUEUED), on getting 0 from generic_file_direct_IO(), so
that the AIO layer does the aio_complete().

Testing:

I have tested the patch on a SMP machine(with 2 Pentium 4 (HT)) running
linux-2.6.12-rc3-mm3.  I ran the ltp-aiodio testcases and none of the
fsx-linux tests hung.  Also the aio-stress tests ran without any problem.

Signed-off-by: Suzuki K P <suzuki@in.ibm.com>
Signed-off-by: Suparna Bhattacharya <suparna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Suparna Bhattacharya   authored and   Linus Torvalds   commited 2005-05-21 16:45:24 -07:00
b5c44c2147
[PATCH] reiserfs: max_key fix
This patch fixes a bug introduced by Al Viro's patch: [patch 136/174]
reiserfs endianness: clone struct reiserfs_key

The problem is MAX_KEY and MAX_IN_CORE_KEY defined in this patch do not
look equal from reiserfs comp_key's point of view.  This caused reiserfs'
sanity check to complain.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Vladimir Saveliev   authored and   Linus Torvalds   commited 2005-05-21 16:45:24 -07:00
f359b74c80
Merge of master.kernel.org:/home/rmk/linux-2.6-mmc.git
Linus Torvalds   commited 2005-05-21 15:27:09 -07:00
1808caffaf
Merge of master.kernel.org:/home/rmk/linux-2.6-serial.git
Linus Torvalds   commited 2005-05-21 15:04:27 -07:00
3d15e4a32d
Merge with /usr/src/ntfs-2.6.git
Anton Altaparmakov   commited 2005-05-21 22:00:02 +01:00
67394f8f06
AUDIT: Assign serial number to non-syscall messages
Move audit_serial() into audit.c and use it to generate serial numbers 
on messages even when there is no audit context from syscall auditing.  
This allows us to disambiguate audit records when more than one is 
generated in the same millisecond.

Based on a patch by Steve Grubb after he observed the problem.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>

David Woodhouse   commited 2005-05-21 21:08:09 +01:00
bfb4496e72