1. 25 10月, 2012 1 次提交
  2. 19 10月, 2012 1 次提交
  3. 18 10月, 2012 1 次提交
  4. 16 10月, 2012 3 次提交
  5. 09 10月, 2012 2 次提交
  6. 08 10月, 2012 1 次提交
    • J
      ARM: OMAP2+: hwmod data: Fix PMU interrupt definitions · 3dc3401c
      Jon Hunter 提交于
      Commit 7d7e1eba (ARM: OMAP2+: Prepare for irqs.h removal) and commit ec2c0825
      (ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ) updated the way
      interrupts for OMAP2/3 devices are defined in the HWMOD data structures to
      being an index plus a fixed offset (defined by OMAP_INTC_START). The definition
      of the PMU interrupts on OMAP2/3 devices is missing the OMAP_INTC_START offset
      and so this is causing the allocation of PMU interrupts to fail on OMAP2/3
      devices. So add the offset to fix this.
      
      This is patch is based upon Tony's master branch for OMAP.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      3dc3401c
  7. 24 9月, 2012 7 次提交
    • J
      ARM: OMAP4460/4470: PMU: Enable PMU for OMAP4460/70 · 76a5d9bf
      Jon Hunter 提交于
      OMAP4460 and OMAP4470 devices have dedicated PMU interrupts and so add these
      interrupts to the MPU HWMOD so we can use these for PMU events on these
      devices. The PMU interrupts need to be the first interrupts in the array of
      interrupts as the ARM PMU driver assumes this.
      
      By using these dedicated interrupts we only need to enable the MPU and DEBUG
      sub-systems for PMU to work. This is different to OMAP4430 that did not have
      dedicated interrupts and required other power domains in addition to the DEBUG
      sub-system to be enabled so we could route the PMU events to the CTI interrupts.
      Hence, OMAP4460 and OMAP4470 devices can use the same list of HWMODs to create
      the PMU device that is using by OMAP3.
      
      Cc: Ming Lei <ming.lei@canonical.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: updated to apply]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      76a5d9bf
    • J
      ARM: OMAP2+: PMU: Convert OMAP2/3 devices to use HWMOD · ee75d95c
      Jon Hunter 提交于
      Convert OMAP2/3 devices to use HWMOD for creating a PMU device. To support PMU
      on OMAP2 devices we only need to use MPU sub-system and so we can simply use
      the MPU HWMOD to create the PMU device. To support PMU on OMAP3 devices, we need
      to use the MPU and DEBUG sub-systems and so use these HWMODs to create the PMU
      device for OMAP3.
      
      The MPU HWMOD for OMAP2/3 devices is currently missing the PMU interrupt and so
      add the PMU interrupt to the MPU HWMOD for these devices.
      
      This change also moves the PMU code out of the mach-omap2/devices.c files into
      its own pmu.c file as suggested by Kevin Hilman to de-clutter devices.c.
      
      Cc: Ming Lei <ming.lei@canonical.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: fixed checkpatch messages; updated to apply; dropped old-style
       initial filename line in header comments]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      ee75d95c
    • J
      ARM: OMAP3: hwmod data: Add debugss HWMOD data · c7dad45f
      Jon Hunter 提交于
      To enable PMU with runtime PM support on OMAP3 devices we need to be able to
      dynamically enable and disable the debug sub-system at runtime. By adding HWMOD
      data for the debug sub-system for OMAP3, we can build the PMU device using the
      debug sub-system HWMOD and control this power domain using runtime PM.
      Reviewed-by: NBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: updated to apply; added L4-EMU address space]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      c7dad45f
    • J
      ARM: OMAP: Add a timer attribute for timers that can interrupt the DSP · 5c3e4ec4
      Jon Hunter 提交于
      Some instances of the DMTIMER peripheral on OMAP devices have the ability
      to interrupt the on-chip DSP in addition to the ARM CPU. Add a DMTIMER
      attribute to indicate which timers can interrupt the DSP. By using the
      omap_dm_timer_request_by_cap() API, driver will now be able to allocate
      a DMTIMER that can interrupt the DSP based upon this attribute and not require
      the driver to know which instance has this capability.
      
      DMTIMERs that have the ability to interrupt the DSP on OMAP devices are as
      follows ...
      
      - OMAP1 (OMAP5912/16xx/17xx) devices	- All 8 DMTIMERs
      - OMAP2/3/4 devices			- DMTIMERs 5-8
      
      Please note that for OMAP3+, timer8 has the ability to interrupt the DSP and
      generate a PWM output.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      5c3e4ec4
    • A
      ARM: OMAP2/3: hwmod data: add gpmc · 49484a60
      Afzal Mohammed 提交于
      Add gpmc hwmod and associated interconnect data
      Signed-off-by: NAfzal Mohammed <afzal@ti.com>
      [paul@pwsan.com: added comments to the use of HWMOD_INIT_NO_RESET]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      49484a60
    • P
      ARM: OMAP3: hwmod data: add mmu data for iva and isp · 5486474c
      Paul Walmsley 提交于
      Add mmu hwmod data for iva and isp.
      
      Due to compatibility an ifdef CONFIG_OMAP_IOMMU_IVA2 needs to be
      propagated (previously on iommu resource info) to hwmod data in OMAP3,
      so users of iommu and tidspbridge can avoid issues of two modules
      managing mmu data/irqs/resets; this until tidspbridge can be migrated
      to iommu framework.
      
      Cc: Benoit Cousson <b-cousson@ti.com>
      Signed-off-by: NOmar Ramirez Luna <omar.luna@linaro.org>
      [paul@pwsan.com: fixed some kerneldoc and whitespace; ISP MMUs not present
       on AM35xx so restricted these hwmods to 34xx/36xx]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      5486474c
    • T
      ARM: OMAP3: hwmod data: add sad2d hwmod · 8f993a01
      Tero Kristo 提交于
      SAD2D stands for the die to die interface, and is used for communicating
      with the optional stacked modem. This hwmod is added in preparation for
      the d2d_idle move from pm34xx.c to hwmod data.
      Signed-off-by: NTero Kristo <t-kristo@ti.com>
      [paul@pwsan.com: SAD2D presumably doesn't exist on non-OMAP34xx/OMAP36xx,
       so only add it to the OMAP34xx/OMAP36xx lists]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      8f993a01
  8. 21 9月, 2012 3 次提交
  9. 19 9月, 2012 1 次提交
    • A
      ARM: omap: move platform_data definitions · 2203747c
      Arnd Bergmann 提交于
      Platform data for device drivers should be defined in
      include/linux/platform_data/*.h, not in the architecture
      and platform specific directories.
      
      This moves such data out of the omap include directories
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: "Benoît Cousson" <b-cousson@ti.com>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Ohad Ben-Cohen <ohad@wizery.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Cc: Jean Pihet <j-pihet@ti.com>
      Cc: J Keerthy <j-keerthy@ti.com>
      Cc: linux-omap@vger.kernel.org
      2203747c
  10. 13 9月, 2012 3 次提交
    • T
      ARM: OMAP: Split plat/hardware.h, use local soc.h for omap2+ · dbc04161
      Tony Lindgren 提交于
      As the plat and mach includes need to disappear for single zImage work,
      we need to remove plat/hardware.h.
      
      Do this by splitting plat/hardware.h into omap1 and omap2+ specific files.
      
      The old plat/hardware.h already has omap1 only defines, so it gets moved
      to mach/hardware.h for omap1. For omap2+, we use the local soc.h
      that for now just includes the related SoC headers to keep this patch more
      readable.
      
      Note that the local soc.h still includes plat/cpu.h that can be dealt
      with in later patches. Let's also include plat/serial.h from common.h for
      all the board-*.c files. This allows making the include files local later
      on without patching these files again.
      
      Note that only minimal changes are done in this patch for the
      drivers/watchdog/omap_wdt.c driver to keep things compiling. Further
      patches are needed to eventually remove cpu_is_omap usage in the drivers.
      
      Also only minimal changes are done to sound/soc/omap/* to remove the
      unneeded includes and to define OMAP44XX_MCPDM_L3_BASE locally so there's
      no need to include omap44xx.h.
      
      While at it, also sort some of the includes in the standard way.
      
      Cc: linux-watchdog@vger.kernel.org
      Cc: alsa-devel@alsa-project.org
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Acked-by: NWim Van Sebroeck <wim@iguana.be>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      dbc04161
    • T
      ARM: OMAP2+: Prepare for irqs.h removal · 7d7e1eba
      Tony Lindgren 提交于
      As the interrupts should only be defined in the platform_data, and
      eventually coming from device tree, there's no need to define them
      in header files.
      
      Let's remove the hardcoded references to irqs.h and fix up the includes
      so we don't rely on headers included in irqs.h. Note that we're
      defining OMAP_INTC_START as 0 to the interrupts. This will be needed
      when we enable SPARSE_IRQ. For some drivers we need to add
      #include <plat/cpu.h> for now until these drivers are fixed to
      remove cpu_is_omapxxxx() usage.
      
      While at it, sort som of the includes the standard way, and add
      the trailing commas where they are missing in the related data
      structures.
      
      Note that for drivers/staging/tidspbridge we just define things
      locally.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      7d7e1eba
    • T
      ARM: OMAP: Move gpio.h to include/linux/platform_data · 4b25408f
      Tony Lindgren 提交于
      This way we can remove includes of plat/gpio.h which won't work
      with the single zImage support.
      
      Note that we also remove the cpu_class_is_omap2() check
      in gpio-omap.c as the drivers should not call it as we need to
      make it local to arch/arm/mach-omap2 for single zImage support.
      
      While at it, arrange the related includes in the standard way.
      
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: linux-mtd@lists.infradead.org
      Cc: alsa-devel@alsa-project.org
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      4b25408f
  11. 04 9月, 2012 1 次提交
  12. 28 6月, 2012 4 次提交
    • M
      ARM: OMAP AM35x: EMAC/MDIO integration: Add Davinci EMAC/MDIO hwmod support · 31ba8808
      Mark A. Greer 提交于
      Add hwmod support for the EMAC (and MDIO)
      ethernet controller that's on the am35x
      family of SoC's.
      Signed-off-by: NMark A. Greer <mgreer@animalcreek.com>
      [paul@pwsan.com: updated subject line; updated to apply on v3.5-rc4;
       added comments to hwmod data regarding IPSS]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      31ba8808
    • P
      ARM: OMAP: AM35xx: fix UART4 softreset · 82ee620d
      Paul Walmsley 提交于
      During kernel init, the AM3505/AM3517 UART4 cannot complete its softreset:
      
      omap_hwmod: uart4: softreset failed (waited 10000 usec)
      
      This also results in another warning later in the boot process:
      
      omap_hwmod: uart4: enabled state can only be entered from initialized, idle, or disabled state
      
      From empirical observation, the AM35xx UART4 IP block requires either
      uart1_fck or uart2_fck to be enabled while UART4 resets.  Otherwise
      the reset will never complete.  So this patch adds uart1_fck as an
      optional clock for UART4 and adds the appropriate hwmod flag to cause
      uart1_fck to be enabled during the reset process.  (The choice of
      uart1_fck over uart2_fck was arbitrary.)
      
      Unfortunately this observation raises many questions.  Is it necessary
      for uart1_fck or uart2_fck to be controlled with uart4_fck for the
      UART4 to work correctly?  What exactly do the AM35xx UART4 clock
      tree and the related PRCM idle management FSMs look like?  If anyone
      has the ability to answer these questions through empirical functional
      testing, or hardware information from the AM35xx designers, it would
      be greatly appreciated.
      
      Cc: Benoît Cousson <b-cousson@ti.com>
      Cc: Kyle Manna <kyle.manna@fuel7.com>
      Cc: Mark A. Greer <mgreer@animalcreek.com>
      Cc: Ranjith Lohithakshan <ranjithl@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Tested-by: NMark A. Greer <mgreer@animalcreek.com>
      82ee620d
    • P
      ARM: OMAP AM35xx: clock and hwmod data: fix UART4 data · bf765237
      Paul Walmsley 提交于
      Add missing terminators to the arrays of IRQ, DMA, and address space
      structure records in the AM35xx UART4 hwmod data.  Without these
      terminators, the following warnings appear on boot:
      
      omap_uart.3: failed to claim resource 58
      omap_device: omap_uart: build failed (-16)
      WARNING: at /home/paul/linux/arch/arm/mach-omap2/serial.c:375 omap_serial_init_port+0x198/0x284()
      Could not build omap_device for omap_uart: uart4.
      
      Also, AM35xx uart4_fck has an incorrect parent clock pointer.  Fix it
      and clean up a whitespace issue.
      
      Fix some incorrectly-named macros related to AM35xx UART4.
      
      Cc: Kyle Manna <kyle.manna@fuel7.com>
      Cc: Mark A. Greer <mgreer@animalcreek.com>
      Cc: Ranjith Lohithakshan <ranjithl@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Tested-by: NMark A. Greer <mgreer@animalcreek.com>
      bf765237
    • P
      ARM: OMAP AM35xx: clock and hwmod data: fix AM35xx HSOTGUSB hwmod · 89ea2583
      Paul Walmsley 提交于
      Partially fix the hwmod data for the AM35xx USB OTG hwmod.  This
      should resolve the following boot warning on AM35xx platforms:
      
      omap_hwmod: am35x_otg_hs: cannot be enabled for reset (3)
      
      While here, also fix the clkdev records, to avoid warnings about
      duplicate clock aliases.
      
      The hwmod is also connected to the wrong interconnect.  It should be
      connected to the IPSS, not the L4 CORE.  But that is left for a future
      fix, since it probably has a dependency on some hwmod core changes.
      
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Hema HK <hemahk@ti.com>
      Cc: Mark A. Greer <mgreer@animalcreek.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Tested-by: NMark A. Greer <mgreer@animalcreek.com>
      89ea2583
  13. 19 6月, 2012 2 次提交
  14. 14 6月, 2012 2 次提交
    • J
      ARM: OMAP2+: Fix external clock support for dmtimers · 67d2e760
      Jon Hunter 提交于
      Currently, the dmtimer determines whether an timer can support an external
      clock source (sys_altclk) for driving the timer by the IP version. Only
      OMAP24xx devices can support an external clock source, but the IP version
      between OMAP24xx and OMAP3xxx is common and so this incorrectly indicates
      that OMAP3 devices can use an external clock source.
      
      Rather than use the IP version, just let the clock framework handle this.
      If the "alt_ck" does not exist for a timer then the clock framework will fail
      to find the clock and hence will return an error. By doing this we can eliminate
      the "timer_ip_version" variable passed as part of the platform data and simplify
      the code.
      
      We can also remove the timer IP version from the HWMOD data because the dmtimer
      driver uses the TIDR register to determine the IP version.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      67d2e760
    • J
      ARM: OMAP2+: HWMOD: Correct timer device attributes · 139486fa
      Jon Hunter 提交于
      Fix the following issues with the timer device attributes for OMAP2+ devices:
      
      1. For OMAP24xx devices, timers 2-8 have the ALWAYS-ON attribute indicating
         that these timers are in an ALWAYS-ON power domain. This is not the case
         only timer1 is in an ALWAYS-ON power domain.
      2. For OMAP3xxx devices, timers 2-7 have the ALWAYS-ON attribute indicating
         that these timers are in an ALWAYS-ON power domain. This is not the case
         only timer1 and timer12 are in an ALWAYS-ON power domain.
      3. For OMAP3xxx devices, timer12 does not have the ALWAYS-ON attribute but
         is in an always-on power domain.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Acked-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      139486fa
  15. 01 6月, 2012 2 次提交
  16. 11 5月, 2012 1 次提交
  17. 09 5月, 2012 4 次提交
    • K
      ARM: OMAP2+: WDTIMER integration: fix !PM boot crash, disarm timer after hwmod reset · 414e4128
      Kevin Hilman 提交于
      Without runtime PM enabled, hwmod needs to leave all IP blocks in an
      enabled state by default so any driver access to the HW will succeed.
      This is accomplished by seting the postsetup_state to enabled for all
      hwmods during init when runtime PM is disabled.
      
      Currently, we have a special case for WDT in that its postsetup_state
      is always set to disabled.  This is done so that the WDT is disabled
      and the timer is disarmed at boot in case there is no WDT driver.
      This also means that when runtime PM is disabled, if a WDT driver *is*
      built in the kernel, the kernel will crash on the first access to the
      WDT hardware.
      
      We can't simply leave the WDT module enabled, because the timer is
      armed by default after reset. That means that if there is no WDT
      driver initialzed or loaded before the timer expires, the kernel will
      reboot.
      
      To fix this, a custom reset method is added to the watchdog class of
      omap_hwmod.  This method will *always* disarm the timer after hwmod
      reset.  The WDT timer then will only be rearmed when/if the driver is
      loaded for the WDT.  With the timer disarmed by default, we no longer
      need a special-case for the postsetup_state of WDT during init, so it
      is removed.
      
      Any platforms wishing to ensure the watchdog remains armed across the
      entire boot boot can simply disable the reset-on-init feature of the
      watchdog hwmod using omap_hwmod_no_setup_reset().
      
      Tested on 3530/Overo, 4430/Panda.
      
      NOTE: on 4430, the hwmod OCP reset does not seem to rearm the timer as
      documented in the TRM (and what happens on OMAP3.)  I noticed this
      because testing the HWMOD_INIT_NO_RESET feature with no driver loaded,
      I expected a reboot part way through the boot, but did not see a
      reboot.  Adding some debug to read the counter, I verified that right
      after OCP softreset, the counter is not firing.  After writing the
      magic start sequence, the timer starts counting.  This means that the
      timer disarm sequence added here does not seem to be needed for 4430,
      but is technically the correct way to ensure the timer is disarmed, so
      it is left in for OMAP4.
      
      Special thanks to Paul Walmsley for helping brainstorm ideas to fix
      this problem.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      [paul@pwsan.com: updated the omap2_wd_timer_reset() function in the
       wake of commit 3c55c1ba ("ARM:
       OMAP2+: hwmod: Revert "ARM: OMAP2+: hwmod: Make omap_hwmod_softreset
       wait for reset status""); added kerneldoc; rolled in warning fix from Kevin]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      414e4128
    • V
      ARM: OMAP2/3: hwmod data: Add 32k-sync timer data to hwmod database · c8d82ff6
      Vaibhav Hiremath 提交于
      Add 32k-sync timer hwmod-data and add ocp_if details to
      omap2 & 3 hwmod table.
      Signed-off-by: NVaibhav Hiremath <hvaibhav@ti.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Reviewed-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      c8d82ff6
    • P
      ARM: OMAP3: hwmod_data: Rename the common irq for McBSP ports · 1c2badc1
      Peter Ujfalusi 提交于
      Use 'common' as name for the common irq number in hwmod data for the McBSP
      ports. The same name already in use for OMAP2430, and the OMAP4 hwmod data
      will be using the same name.
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      1c2badc1
    • P
      ARM: OMAP3: hwmod data: add HDQ/1-wire hwmod · 45a4bb06
      Paul Walmsley 提交于
      Add the HDQ1W hwmod for OMAP34xx, OMAP36xx, and AM3505/3517 devices.
      According to the respective TRMs, it doesn't appear to be available for the
      816x/814x or the AM335x.
      
      The OCPIF_SWSUP_IDLE flag is added to work around an apparent hardware
      bug: the hardware is not taking the CM_FCLKEN*_CORE.EN_HDQ bit into
      account when considering whether to go idle:
      
          http://www.spinics.net/lists/linux-omap/msg63576.html
      
      This causes HDQ transfers to fail or become corrupt.  Thanks to
      NeilBrown for his help diagnosing and testing fixes for this problem.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: NeilBrown <neilb@suse.de>
      Tested-by: NNeilBrown <neilb@suse.de>
      45a4bb06
  18. 19 4月, 2012 1 次提交