20 Feb, 2007

1 commit

  • * git://git.infradead.org/mtd-2.6: (49 commits)
    [MTD] [NAND] S3C2412 fix hw ecc
    [MTD] [NAND] Work around false compiler warning in CAFÉ driver
    [JFFS2] printk warning fixes
    [MTD] [MAPS] ichxrom warning fix
    [MTD] [MAPS] amd76xrom warning fix
    [MTD] [MAPS] esb2rom warning fixes
    [MTD] [MAPS] ck804xrom warning fix
    [MTD] [MAPS] netsc520 warning fix
    [MTD] [MAPS] sc520cdp warning fix
    [MTD] [ONENAND] onenand_base warning fix
    [MTD] [NAND] eXcite nand flash driver
    [MTD] Improve heuristic for detecting wrong-endian RedBoot partition table
    [MTD] Fix RedBoot partition parsing regression harder.
    [MTD] [NAND] S3C2410: Hardware ECC correction code
    [JFFS2] Use MTD_OOB_AUTO to automatically place cleanmarker on NAND
    [MTD] Clarify OOB-operation interface comments
    [MTD] remove unused ecctype,eccsize fields from struct mtd_info
    [MTD] [NOR] Intel: remove ugly PROGREGION macros
    [MTD] [NOR] STAA: use writesize instead off eccsize to represent ECC block
    [MTD] OneNAND: Invalidate bufferRAM after erase
    ...

    Linus Torvalds
     

15 Feb, 2007

1 commit

  • After Al Viro (finally) succeeded in removing the sched.h #include in module.h
    recently, it makes sense again to remove other superfluous sched.h includes.
    There are quite a lot of files which include it but don't actually need
    anything defined in there. Presumably these includes were once needed for
    macros that used to live in sched.h, but moved to other header files in the
    course of cleaning it up.

    To ease the pain, this time I did not fiddle with any header files and only
    removed #includes from .c-files, which tend to cause less trouble.

    Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
    arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
    allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
    configs in arch/arm/configs on arm. I also checked that no new warnings were
    introduced by the patch (actually, some warnings are removed that were emitted
    by unnecessarily included header files).

    Signed-off-by: Tim Schmielau
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     

12 Feb, 2007

1 commit


09 Feb, 2007

1 commit

  • 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
    Signed-off-by: David Woodhouse

    Artem Bityutskiy
     

18 Jan, 2007

1 commit


31 Dec, 2006

2 commits


14 Dec, 2006

1 commit

  • Run this:

    #!/bin/sh
    for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do
    echo "De-casting $f..."
    perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f
    done

    And then go through and reinstate those cases where code is casting pointers
    to non-pointers.

    And then drop a few hunks which conflicted with outstanding work.

    Cc: Russell King , Ian Molton
    Cc: Mikael Starvik
    Cc: Yoshinori Sato
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Cc: Ralf Baechle
    Cc: Paul Mackerras
    Cc: Kyle McMartin
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Greg KH
    Cc: Jens Axboe
    Cc: Paul Fulghum
    Cc: Alan Cox
    Cc: Karsten Keil
    Cc: Mauro Carvalho Chehab
    Cc: Jeff Garzik
    Cc: James Bottomley
    Cc: Ian Kent
    Cc: Steven French
    Cc: David Woodhouse
    Cc: Neil Brown
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     

08 Dec, 2006

1 commit


01 Dec, 2006

1 commit


29 Nov, 2006

1 commit


01 Oct, 2006

