]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
13 years agoMerge remote-tracking branch 'viafb/viafb-next'
Stephen Rothwell [Mon, 12 Sep 2011 03:52:33 +0000 (13:52 +1000)]
Merge remote-tracking branch 'viafb/viafb-next'

13 years agoMerge remote-tracking branch 'fbdev/fbdev-next'
Stephen Rothwell [Mon, 12 Sep 2011 03:51:12 +0000 (13:51 +1000)]
Merge remote-tracking branch 'fbdev/fbdev-next'

13 years agoMerge remote-tracking branch 'mfd/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 03:49:48 +0000 (13:49 +1000)]
Merge remote-tracking branch 'mfd/for-next'

Conflicts:
drivers/rtc/rtc-twl.c

13 years agoMerge remote-tracking branch 'md/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 03:48:24 +0000 (13:48 +1000)]
Merge remote-tracking branch 'md/for-next'

13 years agoMerge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 03:42:08 +0000 (13:42 +1000)]
Merge remote-tracking branch 'slab/for-next'

13 years agoMerge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Mon, 12 Sep 2011 03:41:59 +0000 (13:41 +1000)]
Merge remote-tracking branch 'kgdb/kgdb-next'

13 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Mon, 12 Sep 2011 03:40:39 +0000 (13:40 +1000)]
Merge remote-tracking branch 'mmc/mmc-next'

13 years agoMerge remote-tracking branch 'leds/for-mm'
Stephen Rothwell [Mon, 12 Sep 2011 03:40:31 +0000 (13:40 +1000)]
Merge remote-tracking branch 'leds/for-mm'

Conflicts:
drivers/leds/Kconfig

13 years agoMerge remote-tracking branch 'battery/master'
Stephen Rothwell [Mon, 12 Sep 2011 03:38:46 +0000 (13:38 +1000)]
Merge remote-tracking branch 'battery/master'

13 years agoMerge branch 'quilt/device-mapper'
Stephen Rothwell [Mon, 12 Sep 2011 03:37:13 +0000 (13:37 +1000)]
Merge branch 'quilt/device-mapper'

13 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 03:31:17 +0000 (13:31 +1000)]
Merge remote-tracking branch 'block/for-next'

13 years agoMerge remote-tracking branch 'input/next'
Stephen Rothwell [Mon, 12 Sep 2011 03:29:32 +0000 (13:29 +1000)]
Merge remote-tracking branch 'input/next'

13 years agoMerge branch 'quilt/rr'
Stephen Rothwell [Mon, 12 Sep 2011 03:28:14 +0000 (13:28 +1000)]
Merge branch 'quilt/rr'

13 years agoMerge remote-tracking branch 'cpufreq/next'
Stephen Rothwell [Mon, 12 Sep 2011 03:26:55 +0000 (13:26 +1000)]
Merge remote-tracking branch 'cpufreq/next'

13 years agoMerge remote-tracking branch 'sound-asoc/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 03:25:38 +0000 (13:25 +1000)]
Merge remote-tracking branch 'sound-asoc/for-next'

13 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 03:24:12 +0000 (13:24 +1000)]
Merge remote-tracking branch 'sound/for-next'

13 years agoMerge remote-tracking branch 'crypto/master'
Stephen Rothwell [Mon, 12 Sep 2011 03:18:55 +0000 (13:18 +1000)]
Merge remote-tracking branch 'crypto/master'

13 years agoMerge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Mon, 12 Sep 2011 03:17:36 +0000 (13:17 +1000)]
Merge remote-tracking branch 'l2-mtd/master'

Conflicts:
arch/arm/mach-at91/board-usb-a9260.c

13 years agoMerge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Mon, 12 Sep 2011 03:09:46 +0000 (13:09 +1000)]
Merge remote-tracking branch 'bluetooth/master'

13 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Mon, 12 Sep 2011 03:08:12 +0000 (13:08 +1000)]
Merge remote-tracking branch 'wireless/master'

Conflicts:
drivers/net/wireless/iwlwifi/iwl-pci.c

