11 Jul, 2007

2 commits

  • Signed-off-by: Yoichi Yuasa
    Signed-off-by: Ralf Baechle

    Yoichi Yuasa
     
  • Signed-off-by: Franck Bui-Huu
    Signed-off-by: Ralf Baechle

    delete mode 100644 arch/mips/configs/ocelot_c_defconfig
    delete mode 100644 arch/mips/momentum/ocelot_c/Makefile
    delete mode 100644 arch/mips/momentum/ocelot_c/cpci-irq.c
    delete mode 100644 arch/mips/momentum/ocelot_c/dbg_io.c
    delete mode 100644 arch/mips/momentum/ocelot_c/irq.c
    delete mode 100644 arch/mips/momentum/ocelot_c/ocelot_c_fpga.h
    delete mode 100644 arch/mips/momentum/ocelot_c/platform.c
    delete mode 100644 arch/mips/momentum/ocelot_c/prom.c
    delete mode 100644 arch/mips/momentum/ocelot_c/reset.c
    delete mode 100644 arch/mips/momentum/ocelot_c/setup.c
    delete mode 100644 arch/mips/momentum/ocelot_c/uart-irq.c
    delete mode 100644 arch/mips/pci/fixup-ocelot-c.c
    delete mode 100644 arch/mips/pci/pci-ocelot-c.c

    Franck Bui-Huu
     

05 Jun, 2007

1 commit

  • * git://git.infradead.org/mtd-2.6:
    [JFFS2] Fix obsoletion of metadata nodes in jffs2_add_tn_to_tree()
    [MTD] Fix error checking after get_mtd_device() in get_sb_mtd functions
    [JFFS2] Fix buffer length calculations in jffs2_get_inode_nodes()
    [JFFS2] Fix potential memory leak of dead xattrs on unmount.
    [JFFS2] Fix BUG() caused by failing to discard xattrs on deleted files.
    [MTD] generalise the handling of MTD-specific superblocks
    [MTD] [MAPS] don't force uclinux mtd map to be root dev

    Linus Torvalds
     

02 Jun, 2007

1 commit


01 Jun, 2007

2 commits

  • Fix various bits of obviously-busted code which we're not happening to
    compile, due to ifdefs.

    Cc: "Luck, Tony"
    Cc: Ivan Kokshaysky
    Cc: Richard Henderson
    Cc: Russell King
    Cc: Ralf Baechle
    Cc: Jeff Garzik
    Cc: Jan Kara
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoann Padioleau
     
  • I have made a tool to parse the kernel that does not pre-process the
    source. That means that my parser tries to parse all the code, including
    code in the #else branch or code that is not often compiled because the
    driver is not very used (or not used at all). So, my parser sometimes
    reports parse error not originally detected by gcc. Here is my (first)
    patch.

    [akpm@linux-foundation.org: fix amd8111e.c]
    Signed-off-by: Yoann Padioleau
    Acked-by: Matthew Wilcox
    Acked-by: Wim Van Sebroeck
    Acked-by: David Woodhouse
    Acked-by: Jeff Garzik
    Acked-by: James Bottomley
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoann Padioleau
     

17 May, 2007

1 commit

  • SLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.

    Signed-off-by: Christoph Lameter
    Cc: David Howells
    Cc: Jens Axboe
    Cc: Steven French
    Cc: Michael Halcrow
    Cc: OGAWA Hirofumi
    Cc: Miklos Szeredi
    Cc: Steven Whitehouse
    Cc: Roman Zippel
    Cc: David Woodhouse
    Cc: Dave Kleikamp
    Cc: Trond Myklebust
    Cc: "J. Bruce Fields"
    Cc: Anton Altaparmakov
    Cc: Mark Fasheh
    Cc: Paul Mackerras
    Cc: Christoph Hellwig
    Cc: Jan Kara
    Cc: David Chinner
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     

11 May, 2007

2 commits

  • Generalise the handling of MTD-specific superblocks so that JFFS2 and ROMFS
    can both share it.

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

    David Howells
     
  • The cheesy uclinux mtd maps can be used for more than just the root device, so
    I think we should drop the forcing.

    Also, I feel like this is a policy decision that shouldnt be in the kernel in
    the first place. People who have been lazy and boot with uclinux mtd maps and
    dont put root= into their commandline can simply add the appropriate root=
    line either into their bootloader or into the compiled in bootargs.

    Signed-off-by: Mike Frysinger
    Acked-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: David Woodhouse

    Mike Frysinger
     

