1. 12 Aug, 2010 27 commits
  2. 11 Aug, 2010 13 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 5af568cb
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
        isofs: Fix lseek() to position beyond 4 GB
        vfs: remove unused MNT_STRICTATIME
        vfs: show unreachable paths in getcwd and proc
        vfs: only add " (deleted)" where necessary
        vfs: add prepend_path() helper
        vfs: __d_path: dont prepend the name of the root dentry
        ia64: perfmon: add d_dname method
        vfs: add helpers to get root and pwd
        cachefiles: use path_get instead of lone dget
        fs/sysv/super.c: add support for non-PDP11 v7 filesystems
        V7: Adjust sanity checks for some volumes
        Add v7 alias
        v9fs: fixup for inode_setattr being removed
      
      Manual merge to take Al's version of the fs/sysv/super.c file: it merged
      cleanly, but Al had removed an unnecessary header include, so his side
      was better.
      5af568cb
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus · 062e27ec
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:
        Squashfs: fix checkpatch.pl warnings
        Squashfs: fix filename typo
        Squashfs: update Kconfig and documentation for LZO
        Squashfs: fix block size use in LZO decompressor
        Squashfs: Add LZO compression support
        squashfs: fix filename in header comment
        Squashfs: Make XATTR config name consistent with other file systems
        squashfs: fix compiler inline warning
      062e27ec
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd · bf25db36
      Linus Torvalds authored
      * 'for-linus' of git://git.open-osd.org/linux-open-osd:
        exofs: Fix groups code when num_devices is not divisible by group_width
        exofs: Remove useless optimization
        exofs: exofs_file_fsync and exofs_file_flush correctness
        exofs: Remove superfluous dependency on buffer_head and writeback
      bf25db36
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 682c30ed
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (39 commits)
        ceph: generalize mon requests, add pool op support
        ceph: only queue async writeback on cap revocation if there is dirty data
        ceph: do not ignore osd_idle_ttl mount option
        ceph: constify dentry_operations
        ceph: whitespace cleanup
        ceph: add flock/fcntl lock support
        ceph: define on-wire types, constants for file locking support
        ceph: add CEPH_FEATURE_FLOCK to the supported feature bits
        ceph: support v2 reconnect encoding
        ceph: support v2 client_caps encoding
        ceph: move AES iv definition to shared header
        ceph: fix decoding of pool snap info
        ceph: make ->sync_fs not wait if wait==0
        ceph: warn on missing snap realm
        ceph: print useful error message when crush rule not found
        ceph: use %pU to print uuid (fsid)
        ceph: sync header defs with server code
        ceph: clean up header guards
        ceph: strip misleading/obsolete version, feature info
        ceph: specify supported features in super.h
        ...
      682c30ed
    • Linus Torvalds's avatar
      Merge branch 'msm-video' of git://codeaurora.org/quic/kernel/dwalker/linux-msm · 84479f3c
      Linus Torvalds authored
      * 'msm-video' of git://codeaurora.org/quic/kernel/dwalker/linux-msm:
        video: msm: Fix section mismatch in mddi.c.
        drivers: video: msm: drop some unused variables
      84479f3c
    • Linus Torvalds's avatar
      Merge branch 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 · 946880fa
      Linus Torvalds authored
      * 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6:
        IXP4xx: Fix LL debugging on little-endian CPU.
        IXP4xx: Fix sparse warnings in I/O primitives.
        IXP4xx: Make mdio_bus struct static in the Ethernet driver.
        IXP4xx: Fix ixp4xx_crypto little-endian operation.
        IXP4xx: Prevent HSS transmitter lockup by disabling FRaMe signals.
        ixp4xx/vulcan: add PCI support
        ixp4xx: base support for Arcom Vulcan
      946880fa
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm · 636d1742
      Linus Torvalds authored
      * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (226 commits)
        ARM: 6323/1: cam60: don't use __init for cam60_spi_{flash_platform_data,partitions}
        ARM: 6324/1: cam60: move cam60_spi_devices to .init.data
        ARM: 6322/1: imx/pca100: Fix name of spi platform data
        ARM: 6321/1: fix syntax error in main Kconfig file
        ARM: 6297/1: move U300 timer to dynamic clock lookup
        ARM: 6296/1: clock U300 intcon and timer properly
        ARM: 6295/1: fix U300 apb_pclk split
        ARM: 6306/1: fix inverted MMC card detect in U300
        ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID
        ARM: 6294/1: etm: do a dummy read from OSSRR during initialization
        ARM: 6292/1: coresight: add ETM management registers
        ARM: 6288/1: ftrace: document mcount formats
        ARM: 6287/1: ftrace: clean up mcount assembly indentation
        ARM: 6286/1: fix Thumb-2 decompressor broken by "Auto calculate ZRELADDR"
        ARM: 6281/1: video/imxfb.c: allow usage without BACKLIGHT_CLASS_DEVICE
        ARM: 6280/1: imx: Fix build failure when including <mach/gpio.h> without <linux/spinlock.h>
        ARM: S5PV210: Fix on missing s3c-sdhci card detection method for hsmmc3
        ARM: S5P: Fix on missing S5P_DEV_FIMC in plat-s5p/Kconfig
        ARM: S5PV210: Override FIMC driver name on Aquila board
        ARM: S5PC100: enable FIMC on SMDKC100
        ...
      
      Fix up conflicts in arch/arm/mach-{s5pc100,s5pv210}/cpu.c due to
      different subsystem 'setname' calls, and trivial port types in
      include/linux/serial_core.h
      636d1742
    • Prarit Bhargava's avatar
      lib/decompress_bunzip2.c: fix checkstack warning · dd21e9bd
      Prarit Bhargava authored
      Fix checkstack error:
      
      lib/decompress_bunzip2.c: In function `get_next_block':
      lib/decompress_bunzip2.c:511: warning: the frame size of 1932 bytes is larger than 1024 bytes
      
      byteCount, symToByte, and mtfSymbol cannot be declared static or allocated
      dynamically so place them in the bunzip_data struct.
      Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
      Cc: Phillip Lougher <phillip@lougher.demon.co.uk>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dd21e9bd
    • Stefani Seibold's avatar
      kfifo: add example files to the kernel sample directory · 5bf2b193
      Stefani Seibold authored
      Add four examples to the kernel sample directory.
      
      It shows how to handle:
      - a byte stream fifo
      - a integer type fifo
      - a dynamic record sized fifo
      - the fifo DMA functions
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: default avatarStefani Seibold <stefani@seibold.net>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5bf2b193
    • Stefani Seibold's avatar
      kfifo: replace the old non generic API · 2e956fb3
      Stefani Seibold authored
      Simply replace the whole kfifo.c and kfifo.h files with the new generic
      version and fix the kerneldoc API template file.
      Signed-off-by: default avatarStefani Seibold <stefani@seibold.net>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2e956fb3
    • Stefani Seibold's avatar
      kfifo: add the new generic kfifo API · 4201d9a8
      Stefani Seibold authored
      Add the new version of the kfifo API files kfifo.c and kfifo.h.
      Signed-off-by: default avatarStefani Seibold <stefani@seibold.net>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4201d9a8
    • Stefani Seibold's avatar
      kfifo: fix kfifo miss use of nozami.c · 4457d984
      Stefani Seibold authored
      There are different types of a fifo which can not handled in C without a
      lot of overhead.  So i decided to write the API as a set of macros, which
      is the only way to do a kind of template meta programming without C++.
      This macros handles the different types of fifos in a transparent way.
      
      There are a lot of benefits:
      
      - Compile time handling of the different fifo types
      - Better performance (a save put or get of an integer does only generate
        9 assembly instructions on a x86)
      - Type save
      - Cleaner interface, the additional kfifo_..._rec() functions are gone
      - Easier to use
      - Less error prone
      - Different types of fifos: it is now possible to define a int fifo or
        any other type. See below for an example.
      - Smaller footprint for none byte type fifos
      - No need of creating a second hidden variable, like in the old DEFINE_KFIFO
      
      The API was not changed.
      
      There are now real in place fifos where the data space is a part of the
      structure.  The fifo needs now 20 byte plus the fifo space.  Dynamic
      assigned or allocated create a little bit more code.
      
      Most of the macros code will be optimized away and simple generate a
      function call.  Only the really small one generates inline code.
      
      Additionally you can now create fifos for any data type, not only the
      "unsigned char" byte streamed fifos.
      
      There is also a new kfifo_put and kfifo_get function, to handle a single
      element in a fifo.  This macros generates inline code, which is lit bit
      larger but faster.
      
      I know that this kind of macros are very sophisticated and not easy to
      maintain.  But i have all tested and it works as expected.  I analyzed the
      output of the compiler and for the x86 the code is as good as hand written
      assembler code.  For the byte stream fifo the generate code is exact the
      same as with the current kfifo implementation.  For all other types of
      fifos the code is smaller before, because the interface is easier to use.
      
      The main goal was to provide an API which is very intuitive, save and easy
      to use.  So linux will get now a powerful fifo API which provides all what
      a developer needs.  This will save in the future a lot of kernel space,
      since there is no need to write an own implementation.  Most of the device
      driver developers need a fifo, and also deep kernel development will gain
      benefit from this API.
      
      Here are the results of the text section usage:
      
      Example 1:
                              kfifo_put/_get  kfifo_in/out    current kfifo
      dynamic allocated       0x000002a8      0x00000291      0x00000299
      in place                0x00000291      0x0000026e      0x00000273
      
      kfifo.c                 new             old
      text section size       0x00000be5      0x000008b2
      
      As you can see, kfifo_put/kfifo_get creates a little bit more code than
      kfifo_in/kfifo_out, but it is much faster (the code is inline).
      
      The code is complete hand crafted and optimized.  The text section size is
      as small as possible.  You get all the fifo handling in only 3 kb.  This
      includes type safe fix size records, dynamic records and DMA handling.
      
      This should be the final version. All requested features are implemented.
      
      Note: Most features of this API doesn't have any users.  All functions
      which are not used in the next 9 months will be removed.  So, please adapt
      your drivers and other sources as soon as possible to the new API and post
      it.
      
      This are the features which are currently not used in the kernel:
      
      kfifo_to_user()
      kfifo_from_user()
      kfifo_dma_....() macros
      kfifo_esize()
      kfifo_recsize()
      kfifo_put()
      kfifo_get()
      
      The fixed size record elements, exclude "unsigned char" fifo's and the
      variable size records fifo's
      
      This patch:
      
      User of the kernel fifo should never bypass the API and directly access
      the fifo structure.  Otherwise it will be very hard to maintain the API.
      Signed-off-by: default avatarStefani Seibold <stefani@seibold.net>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4457d984
    • Robert P. J. Day's avatar
      kfifo: kfifo_is_{full,empty} should return bools, not ints · ad9c7ed0
      Robert P. J. Day authored
      For consistency with other kfifo routines, return bool, not int.
      Signed-off-by: default avatarRobert P. J. Day <rpjday@crashcourse.ca>
      Cc: Stefani Seibold <stefani@seibold.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ad9c7ed0