13 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Mon, 12 Sep 2011 03:02:40 +0000 (13:02 +1000)]
Merge remote-tracking branch 'net/master'

Conflicts:
MAINTAINERS
arch/powerpc/configs/40x/hcu4_defconfig

13 years agoMerge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Mon, 12 Sep 2011 02:58:15 +0000 (12:58 +1000)]
Merge remote-tracking branch 'slave-dma/next'

13 years agoMerge remote-tracking branch 'scsi/master'
Stephen Rothwell [Mon, 12 Sep 2011 02:56:08 +0000 (12:56 +1000)]
Merge remote-tracking branch 'scsi/master'

13 years agoMerge remote-tracking branch 'ibft/master'
Stephen Rothwell [Mon, 12 Sep 2011 02:56:04 +0000 (12:56 +1000)]
Merge remote-tracking branch 'ibft/master'

13 years agoMerge remote-tracking branch 'swiotlb/master'
Stephen Rothwell [Mon, 12 Sep 2011 02:55:58 +0000 (12:55 +1000)]
Merge remote-tracking branch 'swiotlb/master'

13 years agoMerge remote-tracking branch 'acpi/test'
Stephen Rothwell [Mon, 12 Sep 2011 02:54:33 +0000 (12:54 +1000)]
Merge remote-tracking branch 'acpi/test'

13 years agoMerge remote-tracking branch 'libata/NEXT'
Stephen Rothwell [Mon, 12 Sep 2011 02:53:14 +0000 (12:53 +1000)]
Merge remote-tracking branch 'libata/NEXT'

13 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:53:09 +0000 (12:53 +1000)]
Merge remote-tracking branch 'kconfig/for-next'

13 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:51:46 +0000 (12:51 +1000)]
Merge remote-tracking branch 'kbuild/for-next'

13 years agoMerge remote-tracking branch 'docs/docs-move'
Stephen Rothwell [Mon, 12 Sep 2011 02:50:27 +0000 (12:50 +1000)]
Merge remote-tracking branch 'docs/docs-move'

13 years agoMerge branch 'quilt/kernel-doc'
Stephen Rothwell [Mon, 12 Sep 2011 02:49:16 +0000 (12:49 +1000)]
Merge branch 'quilt/kernel-doc'

13 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:48:05 +0000 (12:48 +1000)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

13 years agoMerge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Mon, 12 Sep 2011 02:46:55 +0000 (12:46 +1000)]
Merge branch 'quilt/jdelvare-hwmon'

13 years agoMerge remote-tracking branch 'bjdooks-i2c/next-i2c'
Stephen Rothwell [Mon, 12 Sep 2011 02:45:37 +0000 (12:45 +1000)]
Merge remote-tracking branch 'bjdooks-i2c/next-i2c'

13 years agoMerge branch 'quilt/i2c'
Stephen Rothwell [Mon, 12 Sep 2011 02:44:26 +0000 (12:44 +1000)]
Merge branch 'quilt/i2c'

13 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:43:08 +0000 (12:43 +1000)]
Merge remote-tracking branch 'hid/for-next'

Conflicts:
drivers/hid/hid-core.c
drivers/hid/hid-ids.h

13 years agoMerge remote-tracking branch 'xfs/master'
Stephen Rothwell [Mon, 12 Sep 2011 02:41:37 +0000 (12:41 +1000)]
Merge remote-tracking branch 'xfs/master'

Conflicts:
fs/xfs/xfs_super.c

13 years agoMerge remote-tracking branch 'v9fs/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:40:25 +0000 (12:40 +1000)]
Merge remote-tracking branch 'v9fs/for-next'

Conflicts:
net/9p/trans_virtio.c

13 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:38:57 +0000 (12:38 +1000)]
Merge remote-tracking branch 'ocfs2/linux-next'

13 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:33:02 +0000 (12:33 +1000)]
Merge remote-tracking branch 'nfsd/nfsd-next'

13 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:31:48 +0000 (12:31 +1000)]
Merge remote-tracking branch 'nfs/linux-next'