1 commit

  • Make it possible to disable the block layer. Not all embedded devices require
    it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
    the block layer to be present.

    This patch does the following:

    (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
    support.

    (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
    an item that uses the block layer. This includes:

    (*) Block I/O tracing.

    (*) Disk partition code.

    (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.

    (*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
    block layer to do scheduling. Some drivers that use SCSI facilities -
    such as USB storage - end up disabled indirectly from this.

    (*) Various block-based device drivers, such as IDE and the old CDROM
    drivers.

    (*) MTD blockdev handling and FTL.

    (*) JFFS - which uses set_bdev_super(), something it could avoid doing by
    taking a leaf out of JFFS2's book.

    (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
    linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
    however, still used in places, and so is still available.

    (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
    parts of linux/fs.h.

    (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.

    (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.

    (*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
    is not enabled.

    (*) fs/no-block.c is created to hold out-of-line stubs and things that are
    required when CONFIG_BLOCK is not set:

    (*) Default blockdev file operations (to give error ENODEV on opening).

    (*) Makes some /proc changes:

    (*) /proc/devices does not list any blockdevs.

    (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.

    (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.

    (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
    given command other than Q_SYNC or if a special device is specified.

    (*) In init/do_mounts.c, no reference is made to the blockdev routines if
    CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.

    (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
    error ENOSYS by way of cond_syscall if so).

    (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
    CONFIG_BLOCK is not set, since they can't then happen.

    Signed-Off-By: David Howells
    Signed-off-by: Jens Axboe

    David Howells
     

22 Sep, 2006

4 commits


05 Sep, 2006

1 commit


15 Jul, 2006

2 commits

  • Trying to pass kernel command line arguments to block2mtd at boot-time does
    not work currently. block2mtd_setup() is called so early that kmalloc()
    fails nevermind being able to do open_bdev_excl() (which requires rootfs to
    be mounted. This patch only saves the option string at the early boot stage,
    and parses them later when block2mtd_init() is called. If open_bdev_excl()
    fails, open_by_devnum(name_to_dev_t()) is tried instead, which makes it
    possible to initialize the driver before rootfs has been mounted. Also gets
    rid of the superfluous parse_name() that only checks if name is longer than
    80 chars and copies it to a string that is not kfreed.

    With this patch, I can boot statically compiled block2mtd, and mount jffs2
    as rootfs (without modules or initrd), with lilo config like this:

    root=/dev/mtdblock0
    append="rootfstype=jffs2 block2mtd.block2mtd=/dev/hdc2,65536"

    (Note that rootfstype=jffs2 is required, since the kernel only tries
    filesystems without "nodev" attribute by default, and jffs is "nodev").

    Compared to first version of this patch, this one does not copy the
    parameters to the global buffer if init has already been called, and the
    global array is marked as __initdata.

    Compared to the second version of this patch, module build is fixed.

    Compared to the third version of this patch, statically compiled block2mtd
    driver with no boot-time parameter no longer gives spurious error 'cannot
    open device ""'

    Signed-off-by: Ville Herva
    Acked-by: Jörn Engel
    Signed-off-by: David Woodhouse

    Ville Herva
     
  • PMC551 depends on PCI in Kconfig so there is no need to #error in code if PCI
    is not set.

    Signed-off-by: Rolf Eike Beer
    Signed-off-by: David Woodhouse

    Rolf Eike Beer
     

04 Jul, 2006

1 commit

  • * git://git.infradead.org/mtd-2.6:
    [JFFS2][XATTR] Fix memory leak in POSIX-ACL support
    fs/jffs2/: make 2 functions static
    [MTD] NAND: Fix broken sharpsl driver
    [JFFS2][XATTR] Fix xd->refcnt race condition
    MTD: kernel-doc fixes + additions
    MTD: fix all kernel-doc warnings
    [MTD] DOC: Fixup read functions and do a little cleanup

    Linus Torvalds
     

01 Jul, 2006

1 commit


30 Jun, 2006

1 commit

  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6:
    [PATCH] i386: export memory more than 4G through /proc/iomem
    [PATCH] 64bit Resource: finally enable 64bit resource sizes
    [PATCH] 64bit Resource: convert a few remaining drivers to use resource_size_t where needed
    [PATCH] 64bit resource: change pnp core to use resource_size_t
    [PATCH] 64bit resource: change pci core and arch code to use resource_size_t
    [PATCH] 64bit resource: change resource core to use resource_size_t
    [PATCH] 64bit resource: introduce resource_size_t for the start and end of struct resource
    [PATCH] 64bit resource: fix up printks for resources in misc drivers
    [PATCH] 64bit resource: fix up printks for resources in arch and core code
    [PATCH] 64bit resource: fix up printks for resources in pcmcia drivers
    [PATCH] 64bit resource: fix up printks for resources in video drivers
    [PATCH] 64bit resource: fix up printks for resources in ide drivers
    [PATCH] 64bit resource: fix up printks for resources in mtd drivers
    [PATCH] 64bit resource: fix up printks for resources in pci core and hotplug drivers
    [PATCH] 64bit resource: fix up printks for resources in networks drivers
    [PATCH] 64bit resource: fix up printks for resources in sound drivers
    [PATCH] 64bit resource: C99 changes for struct resource declarations

    Fixed up trivial conflict in drivers/ide/pci/cmd64x.c (the printk that
    was changed by the 64-bit resources had been deleted in the meantime ;)

    Linus Torvalds
     

28 Jun, 2006

2 commits


22 Jun, 2006

1 commit


15 Jun, 2006

1 commit


14 Jun, 2006

1 commit


30 May, 2006

2 commits


29 May, 2006

2 commits

  • 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

    Thomas Gleixner
     
  • Signed-off-by: Andrew Morton
    Signed-off-by: David Woodhouse

    Andrew Morton
     

25 May, 2006

1 commit


23 May, 2006

3 commits


22 May, 2006

1 commit


20 May, 2006

1 commit

  • drivers/mtd/devices/docprobe.c: In function `DoC_Probe':
    drivers/mtd/devices/docprobe.c:338: warning: assignment from incompatible pointer type
    drivers/mtd/devices/docprobe.c:341: warning: assignment from incompatible pointer type

    Cc: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: David Woodhouse

    Andrew Morton
     

17 May, 2006

1 commit

  • In an unrelated MTD commit, a description about the ms02-nv module
    got removed from Kconfig. While I personally agree with this
    removal, the module maintainer (Maciej W. Rozycki) would like to
    see it added back. In the absense of any consistency regarding
    Kconfig descriptions his wish should be followed.

    Signed-off-by: Martin Michlmayr
    Acked-by: Maciej W. Rozycki
    Signed-off-by: David Woodhouse

    Martin Michlmayr
     

16 May, 2006

1 commit

  • On Mon, May 15, 2006 at 12:56:37AM -0700, Andrew Morton wrote:
    >...
    > Changes since 2.6.17-rc3-mm1:
    >...
    > git-mtd.patch
    >...
    > git trees
    >...

    If we correct the names of the config options, the code might actually
    work as intended...

    Signed-off-by: Adrian Bunk
    Signed-off-by: David Woodhouse

    Adrian Bunk
     

14 May, 2006

1 commit