10 May, 2007

2 commits

  • Add "depends on HAS_IOMEM" to a number of menus to make them
    disappear for s390 which does not have I/O memory.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • * git://git.infradead.org/mtd-2.6: (21 commits)
    [MTD] [CHIPS] Remove MTD_OBSOLETE_CHIPS (jedec, amd_flash, sharp)
    [MTD] Delete allegedly obsolete "bank_size" field of mtd_info.
    [MTD] Remove unnecessary user space check from mtd.h.
    [MTD] [MAPS] Remove flash maps for no longer supported 405LP boards
    [MTD] [MAPS] Fix missing printk() parameter in physmap_of.c MTD driver
    [MTD] [NAND] platform NAND driver: add driver
    [MTD] [NAND] platform NAND driver: update header
    [JFFS2] Simplify and clean up jffs2_add_tn_to_tree() some more.
    [JFFS2] Remove another bogus optimisation in jffs2_add_tn_to_tree()
    [JFFS2] Remove broken insert_point optimisation in jffs2_add_tn_to_tree()
    [JFFS2] Remember to calculate overlap on nodes which replace older nodes
    [JFFS2] Don't advance c->wbuf_ofs to next eraseblock after wbuf flush
    [MTD] [NAND] at91_nand.c: CMDLINE_PARTS support
    [MTD] [NAND] Tidy up handling of page number in nand_block_bad()
    [MTD] block2mtd_paramline[] mustn't be __initdata
    [MTD] [NAND] Support multiple chips in CAFÉ driver
    [MTD] [NAND] Rename cafe.c to cafe_nand.c and remove the multi-obj magic
    [MTD] [NAND] Use rslib for CAFÉ ECC
    [RSLIB] Support non-canonical GF representations
    [JFFS2] Remove dead file histo_mips.h
    ...

    Linus Torvalds
     

09 May, 2007

8 commits


08 May, 2007