13 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Mon, 12 Sep 2011 02:30:35 +0000 (12:30 +1000)]
Merge remote-tracking branch 'logfs/master'

13 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Mon, 12 Sep 2011 02:29:22 +0000 (12:29 +1000)]
Merge remote-tracking branch 'gfs2/master'

13 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Mon, 12 Sep 2011 02:28:04 +0000 (12:28 +1000)]
Merge remote-tracking branch 'ext4/dev'

13 years agoMerge remote-tracking branch 'cifs/master'
Stephen Rothwell [Mon, 12 Sep 2011 02:26:47 +0000 (12:26 +1000)]
Merge remote-tracking branch 'cifs/master'

13 years agoMerge remote-tracking branch 'ceph/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:25:34 +0000 (12:25 +1000)]
Merge remote-tracking branch 'ceph/for-next'

13 years agoMerge remote-tracking branch 'xtensa/master'
Stephen Rothwell [Mon, 12 Sep 2011 02:24:23 +0000 (12:24 +1000)]
Merge remote-tracking branch 'xtensa/master'

13 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Mon, 12 Sep 2011 02:23:11 +0000 (12:23 +1000)]
Merge remote-tracking branch 'unicore32/unicore32'

13 years agoMerge remote-tracking branch 'tile/master'
Stephen Rothwell [Mon, 12 Sep 2011 02:21:59 +0000 (12:21 +1000)]
Merge remote-tracking branch 'tile/master'

13 years agoMerge remote-tracking branch 'rmobile/rmobile-latest'
Stephen Rothwell [Mon, 12 Sep 2011 02:20:46 +0000 (12:20 +1000)]
Merge remote-tracking branch 'rmobile/rmobile-latest'

13 years agoMerge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Mon, 12 Sep 2011 02:19:35 +0000 (12:19 +1000)]
Merge remote-tracking branch 'sh/sh-latest'

13 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Mon, 12 Sep 2011 02:18:24 +0000 (12:18 +1000)]
Merge remote-tracking branch 's390/features'

13 years agoMerge remote-tracking branch '52xx-and-virtex/powerpc/next'
Stephen Rothwell [Mon, 12 Sep 2011 02:17:07 +0000 (12:17 +1000)]
Merge remote-tracking branch '52xx-and-virtex/powerpc/next'

13 years agoMerge remote-tracking branch 'powerpc/next'
Stephen Rothwell [Mon, 12 Sep 2011 02:15:55 +0000 (12:15 +1000)]
Merge remote-tracking branch 'powerpc/next'

13 years agoMerge remote-tracking branch 'openrisc/for-upstream'
Stephen Rothwell [Mon, 12 Sep 2011 02:14:43 +0000 (12:14 +1000)]
Merge remote-tracking branch 'openrisc/for-upstream'

13 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:13:27 +0000 (12:13 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

13 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:12:15 +0000 (12:12 +1000)]
Merge remote-tracking branch 'm68k/for-next'

13 years agoMerge remote-tracking branch 'ia64/test'
Stephen Rothwell [Mon, 12 Sep 2011 02:11:02 +0000 (12:11 +1000)]
Merge remote-tracking branch 'ia64/test'

13 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:09:46 +0000 (12:09 +1000)]
Merge remote-tracking branch 'cris/for-next'

13 years agoMerge remote-tracking branch 'blackfin/for-linus'
Stephen Rothwell [Mon, 12 Sep 2011 02:08:35 +0000 (12:08 +1000)]
Merge remote-tracking branch 'blackfin/for-linus'

13 years agoMerge remote-tracking branch 'ux500-core/ux500-core'
Stephen Rothwell [Mon, 12 Sep 2011 02:07:25 +0000 (12:07 +1000)]
Merge remote-tracking branch 'ux500-core/ux500-core'

13 years agoMerge remote-tracking branch 's5p/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 02:06:11 +0000 (12:06 +1000)]
Merge remote-tracking branch 's5p/for-next'

Conflicts:
arch/arm/mach-exynos4/mach-smdkc210.c

