Commit Graph

520 Commits

Author SHA1 Message Date
Joern Engel
663259a44f [MTD] phram: Allow short reads.
Jffs2 apparently needs this.
Accept newline at the end of input.

Signed-off-by: Joern Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:51:00 +02:00
Joern Engel
711c11b78d [MTD] block2mtd: Remove copyright. Fix offset calculation
- Remove Gareth from the Copyrights (at his own request)
- Fix the "fscking embarrassment"

Signed-off-by: Joern Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:50:11 +02:00
David Vrabel
b4eab4b8d6 [MTD] Remove Elan-104NC
Remove support for the Arcom Elan-104NC since it's no longer being maintained.

Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:48:56 +02:00
Thomas Gleixner
20a6c21190 [MTD] NAND: Use cond_resched instead of msleep
Replace msleep by cond_resched. On machines with HZ=100 (e.g. ARM)
msleep slows down the operation by factor 10

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:47:55 +02:00
Pete Popov
002fa30170 [MTD] Replace all the Au1x mapping drivers with a simplified single driver
This driver does not have as many options but it's easier to maintain.
And, it turns out AMD never shipped boards with different flash densities.

Signed-off-by: Pete Popov <ppopov@pacbell.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:45:13 +02:00
Joern Engel
d30f11d225 [MTD] Use after free, found by the Coverity tool
Signed-off-by: Alexander Nyberg <alexn@dsv.su.se>
Signed-off-by: Joern Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:43:32 +02:00
Thomas Gleixner
3b88775c75 [MTD] NAND: Check command timeout
Check timeout while we wait for the command to finish. No worry about a
false result. This prevents deadlocking when detecting an unknown number
of chips and is useful for removable media too.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:42:49 +02:00
Thomas Gleixner
dfd6129440 [MTD] DiskOnChip: Wait for the command to finish.
Do not use the ready function here, as it might hang for ever. 
The result will show, whether the chip is there or not

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:42:18 +02:00
Ben Dooks
fdf2fd5274 [MTD] Sparse fixes
Fix sparse errors due to lack of address-space markers
Updated header comments
Small re-format of initialiser

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:41:32 +02:00
Artem B. Bityuckiy
4945079584 [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>
2005-05-23 12:41:03 +02:00
Ben Dooks
7685359656 [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>
2005-05-23 12:40:28 +02:00
Nicolas Pitre
332d71f768 [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>
2005-05-23 12:39:55 +02:00
Artem B. Bityuckiy
171650af9c [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>
2005-05-23 12:38:33 +02:00
Kyungmin Park
0ea4a7558f [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>
2005-05-23 12:36:30 +02:00
Ben Dooks
88ec7c50bf [MTD] Add SST 39VF1601 (MPF+) ID
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:34:00 +02:00
Ben Dooks
011b2a3627 [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>
2005-05-23 12:33:26 +02:00
Artem B. Bityuckiy
eeada24da8 [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>
2005-05-23 12:32:18 +02:00
Artem B. Bityuckiy
41ce921440 [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>
2005-05-23 12:31:01 +02:00
Thomas Gleixner
0040bf382c [MTD] NAND: Skip bad block table scan on request
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:30:07 +02:00
Nicolas Pitre
045e9a5d51 [MTD] Unabuse file-f_mode for OTP purpose
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:26:40 +02:00
Nicolas Pitre
31f4233bae [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>
2005-05-23 12:26:04 +02:00
Nicolas Pitre
f77814dd57 [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>
2005-05-23 12:25:23 +02:00
Nicolas Pitre
72b56a2d7d [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>
2005-05-23 12:22:37 +02:00
Jonas Holmberg
322b12eb57 [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>
2005-05-23 12:21:41 +02:00
Thomas Gleixner
f29a4b86f5 [MTD] DiskOnChip: big endian fix for NFTL devices
Make NFTL devices work on big endian machines.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:18:59 +02:00
Thomas Gleixner
39605398cd [MTD] DiskOnChip code cleanup
Remove commented ugliness

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:17:42 +02:00
Thomas Gleixner
651078ba3a [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>
2005-05-23 12:17:03 +02:00
Russell King
6170b43401 [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>
2005-05-23 12:15:15 +02:00
David A. Marlin
ed3786a599 [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>
2005-05-23 12:10:36 +02:00
David A. Marlin
068e3c0a00 [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>
2005-05-23 12:08:59 +02:00
Ben Dooks
99f2a8aea1 [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>
2005-05-23 11:33:47 +02:00
David A. Marlin
a4ab4c5d32 [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>
2005-05-23 11:32:36 +02:00
Richard Purdie
7ba48c4583 [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>
2005-05-23 11:31:47 +02:00
Thomas Gleixner
15266bb74d [MTD] NAND replace yield
Replace yield by msleep. M.Wilcox stared at it and frowned

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 11:29:39 +02:00
Ben Dooks
6fc93d8ca7 [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>
2005-05-23 11:28:55 +02:00
David A. Marlin
97f1a087dc [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>
2005-05-23 11:27:56 +02:00
David A. Marlin
30f464b74b [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>
2005-05-23 11:26:45 +02:00
David A. Marlin
28a48de72b [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>
2005-05-23 11:22:05 +02:00
Herbert Valerio Riedel
8ea2e06fc8 [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>
2005-05-23 11:19:46 +02:00
Josh Boyer
14f8351a31 [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>
2005-05-23 11:16:56 +02:00
Linus Torvalds
05d3794aa8 Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6.git/ 2005-05-18 16:37:46 -07:00
Stephen Tweedie
e72022e13d [PATCH] Fix filp being passed through raw ioctl handler
Don't pass meaningless file handles to block device ioctls.

The recent raw IO ioctl-passthrough fix started passing the raw file
handle into the block device ioctl handler.  That's unlikely to be
useful, as the file handle is actually open on a character-mode raw
device, not a block device, so dereferencing it is not going to yield
useful results to a block device ioctl handler.

Previously we just passed NULL; also not a value that can usefully
be dereferenced, but at least if it does happen, we'll oops instead of
silently pretending that the file is a block device, so NULL is the more
defensive option here.  This patch reverts to that behaviour.

Noticed by Al Viro.

Signed-off-by: Stephen Tweedie <sct@redhat.com>
Acked-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-18 09:10:02 -07:00
David Brownell
0b405a0f7e [PATCH] Driver Core: remove driver model detach_state
The driver model has a "detach_state" mechanism that:

 - Has never been used by any in-kernel drive;
 - Is superfluous, since driver remove() methods can do the same thing;
 - Became buggy when the suspend() parameter changed semantics and type;
 - Could self-deadlock when called from certain suspend contexts;
 - Is effectively wasted documentation, object code, and headspace.

This removes that "detach_state" mechanism; net code shrink, as well
as a per-device saving in the driver model and sysfs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-17 14:54:55 -07:00
David Brownell
82428b62aa [PATCH] Driver Core: pm diagnostics update, check for errors
This patch includes various tweaks in the messaging that appears during
system pm state transitions:

  * Warn about certain illegal calls in the device tree, like resuming
    child before parent or suspending parent before child.  This could
    happen easily enough through sysfs, or in some cases when drivers
    use device_pm_set_parent().

  * Be more consistent about dev_dbg() tracing ... do it for resume() and
    shutdown() too, and never if the driver doesn't have that method.

  * Say which type of system sleep state is being entered.

Except for the warnings, these only affect debug messaging.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-17 14:54:54 -07:00
Greg KH
d1ded203ad [PATCH] PCI: add MODALIAS to hotplug event for pci devices
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-17 14:31:12 -07:00
Greg KH
9888549e05 [PATCH] PCI: add modalias sysfs file for pci devices
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-17 14:31:12 -07:00
Scott Murray
c22610dadc [PATCH] PCI Hotplug: remove pci_visit_dev
If my CPCI hotplug update patch is applied, then there are no longer any
in tree users of the pci_visit_dev API, and it and its related code can be
removed.

Signed-off-by: Scott Murray <scottm@somanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-17 14:31:11 -07:00
Scott Murray
43b7d7cfb1 [PATCH] PCI Hotplug: CPCI update
[PATCH] CPCI: update

I have finally done some work to update the CompactPCI hotplug driver to
fix some of the outstanding issues in 2.6:
- Added adapter and latch status ops so that those files will get created
  by the current PCI hotplug core.  This used to not be required, but
  seems to be now after some of the sysfs rework in the core.
- Replaced slot list spinlock with a r/w semaphore to avoid any potential
  issues with sleeping.  This quiets all of the runtime warnings.
- Reworked interrupt driven hot extraction handling to remove need for a
  polling operator for ENUM# status.  There are a lot of boards that only
  have an interrupt driven by ENUM#, so this lowers the bar to entry.
- Replaced pci_visit_dev usage with better use of the PCI core functions.
  The new code is functionally equivalent to the previous code, but the
  use of pci_enable_device on insert needs to be investigated further, as
  I need to do some more testing to see if it is still necessary.

Signed-off-by: Scott Murray <scottm@somanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-17 14:31:11 -07:00
Dely Sy
8b245e45f3 [PATCH] PCI Hotplug: get pciehp to work on the downstream port of a switch
Here is the updated patch to get pciehp driver to work for downstream
port of a switch and handle the difference in the offset value of PCI
Express capability list item of different ports.

Signed-off-by: Dely Sy <dely.l.sy@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-17 14:31:11 -07:00
Dely Sy
ee17fd93a5 [PATCH] PCI Hotplug: Fix echoing 1 to power file of enabled slot problem with SHPC driver
Here is a patch to fix the problem of echoing 1 to "power" file
to enabled slot causing the slot to power down, and echoing 0
to disabled slot causing shpchp_disabled_slot() to be called
twice. This problem was reported by kenji Kaneshige.

Thanks,
Dely

Signed-off-by: Dely Sy <dely.l.sy@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-17 14:31:10 -07:00