4 commits

  • Paul Mackerras
     
  • This patch adds support for generic platform NAND driver.
    Updated after tglx's review/discussion in IRC #mtd channel.

    Signed-off-by: Vitaly Wool
    Signed-off-by: Thomas Gleixner
    Signed-off-by: David Woodhouse

    Vitaly Wool
     
  • I have never seen a use of SLAB_DEBUG_INITIAL. It is only supported by
    SLAB.

    I think its purpose was to have a callback after an object has been freed
    to verify that the state is the constructor state again? The callback is
    performed before each freeing of an object.

    I would think that it is much easier to check the object state manually
    before the free. That also places the check near the code object
    manipulation of the object.

    Also the SLAB_DEBUG_INITIAL callback is only performed if the kernel was
    compiled with SLAB debugging on. If there would be code in a constructor
    handling SLAB_DEBUG_INITIAL then it would have to be conditional on
    SLAB_DEBUG otherwise it would just be dead code. But there is no such code
    in the kernel. I think SLUB_DEBUG_INITIAL is too problematic to make real
    use of, difficult to understand and there are easier ways to accomplish the
    same effect (i.e. add debug code before kfree).

    There is a related flag SLAB_CTOR_VERIFY that is frequently checked to be
    clear in fs inode caches. Remove the pointless checks (they would even be
    pointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.

    This is the last slab flag that SLUB did not support. Remove the check for
    unimplemented flags from SLUB.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Ensure pages are uptodate after returning from read_cache_page, which allows
    us to cut out most of the filesystem-internal PageUptodate calls.

    I didn't have a great look down the call chains, but this appears to fixes 7
    possible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in
    ecryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in
    block2mtd. All depending on whether the filler is async and/or can return
    with a !uptodate page.

    Signed-off-by: Nick Piggin
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     

07 May, 2007

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (38 commits)
    kconfig: fix mconf segmentation fault
    kbuild: enable use of code from a different dir
    kconfig: error out if recursive dependencies are found
    kbuild: scripts/basic/fixdep segfault on pathological string-o-death
    kconfig: correct minor typo in Kconfig warning message.
    kconfig: fix path to modules.txt in Kconfig help
    usr/Kconfig: fix typo
    kernel-doc: alphabetically-sorted entries in index.html of 'htmldocs'
    kbuild: be more explicit on missing .config file
    kbuild: clarify the creation of the LOCALVERSION_AUTO string.
    kbuild: propagate errors from find in scripts/gen_initramfs_list.sh
    kconfig: refer to qt3 if we cannot find qt libraries
    kbuild: handle compressed cpio initramfs-es
    kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text
    kbuild: remove stale comment in modpost.c
    kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE
    kbuild: fix make mrproper for Documentation/DocBook/man
    kbuild: remove kconfig binaries during make mrproper
    kconfig/menuconfig: do not hardcode '.config'
    kbuild: override build timestamp & version
    ...

    Linus Torvalds
     

03 May, 2007

4 commits

  • This patch allows you to specify at91_nand partitions on the
    kernel command line using the mtdparts variable, if
    CONFIG_MTD_CMDLINE_PARTS is set.

    Signed-off-by: Frank Mandarino
    Signed-off-by: Andrew Victor
    Signed-off-by: David Woodhouse

    Andrew Victor
     
  • Further to the previous patch fixing the calculation of page number,
    both branches are using the same result. Clean up the function
    accordingly, calculating it (and also masking with pagemask) only in one
    place.

    Signed-off-by: Thomas Knobloch
    Signed-off-by: Thomas Gleixner
    Signed-off-by: David Woodhouse

    Thomas Knobloch
     
  • I noticed that many source files include while they do
    not appear to need it. Here is an attempt to clean it all up.

    In order to find all possibly affected files, I searched for all
    files including but without any other occurence of "pci"
    or "PCI". I removed the include statement from all of these, then I
    compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
    false positives manually.

    My tests covered 66% of the affected files, so there could be false
    positives remaining. Untested files are:

    arch/alpha/kernel/err_common.c
    arch/alpha/kernel/err_ev6.c
    arch/alpha/kernel/err_ev7.c
    arch/ia64/sn/kernel/huberror.c
    arch/ia64/sn/kernel/xpnet.c
    arch/m68knommu/kernel/dma.c
    arch/mips/lib/iomap.c
    arch/powerpc/platforms/pseries/ras.c
    arch/ppc/8260_io/enet.c
    arch/ppc/8260_io/fcc_enet.c
    arch/ppc/8xx_io/enet.c
    arch/ppc/syslib/ppc4xx_sgdma.c
    arch/sh64/mach-cayman/iomap.c
    arch/xtensa/kernel/xtensa_ksyms.c
    arch/xtensa/platform-iss/setup.c
    drivers/i2c/busses/i2c-at91.c
    drivers/i2c/busses/i2c-mpc.c
    drivers/media/video/saa711x.c
    drivers/misc/hdpuftrs/hdpu_cpustate.c
    drivers/misc/hdpuftrs/hdpu_nexus.c
    drivers/net/au1000_eth.c
    drivers/net/fec_8xx/fec_main.c
    drivers/net/fec_8xx/fec_mii.c
    drivers/net/fs_enet/fs_enet-main.c
    drivers/net/fs_enet/mac-fcc.c
    drivers/net/fs_enet/mac-fec.c
    drivers/net/fs_enet/mac-scc.c
    drivers/net/fs_enet/mii-bitbang.c
    drivers/net/fs_enet/mii-fec.c
    drivers/net/ibm_emac/ibm_emac_core.c
    drivers/net/lasi_82596.c
    drivers/parisc/hppb.c
    drivers/sbus/sbus.c
    drivers/video/g364fb.c
    drivers/video/platinumfb.c
    drivers/video/stifb.c
    drivers/video/valkyriefb.c
    include/asm-arm/arch-ixp4xx/dma.h
    sound/oss/au1550_ac97.c

    I would welcome test reports for these files. I am fine with removing
    the untested files from the patch if the general opinion is that these
    changes aren't safe. The tested part would still be nice to have.

    Note that this patch depends on another header fixup patch I submitted
    to LKML yesterday:
    [PATCH] scatterlist.h needs types.h
    http://lkml.org/lkml/2007/3/01/141

    Signed-off-by: Jean Delvare
    Cc: Badari Pulavarty
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • Documentation/modules.txt doesn't exist, but
    Documentation/kbuild/modules.txt does.

    Signed-off-by: Alexander E. Patrakov
    Signed-off-by: Sam Ravnborg

    Alexander E. Patrakov
     

02 May, 2007

5 commits


28 Apr, 2007

4 commits


27 Apr, 2007

3 commits

  • In case that there is no memory based bad block table available the
    function nand_block_checkbad() in drivers/mtd/nand/nand_base.c will call
    nand_block_bad() directly. When parameter 'getchip' is set to zero,
    nand_block_bad() will not right shift the offset to calculate the
    correct page number.

    Signed-off-by: Thomas Knobloch
    Signed-off-by: David Woodhouse

    Knobloch, Thomas
     
  • Signed-off-by: Artem Bityutskiy

    Artem Bityutskiy
     
  • UBI (Latin: "where?") manages multiple logical volumes on a single
    flash device, specifically supporting NAND flash devices. UBI provides
    a flexible partitioning concept which still allows for wear-levelling
    across the whole flash device.

    In a sense, UBI may be compared to the Logical Volume Manager
    (LVM). Whereas LVM maps logical sector numbers to physical HDD sector
    numbers, UBI maps logical eraseblocks to physical eraseblocks.

    More information may be found at
    http://www.linux-mtd.infradead.org/doc/ubi.html

    Partitioning/Re-partitioning

    An UBI volume occupies a certain number of erase blocks. This is
    limited by a configured maximum volume size, which could also be
    viewed as the partition size. Each individual UBI volume's size can
    be changed independently of the other UBI volumes, provided that the
    sum of all volume sizes doesn't exceed a certain limit.

    UBI supports dynamic volumes and static volumes. Static volumes are
    read-only and their contents are protected by CRC check sums.

    Bad eraseblocks handling

    UBI transparently handles bad eraseblocks. When a physical
    eraseblock becomes bad, it is substituted by a good physical
    eraseblock, and the user does not even notice this.

    Scrubbing

    On a NAND flash bit flips can occur on any write operation,
    sometimes also on read. If bit flips persist on the device, at first
    they can still be corrected by ECC, but once they accumulate,
    correction will become impossible. Thus it is best to actively scrub
    the affected eraseblock, by first copying it to a free eraseblock
    and then erasing the original. The UBI layer performs this type of
    scrubbing under the covers, transparently to the UBI volume users.

    Erase Counts

    UBI maintains an erase count header per eraseblock. This frees
    higher-level layers (like file systems) from doing this and allows
    for centralized erase count management instead. The erase counts are
    used by the wear-levelling algorithm in the UBI layer. The algorithm
    itself is exchangeable.

    Booting from NAND

    For booting directly from NAND flash the hardware must at least be
    capable of fetching and executing a small portion of the NAND
    flash. Some NAND flash controllers have this kind of support. They
    usually limit the window to a few kilobytes in erase block 0. This
    "initial program loader" (IPL) must then contain sufficient logic to
    load and execute the next boot phase.

    Due to bad eraseblocks, which may be randomly scattered over the
    flash device, it is problematic to store the "secondary program
    loader" (SPL) statically. Also, due to bit-flips it may become
    corrupted over time. UBI allows to solve this problem gracefully by
    storing the SPL in a small static UBI volume.

    UBI volumes vs. static partitions

    UBI volumes are still very similar to static MTD partitions:

    * both consist of eraseblocks (logical eraseblocks in case of UBI
    volumes, and physical eraseblocks in case of static partitions;
    * both support three basic operations - read, write, erase.

    But UBI volumes have the following advantages over traditional
    static MTD partitions:

    * there are no eraseblock wear-leveling constraints in case of UBI
    volumes, so the user should not care about this;
    * there are no bit-flips and bad eraseblocks in case of UBI volumes.

    So, UBI volumes may be considered as flash devices with relaxed
    restrictions.

    Where can it be found?

    Documentation, kernel code and applications can be found in the MTD
    gits.

    What are the applications for?

    The applications help to create binary flash images for two purposes: pfi
    files (partial flash images) for in-system update of UBI volumes, and plain
    binary images, with or without OOB data in case of NAND, for a manufacturing
    step. Furthermore some tools are/and will be created that allow flash content
    analysis after a system has crashed..

    Who did UBI?

    The original ideas, where UBI is based on, were developed by Andreas
    Arnez, Frank Haverkamp and Thomas Gleixner. Josh W. Boyer and some others
    were involved too. The implementation of the kernel layer was done by Artem
    B. Bityutskiy. The user-space applications and tools were written by Oliver
    Lohmann with contributions from Frank Haverkamp, Andreas Arnez, and Artem.
    Joern Engel contributed a patch which modifies JFFS2 so that it can be run on
    a UBI volume. Thomas Gleixner did modifications to the NAND layer. Alexander
    Schmidt made some testing work as well as core functionality improvements.

    Signed-off-by: Artem B. Bityutskiy
    Signed-off-by: Frank Haverkamp

    Artem B. Bityutskiy