13 years agoMerge remote-tracking branch 'i.MX/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 01:58:16 +0000 (11:58 +1000)]
Merge remote-tracking branch 'i.MX/for-next'

Conflicts:
arch/arm/mach-imx/Makefile

13 years agoMerge remote-tracking branch 'at91/at91-next'
Stephen Rothwell [Mon, 12 Sep 2011 01:58:13 +0000 (11:58 +1000)]
Merge remote-tracking branch 'at91/at91-next'

13 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 01:57:02 +0000 (11:57 +1000)]
Merge remote-tracking branch 'arm-soc/for-next'

Conflicts:
arch/arm/include/asm/hardware/cache-l2x0.h
arch/arm/mach-at91/board-usb-a9260.c
arch/arm/mach-msm/board-msm8x60.c
arch/arm/mach-mxs/include/mach/gpio.h
arch/arm/mach-u300/Makefile.boot
arch/arm/plat-mxc/include/mach/gpio.h

13 years agoMerge remote-tracking branch 'arm-lpae/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 01:15:28 +0000 (11:15 +1000)]
Merge remote-tracking branch 'arm-lpae/for-next'

Conflicts:
arch/arm/include/asm/page.h
arch/arm/include/asm/pgalloc.h
arch/arm/include/asm/pgtable-hwdef.h
arch/arm/include/asm/pgtable.h
arch/arm/include/asm/tlb.h
arch/arm/kernel/head.S
arch/arm/kernel/sleep.S
arch/arm/mm/dma-mapping.c
arch/arm/mm/mmu.c

13 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Mon, 12 Sep 2011 00:46:05 +0000 (10:46 +1000)]
Merge remote-tracking branch 'arm/for-next'

13 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Mon, 12 Sep 2011 00:44:39 +0000 (10:44 +1000)]
Merge remote-tracking branch 'input-current/for-linus'

13 years agoMerge remote-tracking branch 'wireless-current/master'
Stephen Rothwell [Mon, 12 Sep 2011 00:44:36 +0000 (10:44 +1000)]
Merge remote-tracking branch 'wireless-current/master'

13 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Mon, 12 Sep 2011 00:44:35 +0000 (10:44 +1000)]
Merge remote-tracking branch 'pci-current/for-linus'

13 years agoMerge remote-tracking branch 'net-current/master'
Stephen Rothwell [Mon, 12 Sep 2011 00:44:34 +0000 (10:44 +1000)]
Merge remote-tracking branch 'net-current/master'

13 years agoMerge remote-tracking branch 'scsi-rc-fixes/master'
Stephen Rothwell [Mon, 12 Sep 2011 00:44:33 +0000 (10:44 +1000)]
Merge remote-tracking branch 'scsi-rc-fixes/master'

13 years agomtd: nand: remove gotos in `check_create()'
Brian Norris [Wed, 7 Sep 2011 20:13:35 +0000 (13:13 -0700)]
mtd: nand: remove gotos in `check_create()'

This is a second step in restructuring `check_create()'. When we don't
rely on goto statements for our main functionality, the code will become
a little easier to manipulate.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: nand: begin restructuring check_create
Brian Norris [Wed, 7 Sep 2011 20:13:34 +0000 (13:13 -0700)]
mtd: nand: begin restructuring check_create

We will begin restructuring the code for check_create so that we can
make some important changes. For now, we should just begin to get rid of
some goto statements to make things cleaner. This is the first step of a
few, which are separated to make them easier to follow.

This step should just be a code refactor.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: nand: fix style
Brian Norris [Wed, 7 Sep 2011 20:13:33 +0000 (13:13 -0700)]
mtd: nand: fix style

Remove some extra spaces
Consistently use '0x' prefix for bitfield-like constants
Spelling: "aplies" -> "applies"

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: nand: remove unnecessary variable
Brian Norris [Wed, 7 Sep 2011 20:13:32 +0000 (13:13 -0700)]
mtd: nand: remove unnecessary variable

`writeops' is unnecessary in the function `nand_update_bbt()'

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: nand: do not ignore all ECC errors
Brian Norris [Wed, 7 Sep 2011 20:13:29 +0000 (13:13 -0700)]
mtd: nand: do not ignore all ECC errors

