1. 18 May, 2010 19 commits
  2. 17 May, 2010 3 commits
    • NeilBrown's avatar
      md: manage redundancy group in sysfs when changing level. · a64c876f
      NeilBrown authored
      Some levels expect the 'redundancy group' to be present,
      others don't.
      So when we change level of an array we might need to
      add or remove this group.
      
      This requires fixing up the current practice of overloading ->private
      to indicate (when ->pers == NULL) that something needs to be removed.
      So create a new ->to_remove to fill that role.
      
      When changing levels, we may need to add or remove attributes.  When
      changing RAID5 -> RAID6, we both add and remove the same thing.  It is
      important to catch this and optimise it out as the removal is delayed
      until a lock is released, so trying to add immediately would cause
      problems.
      
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      a64c876f
    • NeilBrown's avatar
      md: remove unneeded sysfs files more promptly · b6eb127d
      NeilBrown authored
      When an array is stopped we need to remove some
      sysfs files which are dependent on the type of array.
      
      We need to delay that deletion as deleting them while holding
      reconfig_mutex can lead to deadlocks.
      
      We currently delay them until the array is completely destroyed.
      However it is possible to deactivate and then reactivate the array.
      It is also possible to need to remove sysfs files when changing level,
      which can potentially happen several times before an array is
      destroyed.
      
      So we need to delete these files more promptly: as soon as
      reconfig_mutex is dropped.
      
      We need to ensure this happens before do_md_run can restart the array,
      so we use open_mutex for some extra locking.  This is not deadlock
      prone.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      b6eb127d
    • NeilBrown's avatar
      md/linear: avoid possible oops and array stop · ef2f80ff
      NeilBrown authored
      Since commit ef286f6f
      it has been important that each personality clears
      ->private in the ->stop() function, or sets it to a
      attribute group to be removed.
      linear.c doesn't.  This can sometimes lead to an oops,
      though it doesn't always.
      
      Suitable for 2.6.33-stable and 2.6.34.
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Cc: stable@kernel.org
      ef2f80ff
  3. 11 May, 2010 1 commit
    • Dan Williams's avatar
      md: set mddev readonly flag on blkdev BLKROSET ioctl · e2218350
      Dan Williams authored
      When the user sets the block device to readwrite then the mddev should
      follow suit.  Otherwise, the BUG_ON in md_write_start() will be set to
      trigger.
      
      The reverse direction, setting mddev->ro to match a set readonly
      request, can be ignored because the blkdev level readonly flag precludes
      the need to have mddev->ro set correctly.  Nevermind the fact that
      setting mddev->ro to 1 may fail if the array is in use.
      
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      e2218350
  4. 16 Mar, 2010 1 commit
    • NeilBrown's avatar
      md: deal with merge_bvec_fn in component devices better. · 627a2d3c
      NeilBrown authored
      If a component device has a merge_bvec_fn then as we never call it
      we must ensure we never need to.  Currently this is done by setting
      max_sector to 1 PAGE, however this does not stop a bio being created
      with several sub-page iovecs that would violate the merge_bvec_fn.
      
      So instead set max_segments to 1 and set the segment boundary to the
      same as a page boundary to ensure there is only ever one single-page
      segment of IO requested at a time.
      
      This can particularly be an issue when 'xen' is used as it is
      known to submit multiple small buffers in a single bio.
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Cc: stable@kernel.org
      627a2d3c
  5. 08 Mar, 2010 1 commit
  6. 07 Mar, 2010 15 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-mrst-for-linus' of... · 322aafa6
      Linus Torvalds authored
      Merge branch 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)
        x86, mrst: Fix whitespace breakage in apb_timer.c
        x86, mrst: Fix APB timer per cpu clockevent
        x86, mrst: Remove X86_MRST dependency on PCI_IOAPIC
        x86, olpc: Use pci subarch init for OLPC
        x86, pci: Add arch_init to x86_init abstraction
        x86, mrst: Add Kconfig dependencies for Moorestown
        x86, pci: Exclude Moorestown PCI code if CONFIG_X86_MRST=n
        x86, numaq: Make CONFIG_X86_NUMAQ depend on CONFIG_PCI
        x86, pci: Add sanity check for PCI fixed bar probing
        x86, legacy_irq: Remove duplicate vector assigment
        x86, legacy_irq: Remove left over nr_legacy_irqs
        x86, mrst: Platform clock setup code
        x86, apbt: Moorestown APB system timer driver
        x86, mrst: Add vrtc platform data setup code
        x86, mrst: Add platform timer info parsing code
        x86, mrst: Fill in PCI functions in x86_init layer
        x86, mrst: Add dummy legacy pic to platform setup
        x86/PCI: Moorestown PCI support
        x86, ioapic: Add dummy ioapic functions
        x86, ioapic: Early enable ioapic for timer irq
        ...
      
      Fixed up semantic conflict of new clocksources due to commit
      17622339 ("clocksource: add argument to resume callback").
      322aafa6
    • Linus Torvalds's avatar
      Merge branch 'for-linus/i2c' of git://git.fluff.org/bjdooks/linux · dd04265b
      Linus Torvalds authored
      * 'for-linus/i2c' of git://git.fluff.org/bjdooks/linux:
        i2c: Add support for Xilinx XPS IIC Bus Interface
        i2c: omap: Add support for 16-bit registers
        i2c-pnx: fix setting start/stop condition
        powerpc: doc/dts-bindings: update doc of FSL I2C bindings
        i2c-mpc: add support for the MPC512x processors from Freescale
        i2c-mpc: rename "setclock" initialization functions to "setup"
        i2c-mpc: use __devinit[data] for initialization functions and data
        i2c/imx: don't add probe function to the driver struct
        i2c: Add support for Ux500/Nomadik I2C controller
      dd04265b
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 · 6dc3eb5c
      Linus Torvalds authored
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (66 commits)
        mfd: Fix ucb1x00 build failure for collie_defconfig
        mfd: Fix lpc_sch related depends/selects, fix build error
        gpio: Fix sch_gpio warning
        gpio: add Intel SCH GPIO controller driver
        i2c: convert i2c-isch to platform_device
        mfd: Use completion interrupt for WM831x AUXADC
        mfd: Use completion interrupt for WM835x AUXADC
        mfd: Introduce remove_script function for twl4030
        mfd/mmc: SDHI Kconfig update
        mfd: sh_mobile_sdhi MMC_CAP_MMC_HIGHSPEED support
        gpiolib: Force wm831x GPIOs into GPIO mode when requested
        mfd: Add WM831x revision B support
        gpiolib: Correct debugfs display of WM831x GPIO inversion
        gpiolib: Actually set output state in wm831x_gpio_direction_output()
        tmio_mmc: Balance cell enable()/disable() calls
        tmio_mmc: Remove const from platform data V3
        tmio_mmc: Use 100ms mmc_detect_change() delay
        tmio_mmc: Add MMC_CAP_MMC_HIGHSPEED support V2
        tmio_mmc: Keep card-detect interrupts enabled
        mfd: Add twl6030 base addr for ID0, ID1, ID2
        ...
      6dc3eb5c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 · 8fe900b8
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (368 commits)
        Staging: winbond: fix up wireless api errors
        Staging: dream: camera: sk5k3e2fx: fix code style issues
        Staging: dream: camera: msm_camera: fix code style issues
        Staging: wlan-ng: More checkpatch.pl error cleanups
        Staging: wlan-ng - checkpatch.pl fixups
        Staging: comedi: comedi_fops.c: Checkpatch cleanup
        Staging: comedi: fix suspect code indent in ni_labpc.c
        Staging: comedi: fix yet another brace coding style issue in ni_labpc.c
        Staging: comedi: fix another brace coding style issues in ni_labpc.c
        Staging: comedi: fix brace coding style issue in ni_labpc.c
        Staging: comedi: poc: Adding some KERN_ facility level
        Staging: dream: camera: msm_camera: fix some code style issues
        Staging: wlan-ng: fix most of the style issues in hfa384x.h
        Staging: dream: camera: msm_camera: fix coding style issues
        Staging: comedi: fix bracing coding style and 80 character issues in ni_660x.c
        Staging: comedi: fix bracing coding style issue in ni_65xx.c
        Staging: comedi: pcmad: Checkpatch cleanups
        Staging: comedi: poc: fix coding style issues
        staging: dt3155: revert u_long to u64 usage
        Staging: comedi: drivers.c: Checkpatch cleanup
        ...
      8fe900b8
    • Randy Dunlap's avatar
      seq_file: fix new kernel-doc warnings · 138860b9
      Randy Dunlap authored
      Fix kernel-doc notation in new seq-file functions and
      correct spelling.
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Li Zefan <lizf@cn.fujitsu.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      138860b9
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 · 4a31c08d
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (26 commits)
        sh: Convert sh to use read/update_persistent_clock
        sh: Move PMB debugfs entry initialization to later stage
        sh: Fix up flush_cache_vmap() on SMP.
        sh: fix up MMU reset with variable PMB mapping sizes.
        sh: establish PMB mappings for NUMA nodes.
        sh: check for existing mappings for bolted PMB entries.
        sh: fixed virt/phys mapping helpers for PMB.
        sh: make pmb iomapping configurable.
        sh: reworked dynamic PMB mapping.
        sh: Fix up cpumask_of_pcibus() for the NUMA build.
        serial: sh-sci: Tidy up build warnings.
        sh: Fix up ctrl_read/write stragglers in migor setup.
        serial: sh-sci: Add DMA support.
        dmaengine: shdma: extend .device_terminate_all() to record partial transfer
        sh: merge sh7722 and sh7724 DMA register definitions
        sh: activate runtime PM for dmaengine on sh7722 and sh7724
        dmaengine: shdma: add runtime PM support.
        dmaengine: shdma: separate DMA headers.
        dmaengine: shdma: convert to platform device resources
        dmaengine: shdma: fix DMA error handling.
        ...
      4a31c08d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 · 2ddb3b15
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6:
        parisc: use __ratelimit in unaligned.c
        parisc: Convert to read/update_persistent_clock
        parisc: Simplify param.h by including <asm-generic/param.h>
        parisc: drop unnecessary cast in __ldcw_align() macro
        parisc: add strict copy size checks (v2)
        parisc: remove trailing space in messages
        parisc: ditto sys_accept4
        parisc: wire up sys_recvmmsg
      2ddb3b15
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 · 5980bb3e
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
        PM: Provide generic subsystem-level callbacks
        PM / Runtime: Document power.runtime_auto and related functions
      5980bb3e
    • Linus Torvalds's avatar
      68ae6b5c
    • Ben Dooks's avatar
      Merge branch 'next-i2c-xilinx' into next-i2c · 3f4ae860
      Ben Dooks authored
      3f4ae860
    • Ben Dooks's avatar
      Merge branch 'next-i2c-omap' into next-i2c · 2086f848
      Ben Dooks authored
      2086f848
    • Ben Dooks's avatar
      Merge branch 'next-i2c-mpc-v8' into next-i2c · aaa02ab5
      Ben Dooks authored
      aaa02ab5
    • Richard Röjfors's avatar
      i2c: Add support for Xilinx XPS IIC Bus Interface · e1d5b659
      Richard Röjfors authored
      This patch adds support for the Xilinx XPS IIC Bus Interface.
      
      The driver uses the dynamic mode, supporting to put several
      I2C messages in the FIFO to reduce the number of interrupts.
      
      It has the same feature as ocores, it can be passed a list
      of devices that will be added when the bus is probed.
      Signed-off-by: default avatarRichard Röjfors <richard.rojfors@pelagicore.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      e1d5b659
    • Cory Maccarrone's avatar
      i2c: omap: Add support for 16-bit registers · d84d3ea3
      Cory Maccarrone authored
      The current i2c-omap driver is set up for 32-bit registers, which
      corresponds to most OMAP devices.  However, OMAP730/850 based
      devices use a 16-bit register size.
      
      This change modifies the driver to perform a runtime CPU type check
      to determine the register sizes, and uses a bit shift of either 1
      or 2 bits to compute the proper register sizes for all registers.
      Signed-off-by: default avatarCory Maccarrone <darkstar6262@gmail.com>
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      d84d3ea3
    • Luotao Fu's avatar
      i2c-pnx: fix setting start/stop condition · ad0194e8
      Luotao Fu authored
      The start/stop condtions are set in different places repetedly in the i2c-pnx
      driver.  Beside in i2c_pnx_start and i2c_pnx_stop the start/stop bit are also
      set during the transfer of a i2c message in the master_xmit/rcv calls. This is
      wrong since we can't set the start/stop condition during the transaction of a
      single message any way. As a matter of fact, the driver will sometimes set both
      the start and the stop bits at one time. This can be easily reproduced by
      sending a simple read request like e.g
      struct i2c_msg msgs[] = {
      { addr, 0, 1, buf },
      { addr, I2C_M_RD, offset, buf }
      };
      While processing the first message the i2c_pnx_master_xmit will set both the
      start_bit and the stop_bit, which will eventually confuse the slave.
      
      Fixed by remove setting start/stop condition from the transmit routines.
      Signed-off-by: default avatarLuotao Fu <l.fu@pengutronix.de>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      ad0194e8