There are a few reasons not to ignore ECC errors here.

First, mtd->read_oob is being called in raw mode, so there should be no
error correction in the first place.

Second, if we change this such that there *is* error correction in this
function, then we will want to pass the error message upward.

In fact, the code I introduced to "ignore ECC errors" would have been
better if it had just placed this test down in `scan_block_full()' in
the first place. We would like to ignore ECC errors when we are simply
checking for bad block markers (e.g., factory marked), but we may not
want to ignore ECC errors when scanning OOB for a flash-based BBT
pattern (in `scan_read_raw()'; note that the return codes from
`scan_read_raw()' are not actually handled yet).

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: nand: refactor scanning code
Brian Norris [Wed, 7 Sep 2011 20:13:28 +0000 (13:13 -0700)]
mtd: nand: refactor scanning code

A few pieces of code are unnecessarily duplicated. For easier
maintenance, we should fix this.

This should have no functional effect.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: drop Integrator flash map Kconfig
Linus Walleij [Wed, 7 Sep 2011 07:50:29 +0000 (09:50 +0200)]
mtd: drop Integrator flash map Kconfig

The integrator flash has been deleted, even from the Makefile.
Drop the Kconfig entry as well.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: kill old field for `struct mtd_info_user'
Brian Norris [Wed, 31 Aug 2011 01:45:46 +0000 (18:45 -0700)]
mtd: kill old field for `struct mtd_info_user'

The ecctype and eccsize fields have been obsolete for a while. Since they
don't have any users, we can kill them and leave padding in their place
for now.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: nand: kill member `ops' of `struct nand_chip'
Brian Norris [Wed, 31 Aug 2011 01:45:45 +0000 (18:45 -0700)]
mtd: nand: kill member `ops' of `struct nand_chip'

The nand_chip.ops field is a struct that is passed around globally with
no particular reason. Every time it is used, it could just as easily be
replaced with a local struct that is updated on each operation. So make
it local.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: document ABI
Brian Norris [Wed, 31 Aug 2011 01:45:44 +0000 (18:45 -0700)]
mtd: document ABI

We're missing a lot of important documentation in include/mtd/mtd-abi.h:

* add a simple description of each ioctl (feel free to expand!)
* give full explanations of recently added and modified operations
* explain the usage of "RAW" that appear in different modes and types of
  operations
* fix some comment style along the way

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: add MEMWRITE ioctl
Brian Norris [Fri, 9 Sep 2011 16:59:03 +0000 (09:59 -0700)]
mtd: add MEMWRITE ioctl

Implement a new ioctl for writing both page data and OOB to flash at the
same time. This ioctl is intended to be a generic interface that can
replace other ioctls (MEMWRITEOOB and MEMWRITEOOB64) and cover the
functionality of several other old ones, e.g., MEMWRITE can:

* write autoplaced OOB instead of using ECCGETLAYOUT (deprecated) and
  working around the reserved areas
* write raw (no ECC) OOB instead of using MTDFILEMODE to set the
  per-file-descriptor MTD_FILE_MODE_RAW
* write raw (no ECC) data instead of using MTDFILEMODE
  (MTD_FILE_MODE_RAW) and using standard character device "write"

This ioctl is especially useful for MLC NAND, which cannot be written
twice (i.e., we cannot successfully write the page data and OOB in two
separate operations). Instead, MEMWRITE can write both in a single
operation.

Note that this ioctl is not affected by the MTD file mode (i.e.,
MTD_FILE_MODE_RAW vs. MTD_FILE_MODE_NORMAL), since it receives its write
mode as an input parameter.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: rename MTD_MODE_* to MTD_FILE_MODE_*
Brian Norris [Wed, 31 Aug 2011 01:45:41 +0000 (18:45 -0700)]
mtd: rename MTD_MODE_* to MTD_FILE_MODE_*

These modes hold their state only for the life of their file descriptor,
and they overlap functionality with the MTD_OPS_* modes. Particularly,
MTD_MODE_RAW and MTD_OPS_RAW cover the same function: to provide raw
(i.e., without ECC) access to the flash. In fact, although it may not be
clear, MTD_MODE_RAW implied that operations should enable the
MTD_OPS_RAW mode.

Thus, we should be specific on what each mode means. This is a start,
where MTD_FILE_MODE_* actually represents a "file mode," not necessarily
a true global MTD mode.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: rename MTD_OOB_* to MTD_OPS_*
Brian Norris [Wed, 31 Aug 2011 01:45:40 +0000 (18:45 -0700)]
mtd: rename MTD_OOB_* to MTD_OPS_*

These modes are not necessarily for OOB only. Particularly, MTD_OOB_RAW
affected operations on in-band page data as well. To clarify these
options and to emphasize that their effect is applied per-operation, we
change the primary prefix to MTD_OPS_.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: move mtd_oob_mode_t to shared kernel/user space
Brian Norris [Wed, 31 Aug 2011 01:45:39 +0000 (18:45 -0700)]
mtd: move mtd_oob_mode_t to shared kernel/user space

We will want to use the MTD_OOB_{PLACE,AUTO,RAW} modes in user-space
applications through the introduction of new ioctls, so we should make
this enum a shared type.

This enum is now anonymous.

Artem: tweaked the patch.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: support reading OOB without ECC
Brian Norris [Wed, 31 Aug 2011 01:45:38 +0000 (18:45 -0700)]
mtd: support reading OOB without ECC

This fixes issues with `nanddump -n' and the MEMREADOOB[64] ioctls on
hardware that performs error correction when reading only OOB data. A
driver for such hardware needs to know when we're doing a RAW vs. a
normal write, but mtd_do_read_oob does not pass such information to the
lower layers (e.g., NAND). We should pass MTD_OOB_RAW or MTD_OOB_PLACE
based on the MTD file mode.

For now, most drivers can get away with just setting:

  chip->ecc.read_oob_raw = chip->ecc.read_oob

This is done by default; but for systems that behave as described above,
you must supply your own replacement function.

This was tested with nandsim as well as on actual SLC NAND.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Cc: Jim Quinlan <jim2101024@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: nand: document nand_chip.oob_poi
Brian Norris [Wed, 31 Aug 2011 01:45:43 +0000 (18:45 -0700)]
mtd: nand: document nand_chip.oob_poi

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: support writing OOB without ECC
Brian Norris [Wed, 31 Aug 2011 01:45:37 +0000 (18:45 -0700)]
mtd: support writing OOB without ECC

This fixes issues with `nandwrite -n -o' and the MEMWRITEOOB[64] ioctls
on hardware that writes ECC when writing OOB. The problem arises as
follows: `nandwrite -n' can write page data to flash without applying
ECC, but when used with the `-o' option, ECC is applied (incorrectly),
contrary to the `--noecc' option.

I found that this is the case because my hardware computes and writes
ECC data to flash upon either OOB write or page write. Thus, to support
a proper "no ECC" write, my driver must know when we're performing a raw
OOB write vs. a normal ECC OOB write. However, MTD does not pass any raw
mode information to the write_oob functions.  This patch addresses the
problems by:

1) Passing MTD_OOB_RAW down to lower layers, instead of just defaulting
   to MTD_OOB_PLACE
2) Handling MTD_OOB_RAW within the NAND layer's `nand_do_write_oob'
3) Adding a new (replaceable) function pointer in struct ecc_ctrl; this
   function should support writing OOB without ECC data. Current
   hardware often can use the same OOB write function when writing
   either with or without ECC

This was tested with nandsim as well as on actual SLC NAND.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Cc: Jim Quinlan <jim2101024@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: add the common code for GPMI-NAND controller driver
Huang Shijie [Thu, 8 Sep 2011 02:47:09 +0000 (10:47 +0800)]
mtd: add the common code for GPMI-NAND controller driver

These files contain the common code for the GPMI-NAND driver.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Tested-by: Koen Beel <koen.beel@barco.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: add GPMI-NAND driver in the config and Makefile
Huang Shijie [Thu, 8 Sep 2011 02:47:11 +0000 (10:47 +0800)]
mtd: add GPMI-NAND driver in the config and Makefile

add the GPMI-NAND driver in the relevant Kconfig and Makefile in the MTD.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Tested-by: Koen Beel <koen.beel@barco.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: add helper functions library and header files for GPMI NAND driver
Huang Shijie [Thu, 8 Sep 2011 02:47:10 +0000 (10:47 +0800)]
mtd: add helper functions library and header files for GPMI NAND driver

bch-regs.h : registers file for BCH module
gpmi-regs.h: registers file for GPMI module
gpmi-lib.c: helper functions library.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Tested-by: Koen Beel <koen.beel@barco.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: check parts pointer before using it
Jason Liu [Wed, 24 Aug 2011 11:26:28 +0000 (19:26 +0800)]
mtd: check parts pointer before using it

The code has the check for parts but it called after kmemdup,
kmemdup(parts, sizeof(*parts) * nr_parts,...)
if (!parts)
return -ENOMEM

In fact, we need check parts before safely using it.
and we also need check the real_parts to make sure kmemdup
allocation sucessfully.

Signed-off-by: Jason Liu <jason.hui@linaro.org>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: style fixups in multi-line comment, indentation
Brian Norris [Wed, 24 Aug 2011 00:17:36 +0000 (17:17 -0700)]
mtd: style fixups in multi-line comment, indentation

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: nand: fix spelling error (date => data)
Brian Norris [Wed, 24 Aug 2011 00:17:35 +0000 (17:17 -0700)]
mtd: nand: fix spelling error (date => data)

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: remove MEMSETOOBSEL macro definition
Brian Norris [Wed, 24 Aug 2011 00:17:34 +0000 (17:17 -0700)]
mtd: remove MEMSETOOBSEL macro definition

MEMSETOOBSEL is completely unused and useless. Remove the definition.

Note: it's probably best not to use this ioctl number in the future for
MTD, since that may cause conflicts between old kernels and new user
software (or new kernels and old user software).

Artem: leave a comment about MEMSETOOBSEL.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: doc: remove mention of MEMSETOOBSEL
Brian Norris [Wed, 24 Aug 2011 00:17:33 +0000 (17:17 -0700)]
mtd: doc: remove mention of MEMSETOOBSEL

It's been gone for a while.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: do not assume oobsize is power of 2
Brian Norris [Wed, 24 Aug 2011 00:17:32 +0000 (17:17 -0700)]
mtd: do not assume oobsize is power of 2

Previous generations of MTDs all used OOB sizes that were powers of 2,
(e.g., 64, 128). However, newer generations of flash, especially NAND,
use irregular OOB sizes that are not powers of 2 (e.g., 218, 224, 448).
This means we cannot use masks like "mtd->oobsize - 1" to assume that we
will get a proper bitmask for OOB operations.

These masks are really only intended to hide the "page" portion of the
offset, leaving any OOB offset intact, so a masking with the writesize
(which *is* always a power of 2) is valid and makes more sense.

This has been tested for read/write of NAND devices (nanddump/nandwrite)
using nandsim and actual NAND flash.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: mxc_nand: add mx53 NFC driver support
Jason Liu [Mon, 22 Aug 2011 06:13:17 +0000 (14:13 +0800)]
mtd: mxc_nand: add mx53 NFC driver support

This has already been tested with Samsung NAND: K9LAG08U0M
on MX53EVK board, ubi/ubifs has already been tested OK too.

Signed-off-by: Jason Liu <jason.hui@linaro.org>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
13 years agomtd: bcm_umi_nand: clean up error handling code
Julia Lawall [Wed, 10 Aug 2011 08:14:14 +0000 (10:14 +0200)]
mtd: bcm_umi_nand: clean up error handling code

Convert error handling code to use gotos.  At the same time, this adds
calls to kfree and iounmap in a few cases where they were overlooked.

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Jiandong Zheng <jdzheng@broadcom.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>