1. 24 7月, 2012 16 次提交
    • L
      Merge tag 'irq' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 3645f0cd
      Linus Torvalds 提交于
      Pull arm-soc sparse IRQ conversion from Arnd Bergmann:
       "The I.MX platform is getting converted to use sparse IRQs.  We are
        doing this for all platforms over time, because this is one of the
        requirements for building a multiplatform kernel, and generally a good
        idea."
      
      * tag 'irq' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: imx: select USE_OF
        ARM: imx: Fix build error due to missing irqs.h include
        ARM: imx: enable SPARSE_IRQ for imx platform
        ARM: fiq: change FIQ_START to a variable
        tty: serial: imx: remove the use of MXC_INTERNAL_IRQS
        ARM: imx: remove unneeded mach/irq.h inclusion
        i2c: imx: remove unneeded mach/irqs.h inclusion
        ARM: imx: add a legacy irqdomain for mx31ads
        ARM: imx: add a legacy irqdomain for 3ds_debugboard
        ARM: imx: pass gpio than irq number into mxc_expio_init
        ARM: imx: leave irq_base of wm8350_platform_data uninitialized
        dma: ipu: remove the use of ipu_platform_data
        ARM: imx: move irq_domain_add_legacy call into avic driver
        ARM: imx: move irq_domain_add_legacy call into tzic driver
        gpio/mxc: move irq_domain_add_legacy call into gpio driver
        ARM: imx: eliminate macro IRQ_GPIOx()
        ARM: imx: eliminate macro IOMUX_TO_IRQ()
        ARM: imx: eliminate macro IMX_GPIO_TO_IRQ()
      3645f0cd
    • L
      Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f1d2c07d
      Linus Torvalds 提交于
      Pull arm-soc board specific updates from Arnd Bergmann:
       "These changes are all for individual board files.  In the long run,
        those files will largely go away, and the amount of changes appears to
        be continuously decreasing, which is a good sign.  This time around,
        changes are focused on tegra, omap and samsung."
      
      Fix conflicts in arch/arm/mach-{omap2/common-board-devices.c,tegra/Makefile.boot}
      as per the 'for-linus' branch.
      
      * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (39 commits)
        ARM: EXYNOS: Add leds status1 and status2 on Origen board
        ARM: S3C64XX: Mark most Cragganmore initdata devinitdata
        ARM: EXYNOS: Add missing .reserve field to SMDKC210
        ARM: EXYNOS: Add DRM device to SMDK4X12 board
        ARM: S3C64XX: Clean up after SPI driver platform data updates
        ARM: SAMSUNG: no need to set the value for clk_xusbxti when it is 24Mhz
        ARM: EXYNOS: Add framebuffer support for SMDK4X12
        ARM: EXYNOS: Add HSOTG support to SMDK4X12
        ARM: S5PV210: Add audio platform device in Goni board
        ARM: S5PV210: Add audio platform device in Aquila board
        ARM: EXYNOS: Add audio platform device in SMDKV310 board
        ARM: S3C64XX: Don't specify an irq_base for WM1192-EV1 board
        ARM: OMAP3: Fix omap3evm randconfig error introduced by VBUS support
        ARM: OMAP: board-omap4panda: MUX configuration for sys_nirq2
        ARM: OMAP: board-4430sdp: MUX configuration for sys_nirq2
        ARM: OMAP3530evm: set pendown_state and debounce time for ads7846
        ARM: omap3evm: enable VBUS switch for EHCI tranceiver
        ARM: OMAP3EVM: Adding USB internal LDOs board file
        ARM: OMAP3EVM: Add NAND flash definition
        ARM: OMAP3: cm-t35: add tvp5150 decoder support
        ...
      f1d2c07d
    • L
      Merge tag 'defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · a17f29a5
      Linus Torvalds 提交于
      Pull arm-soc defconfig updates from Arnd Bergmann:
       "These are changes to the default configuration files, to account for
        kernel changes and new hardware."
      
      * tag 'defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: exynos_defconfig: enable more platforms in defconfig
        ARM: imx_v4_v5_defconfig: update features
        ARM: imx_v6_v7_defconfig: update features
        ARM: mxs: defconfig: Enable CONFIG_COMMON_CLK_DEBUG
        ARM: mxs_defconfig: Enable RTC driver
        ARM: LPC32xx: Defconfig update
        ARM: mxs_defconfig: Let AUART driver be built by default
        ARM: mxs: Enable MACH_APX4DEVKIT
        ARM: mxs: Let GPMI driver be built by default
        ARM: tegra: defconfig updates
      a17f29a5
    • L
      Merge tag 'newsoc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f01b9b73
      Linus Torvalds 提交于
      Pull support for three new arm SoC types from Arnd Bergmann:
      
       - The mvebu platform includes Marvell's Armada XP and Armada 370 chips,
         made by the mvebu business unit inside of Marvell.  Since the same
         group also made the older but similar platforms we call "orion5x",
         "kirkwood", "mv78xx0" and "dove", we plan to move all of them into
         the mach-mvebu directory in the future.
      
       - socfpga is Altera's platform based on Cortex-A9 cores and a lot of
         FPGA space.  This is similar to the Xilinx zynq platform we already
         support.  The code is particularly clean, which is helped by the fact
         that the hardware doesn't do much besides the parts that are expected
         to get added in the FPGA.
      
       - The OMAP subarchitecture gains support for the latest generation, the
         OMAP5 based on the new Cortex-A15 core.  Support is rather
         rudimentary for now, but will be extended in the future.
      
      * tag 'newsoc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (25 commits)
        ARM: socfpga: initial support for Altera's SOCFPGA platform
        arm: mvebu: generate DTBs for supported SoCs
        ARM: mvebu: MPIC: read number of interrupts from control register
        arm: mach-mvebu: add entry to MAINTAINERS
        arm: mach-mvebu: add compilation/configuration change
        arm: mach-mvebu: add defconfig
        arm: mach-mvebu: add documentation for new device tree bindings
        arm: mach-mvebu: add support for Armada 370 and Armada XP with DT
        arm: mach-mvebu: add source files
        arm: mach-mvebu: add header
        clocksource: time-armada-370-xp: Marvell Armada 370/XP SoC timer driver
        ARM: Kconfig update to support additional GPIOs in OMAP5
        ARM: OMAP5: Add the build support
        arm/dts: OMAP5: Add omap5 dts files
        ARM: OMAP5: board-generic: Add device tree support
        ARM: omap2+: board-generic: clean up the irq data from board file
        ARM: OMAP5: Add SMP support
        ARM: OMAP5: Add the WakeupGen IP updates
        ARM: OMAP5: l3: Add l3 error handler support for omap5
        ARM: OMAP5: gpmc: Update gpmc_init()
        ...
      
      Conflicts:
      	Documentation/devicetree/bindings/arm/omap/omap.txt
      	arch/arm/mach-omap2/Makefile
      	drivers/clocksource/Kconfig
      	drivers/clocksource/Makefile
      f01b9b73
    • L
      Merge tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · fde75430
      Linus Torvalds 提交于
      Pull arm-soc cleanups, part 2, from Arnd Bergmann:
       "These omap cleanups have dependencies on earlier omap branches that in
        turn depend on other cleanups, so they could not go into the same
        branch."
      
      * tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: OMAP: sdrc: Fix the build break for OMAP4 only builds
        ARM: OMAP2+: dmtimer: cleanup fclk usage
        ARM: OMAP2+: Fix mismerge for omap_hwmod_get_main_clk() API
        ARM: OMAP2+: Remove unnecessary ifdef around __omap2_set_globals
        ARM: OMAP2+: am33xx: Change cpu_is_am33xx to soc_is_am33xx
        ARM: OMAP2+: am33xx: Make am33xx as a separate class
        ARM: OMAP2+: Move omap3 dpll ops to dpll3xxx.c
        ARM: OMAP2+: All OMAP2PLUS uses omap-device.o target so add one entry
        ARM: OMAP: dmtimer: use devm_ API and do some cleanup in probe()
        ARM: OMAP2+: hwmod code: add support to set dmadisable in hwmod framework
        ARM: OMAP2+: PRM/CM: Move the stubbed prm and cm functions to prcm.c file and make them __weak
        ARM: OMAP2+: hwmod: add omap_hwmod_get_main_clk() API
        ARM: OMAP3+: dpll: optimize noncore dpll locking logic
        ARM: OMAP3: control: add definition for CONTROL_CAMERA_PHY_CTRL
        ARM: OMAP2+: powerdomain code: Fix Wake-up power domain power status
        ARM: OMAP4: clockdomain/CM code: Update supported transition modes
        ARM: OMAP3/4: omap_hwmod: Add rstst_offs field to struct omap_hwmod_omap4_prcm
        ARM: OMAP2+: hwmod: Add new sysc_type3 into omap_hwmod required for am33xx
      fde75430
    • L
      Merge tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 1a4120bc
      Linus Torvalds 提交于
      Pull arm-soc timer updates from Arnd Bergmann:
       "This contains two branches dealing with timers, one for the picoxcell
        platform that is now using DT with the platform-independent
        dw_apb_timer driver.  The other change is for the omap-specific
        dmtimer driver."
      
      * tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        clocksource: dw_apb_timer: Add common DTS glue for dw_apb_timer
        ARM: OMAP2+: Simplify dmtimer clock aliases
        ARM: OMAP2+: Move dmtimer clock set function to dmtimer driver
        ARM: OMAP1: Fix dmtimer support
        ARM: OMAP: Add flag to indicate if a timer needs a manual reset
        ARM: OMAP: Remove timer function pointer for context loss counter
        ARM: OMAP: Remove loses_context variable from timer platform data
        ARM: OMAP2+: Fix external clock support for dmtimers
        ARM: OMAP2+: HWMOD: Correct timer device attributes
        ARM: OMAP: Add DMTIMER capability variable to represent timer features
        ARM: OMAP2+: Add dmtimer platform function to reserve systimers
        ARM: OMAP2+: Remove unused max number of timers definition
        ARM: OMAP: Remove unnecessary clk structure
      1a4120bc
    • L
      Merge tag 'spi' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2fa37947
      Linus Torvalds 提交于
      Pull arm-soc spi updates from Arnd Bergmann:
       "These changes conceptually belong into the spi tree, but we decided to
        put them into arm-soc to better deal with interdependencies with other
        platform specific patches that are already there."
      
      * tag 'spi' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        spi/s3c64xx: Expand S3C64XX_SPI_{DE,}ACT macros at call sites
        spi/s3c64xx: Convert to devm_request_and_ioremap()
        spi/s3c64xx: Put the /CS GPIO into output mode
        spi/s3c64xx: Fix handling of errors in gpio_request()
      2fa37947
    • L
      Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 4f2d658b
      Linus Torvalds 提交于
      Pull arm-soc device tree description updates from Arnd Bergmann:
       "This branch contains two kinds of updates: Some platforms in the
        process of getting converted to device tree based booting, and the
        platform specific patches necessary for that are included here.
      
        Other platforms are already converted, so we just need to update the
        actual device tree source files and the binding documents to add
        support for new board and new drivers.
      
        In the future we will probably separate those into two branches, and
        in the long run, the plan is to move the device tree source files out
        of the kernel repository, but that has to wait until we have completed
        a much larger portion of the binding documents."
      
      Fix up trivial conflicts in arch/arm/mach-imx/clk-imx6q.c due to newly
      added clkdev registers next to a few removed unnecessary ones.
      
      * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (119 commits)
        ARM: LPC32xx: Add PWM to base dts file
        ARM: EXYNOS: mark the DMA channel binding for SPI as preliminary
        ARM: dts: Add nodes for spi controllers for SAMSUNG EXYNOS5 platforms
        ARM: EXYNOS: Enable platform support for SPI controllers for EXYNOS5
        ARM: EXYNOS: Add spi clock support for EXYNOS5
        ARM: dts: Add nodes for spi controllers for SAMSUNG EXYNOS4 platforms
        ARM: EXYNOS: Enable platform support for SPI controllers for EXYNOX4
        ARM: EXYNOS: Fix the incorrect hierarchy of spi controller bus clock
        ARM: ux500: Remove PMU platform registration when booting with DT
        ARM: ux500: Remove temporary snowball_of_platform_devs enablement structure
        ARM: ux500: Ensure vendor specific properties have the vendor's identifier
        pinctrl: pinctrl-nomadik: Append sleepmode property with vendor specific prefixes
        ARM: ux500: Move rtc-pl031 registration to Device Tree when enabled
        ARM: ux500: Enable the AB8500 RTC for all DT:ed DB8500 based devices
        ARM: ux500: Correctly reference IRQs supplied by the AB8500 from Device Tree
        ARM: ux500: Apply ab8500-debug node do the db8500 DT structure
        ARM: ux500: Add a ab8500-usb Device Tree node for db8500 based devices
        ARM: ux500: Add db8500 Device Tree node for misc/ab8500-pwm
        ARM: ux500: Add db8500 Device Tree node for ab8500-sysctrl
        ARM: ux500: Enable LED heartbeat functionality on Snowbal via DT
        ...
      4f2d658b
    • L
      Merge tag 'dma' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · e66d6371
      Linus Torvalds 提交于
      Pull samsung arm-soc dma changes from Arnd Bergmann:
       "Some platforms are not yet converted to use the dmaengine framework,
        including some of the samsung SoCs.  In the meantime, we treat this as
        platform code and merge the patches through the arm-soc tree."
      
      * tag 'dma' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: SAMSUNG: Fix compiler warning in dma-ops.c file
        ASoC: follow the updated samsung DMA common operations
        spi/s3c64xx: Add the use of DMA config operation
        ARM: SAMSUNG: Add config() function in DMA common operations
      e66d6371
    • L
      Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 5e512d07
      Linus Torvalds 提交于
      Pull arm soc-specific updates from Arnd Bergmann:
       "This is stuff that does not fit well into another category and in
        particular is not related to a particular board.  The largest part in
        here is extending the am33xx support in the omap platform."
      
      Fix up trivial conflicts in arch/arm/mach-{imx/mach-mx35_3ds.c, tegra/Makefile}
      
      * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (74 commits)
        ARM: LPC32xx: Add PWM support
        ARM: LPC32xx: Add PWM clock
        ARM: LPC32xx: Set system serial based on cpu unique id
        ARM: vexpress: Config option for early printk console
        ARM: vexpress: Add Device Tree for V2P-CA15_CA7 core tile
        ARM: vexpress: Convert V2P-CA15 Device Tree to 64 bit addresses
        ARM: vexpress: Add fixed regulator for SMSC
        ARM: vexpress: Add missing SP804 interrupt in motherboard's DTS files
        ARM: vexpress: Initial common clock support
        ARM: SAMSUNG: Introduce Kconfig variable for Samsung custom clk API
        ARM: EXYNOS: Add missing static storage class specifier in pmu.c file
        ARM: EXYNOS: Make combiner_init function static
        ARM: EXYNOS: Update HSOTG PHY clock setting for EXYNOS4X12
        ARM: versatile: Make plat-versatile clock optional
        ARM: vexpress: Check master site in daughterboard's sysctl operations
        ARM: vexpress: remove automatic errata workaround selection
        ARM: LPC32xx: Adjust to pl08x DMA interface changes
        ARM: EXYNOS: Clear SYS_WDTRESET bit to use watchdog reset
        ARM: imx: fix mx51 ehci setup errors
        ARM: imx: make ehci power/oc polarities configurable
        ...
      5e512d07
    • L
      Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 451ce7f9
      Linus Torvalds 提交于
      Pull general arm-soc cleanups from Arnd Bergmann:
       "These are all boring changes, moving stuff around or renaming things
        mostly, and also getting rid of stuff that is duplicate or should not
        be there to start with.  Platform-wise this is all over the place,
        mainly omap, samsung, at91, imx and tegra."
      
      Resolve trivial conflict in arch/arm/mach-omap2/clockdomains3xxx_data.c
      
      * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (67 commits)
        ARM: clps711x: Remove the setting of the time
        ARM: clps711x: Removed superfluous transform virt_to_bus and related functions
        ARM: clps711x/p720t: Replace __initcall by .init_early call
        ARM: S3C24XX: Remove unused GPIO definitions for Openmoko GTA02 board
        ARM: S3C24XX: Remove unused GPIO definitions for port J
        ARM: S3C24XX: Remove unused GPA, GPE, GPH bank GPIO aliases
        ARM: S3C24XX: Convert the touchscreen setup code to common GPIO API
        ARM: S3C24XX: Convert the PM code to gpiolib API
        ARM: S3C24XX: Convert QT2410 board file to the gpiolib API
        ARM: S3C24XX: Convert SMDK board file to the gpiolib API
        ARM: S3C24XX: Free the backlight gpio requested in Mini2440 board code
        ARM: imx: remove unused pdata from device macros
        ARM: imx: Kconfig: Remove IMX_HAVE_PLATFORM_IMX_SSI from MACH_MX25_3DS
        ARM: at91: fix new build errors
        ARM: at91: add AIC5 support
        ARM: at91: remove mach/irqs.h
        ARM: at91: sparse irq support
        ARM: at91: at91 based machines specify their own irq handler at run time
        ARM: at91: remove static irq priorities for sam9x5
        ARM: at91: add of irq priorities support
        ...
      451ce7f9
    • L
      Merge tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b85c14fb
      Linus Torvalds 提交于
      Pull non-critical arm-soc bug fixes from Arnd Bergmann:
       "These were submitted as bug fixes before v3.5 but not considered
        important enough to be included in it."
      
      * tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (29 commits)
        ARM:vt8500: Convert to use .restart and remove arch_reset()
        ARM: davinci: da8xx: fix interrupt handling
        ARM: OMAP2+: fix CONFIG_CPU_IDLE dependency on CONFIG_PM
        ARM: mxs/tx28: fix odd include
        ARM: OMAP: remove unused cpu detection macros
        ARM: OMAP: fix typos related to OMAP330
        ARM: OMAP7XX:  Remove omap730.h and omap850.h
        ARM: OMAP2+: fix naming collision of variable nr_irqs
        ARM: OMAP: omap2plus_defconfig: Enable EXT4 support
        ARM: OMAP depends on MMU
        arm: omap3: am35x: Set proper powerdomain states
        ARM: OMAP AM35x: clockdomain data: Fix clockdomain dependencies
        ARM: OMAP AM35x: EMAC/MDIO integration: Add Davinci EMAC/MDIO hwmod support
        ARM: OMAP: AM35xx: fix UART4 softreset
        ARM: OMAP AM35xx: clock and hwmod data: fix UART4 data
        ARM: OMAP AM35xx: clock and hwmod data: fix AM35xx HSOTGUSB hwmod
        ARM: OMAP: Fix dts files w/ status property: "disable" -> "disabled"
        ARM: OMAP: beagle: Set USB Host Port 1 to OMAP_USBHS_PORT_MODE_UNUSED
        ARM: OMAP2: twl-common: Fix compiler warning
        ARM: OMAP: fix the ads7846 init code
        ...
      b85c14fb
    • L
      Merge tag 'upstream-3.6-rc1' of git://git.infradead.org/linux-ubi · ce447f34
      Linus Torvalds 提交于
      Pull UBI changes from Artem Bityutskiy:
       "Change the default amount of eraseblocks which UBI reserves for bad
        block handling from 1% to 2%, because 1% does not meet most modern
        flash requirements.  1% was good enough in the past for old
        high-quality SLCs, but nowadays 2% is much more appropriate.:
      
      Other changes are clean-ups.
      
      * tag 'upstream-3.6-rc1' of git://git.infradead.org/linux-ubi:
        UBI: harmonize the update of ubi->beb_rsvd_pebs
        UBI: trivial: fix comment of ubi_calculate_reserved function
        UBI: fix spelling of detach in debug output
        UBI: Change the default percentage of reserved PEB
      ce447f34
    • L
      Merge tag 'upstream-3.6-rc1' of git://git.infradead.org/linux-ubifs · 93912fe6
      Linus Torvalds 提交于
      Pull UBIFS updates from Artem Bityutskiy:
      
       - Added another debugfs knob for forcing UBIFS R/O mode without
         flushing caches or finishing commit or any other I/O operation.  I've
         originally added this knob in order to reproduce the free space fixup
         bug (see commit c6727932: "UBIFS: fix a bug in empty space
         fix-up") on nandsim.
      
         Without this knob I would have to do real power-cuts, which would
         make debugging much harder.  Then I've decided to keep this knob
         because it is also useful for UBIFS power-cut recovery end
         error-paths testing.
      
       - Well-spotted fix from Julia.  This bug did not cause real troubles
         for UBIFS, but nevertheless it could cause issues for someone trying
         to modify the orphans handling code.  Kudos to coccinelle!
      
       - Minor cleanups.
      
      * tag 'upstream-3.6-rc1' of git://git.infradead.org/linux-ubifs:
        UBIFS: remove invalid reference to list iterator variable
        UBIFS: simplify reply code a bit
        UBIFS: add debugfs knob to switch to R/O mode
        UBIFS: fix compilation warning
      93912fe6
    • J
      locks: fix checking of fcntl_setlease argument · 0ec4f431
      J. Bruce Fields 提交于
      The only checks of the long argument passed to fcntl(fd,F_SETLEASE,.)
      are done after converting the long to an int.  Thus some illegal values
      may be let through and cause problems in later code.
      
      [ They actually *don't* cause problems in mainline, as of Dave Jones's
        commit 8d657eb3 "Remove easily user-triggerable BUG from
        generic_setlease", but we should fix this anyway.  And this patch will
        be necessary to fix real bugs on earlier kernels. ]
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0ec4f431
    • L
      Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · a66d2c8f
      Linus Torvalds 提交于
      Pull the big VFS changes from Al Viro:
       "This one is *big* and changes quite a few things around VFS.  What's in there:
      
         - the first of two really major architecture changes - death to open
           intents.
      
           The former is finally there; it was very long in making, but with
           Miklos getting through really hard and messy final push in
           fs/namei.c, we finally have it.  Unlike his variant, this one
           doesn't introduce struct opendata; what we have instead is
           ->atomic_open() taking preallocated struct file * and passing
           everything via its fields.
      
           Instead of returning struct file *, it returns -E...  on error, 0
           on success and 1 in "deal with it yourself" case (e.g.  symlink
           found on server, etc.).
      
           See comments before fs/namei.c:atomic_open().  That made a lot of
           goodies finally possible and quite a few are in that pile:
           ->lookup(), ->d_revalidate() and ->create() do not get struct
           nameidata * anymore; ->lookup() and ->d_revalidate() get lookup
           flags instead, ->create() gets "do we want it exclusive" flag.
      
           With the introduction of new helper (kern_path_locked()) we are rid
           of all struct nameidata instances outside of fs/namei.c; it's still
           visible in namei.h, but not for long.  Come the next cycle,
           declaration will move either to fs/internal.h or to fs/namei.c
           itself.  [me, miklos, hch]
      
         - The second major change: behaviour of final fput().  Now we have
           __fput() done without any locks held by caller *and* not from deep
           in call stack.
      
           That obviously lifts a lot of constraints on the locking in there.
           Moreover, it's legal now to call fput() from atomic contexts (which
           has immediately simplified life for aio.c).  We also don't need
           anti-recursion logics in __scm_destroy() anymore.
      
           There is a price, though - the damn thing has become partially
           asynchronous.  For fput() from normal process we are guaranteed
           that pending __fput() will be done before the caller returns to
           userland, exits or gets stopped for ptrace.
      
           For kernel threads and atomic contexts it's done via
           schedule_work(), so theoretically we might need a way to make sure
           it's finished; so far only one such place had been found, but there
           might be more.
      
           There's flush_delayed_fput() (do all pending __fput()) and there's
           __fput_sync() (fput() analog doing __fput() immediately).  I hope
           we won't need them often; see warnings in fs/file_table.c for
           details.  [me, based on task_work series from Oleg merged last
           cycle]
      
         - sync series from Jan
      
         - large part of "death to sync_supers()" work from Artem; the only
           bits missing here are exofs and ext4 ones.  As far as I understand,
           those are going via the exofs and ext4 trees resp.; once they are
           in, we can put ->write_super() to the rest, along with the thread
           calling it.
      
         - preparatory bits from unionmount series (from dhowells).
      
         - assorted cleanups and fixes all over the place, as usual.
      
        This is not the last pile for this cycle; there's at least jlayton's
        ESTALE work and fsfreeze series (the latter - in dire need of fixes,
        so I'm not sure it'll make the cut this cycle).  I'll probably throw
        symlink/hardlink restrictions stuff from Kees into the next pile, too.
        Plus there's a lot of misc patches I hadn't thrown into that one -
        it's large enough as it is..."
      
      * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (127 commits)
        ext4: switch EXT4_IOC_RESIZE_FS to mnt_want_write_file()
        btrfs: switch btrfs_ioctl_balance() to mnt_want_write_file()
        switch dentry_open() to struct path, make it grab references itself
        spufs: shift dget/mntget towards dentry_open()
        zoran: don't bother with struct file * in zoran_map
        ecryptfs: don't reinvent the wheels, please - use struct completion
        don't expose I_NEW inodes via dentry->d_inode
        tidy up namei.c a bit
        unobfuscate follow_up() a bit
        ext3: pass custom EOF to generic_file_llseek_size()
        ext4: use core vfs llseek code for dir seeks
        vfs: allow custom EOF in generic_file_llseek code
        vfs: Avoid unnecessary WB_SYNC_NONE writeback during sys_sync and reorder sync passes
        vfs: Remove unnecessary flushing of block devices
        vfs: Make sys_sync writeout also block device inodes
        vfs: Create function for iterating over block devices
        vfs: Reorder operations during sys_sync
        quota: Move quota syncing to ->sync_fs method
        quota: Split dquot_quota_sync() to writeback and cache flushing part
        vfs: Move noop_backing_dev_info check from sync into writeback
        ...
      a66d2c8f
  2. 23 7月, 2012 24 次提交
    • L
      Merge tag 'mmc-merge-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · a6be1fcb
      Linus Torvalds 提交于
      Pull MMC updates from Chris Ball:
       "MMC highlights for 3.6:
      
        Core:
         - Rename cd-gpio to slot-gpio and extend it to support more slot GPIO
           functions, such as write-protect.
         - Add a function to get regulators (Vdd and Vccq) for a host.
      
        Drivers:
         - sdhci-pxav2, sdhci-pxav3: Add device tree support.
         - sdhi: Add device tree support.
         - sh_mmcif: Add support for regulators, device tree, slot-gpio.
         - tmio: Add regulator support, use slot-gpio."
      
      * tag 'mmc-merge-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (62 commits)
        mmc: sdhci-dove: Prepare for common clock framework
        mmc: sdhci-dove: Add SDHCI_QUIRK_NO_HISPD_BIT
        mmc: omap_hsmmc: ensure probe returns error upon resource failure
        mmc: mxs-mmc: Add wp-inverted property
        mmc: esdhc: Fix DMA_MASK to not break mx25 DMA access
        mmc: core: reset signal voltage on power up
        mmc: sd: Fix sd current limit setting
        mmc: omap_hsmmc: add clk_prepare and clk_unprepare
        mmc: sdhci: When a UHS switch fails, cycle power if regulator is used
        mmc: atmel-mci: modify CLKDIV displaying in debugfs
        mmc: atmel-mci: fix incorrect setting of host->data to NULL
        mmc: sdhci: poll for card even when card is logically unremovable
        mmc: sdhci: Introduce new flag SDHCI_USING_RETUNING_TIMER
        mmc: sdio: Change pr_warning to pr_warn_ratelimited
        mmc: core: Simplify and fix for SD switch processing
        mmc: sdhci: restore host settings when card is removed
        mmc: sdhci: fix incorrect command used in tuning
        mmc: sdhci-pci: CaFe has broken card detection
        mmc: sdhci: Report failure reasons for all cases in sdhci_add_host()
        mmc: s3cmci: Convert s3cmci driver to gpiolib API
        ...
      a6be1fcb
    • L
      Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5b160bd4
      Linus Torvalds 提交于
      Pull x86/mce changes from Ingo Molnar:
       "This tree improves the AMD thresholding bank code and includes a
        memory fault signal handling fixlet."
      
      * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Fix siginfo_t->si_addr value for non-recoverable memory faults
        x86, MCE, AMD: Update copyrights and boilerplate
        x86, MCE, AMD: Give proper names to the thresholding banks
        x86, MCE, AMD: Make error_count read only
        x86, MCE, AMD: Cleanup reading of error_count
        x86, MCE, AMD: Print decimal thresholding values
        x86, MCE, AMD: Move shared bank to node descriptor
        x86, MCE, AMD: Remove local_allocate_... wrapper
        x86, MCE, AMD: Remove shared banks sysfs linking
        x86, amd_nb: Export model 0x10 and later PCI id
      5b160bd4
    • S
      mmc: sdhci-dove: Prepare for common clock framework · 30b87c60
      Sebastian Hesselbarth 提交于
      As mach-dove is moving towards common clock framework prepare
      the sdhci driver to grab its clock.
      Signed-off-by: NSebastian Hesselbarth <sebastian.hesselbarth@googlemail.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      30b87c60
    • S
      mmc: sdhci-dove: Add SDHCI_QUIRK_NO_HISPD_BIT · a9ca1d54
      Sebastian Hesselbarth 提交于
      The sdio controller on dove doesn't have a bit to indicate
      high-speed. With the quirk set it fixes accessing high-speed
      sdcards.
      Signed-off-by: NSebastian Hesselbarth <sebastian.hesselbarth@googlemail.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      a9ca1d54
    • K
      mmc: omap_hsmmc: ensure probe returns error upon resource failure · 9c17d08c
      Kevin Hilman 提交于
      If platform_get_resource_by_name() fails, driver probe is aborted an
      should return an error so the driver is not bound to the device.
      
      However, in the current error path of platform_get_resource_by_name(),
      probe returns zero since the return value (ret) is not properly set.
      With a zero return value, the driver core assumes probe was successful
      and will bind the driver to the device.
      
      Fix this by ensuring that probe returns an error code in this failure
      path.
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      Acked-by: NVenkatraman S <svenkatr@ti.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      9c17d08c
    • M
      mmc: mxs-mmc: Add wp-inverted property · b6e76f10
      Marek Vasut 提交于
      The write-protect GPIO is inverted on some boards. Handle such case.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      b6e76f10
    • W
      mmc: esdhc: Fix DMA_MASK to not break mx25 DMA access · 9a0985b7
      Wilson Callan 提交于
      Patch to not set reserved bits in i.MX25 PROCTL register.  DMA stops
      working if those bits get set.
      Signed-off-by: NWilson Callan <wilson.callan@savantsystems.com>
      Acked-by: NSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      9a0985b7
    • L
      Merge tag 'pm-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7100e505
      Linus Torvalds 提交于
      Pull power management updates from Rafael Wysocki:
      
       - ACPI conversion to PM handling based on struct dev_pm_ops.
       - Conversion of a number of platform drivers to PM handling based on
         struct dev_pm_ops and removal of empty legacy PM callbacks from a
         couple of PCI drivers.
       - Suspend-to-both for in-kernel hibernation from Bojan Smojver.
       - cpuidle fixes and cleanups from ShuoX Liu, Daniel Lezcano and Preeti
         Murthy.
       - cpufreq bug fixes from Jonghwa Lee and Stephen Boyd.
       - Suspend and hibernate fixes from Srivatsa Bhat and Colin Cross.
       - Generic PM domains framework updates.
       - RTC CMOS wakeup signaling update from Paul Fox.
       - sparse warnings fixes from Sachin Kamat.
       - Build warnings fixes for the generic PM domains framework and PM
         sysfs code.
       - sysfs switch for printing device suspend times from Sameer Nanda.
       - Documentation fix from Oskar Schirmer.
      
      * tag 'pm-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (70 commits)
        cpufreq: Fix sysfs deadlock with concurrent hotplug/frequency switch
        EXYNOS: bugfix on retrieving old_index from freqs.old
        PM / Sleep: call early resume handlers when suspend_noirq fails
        PM / QoS: Use NULL pointer instead of plain integer in qos.c
        PM / QoS: Use NULL pointer instead of plain integer in pm_qos.h
        PM / Sleep: Require CAP_BLOCK_SUSPEND to use wake_lock/wake_unlock
        PM / Sleep: Add missing static storage class specifiers in main.c
        cpuilde / ACPI: remove time from acpi_processor_cx structure
        cpuidle / ACPI: remove usage from acpi_processor_cx structure
        cpuidle / ACPI : remove latency_ticks from acpi_processor_cx structure
        rtc-cmos: report wakeups from interrupt handler
        PM / Sleep: Fix build warning in sysfs.c for CONFIG_PM_SLEEP unset
        PM / Domains: Fix build warning for CONFIG_PM_RUNTIME unset
        olpc-xo15-sci: Use struct dev_pm_ops for power management
        PM / Domains: Replace plain integer with NULL pointer in domain.c file
        PM / Domains: Add missing static storage class specifier in domain.c file
        PM / crypto / ux500: Use struct dev_pm_ops for power management
        PM / IPMI: Remove empty legacy PCI PM callbacks
        tpm_nsc: Use struct dev_pm_ops for power management
        tpm_tis: Use struct dev_pm_ops for power management
        ...
      7100e505
    • L
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · cb47c183
      Linus Torvalds 提交于
      Pull target updates from Nicholas Bellinger:
       "There have been lots of work in a number of areas this past round.
        The highlights include:
      
         - Break out target_core_cdb.c emulation into SPC/SBC ops (hch)
         - Add a parse_cdb method to target backend drivers (hch)
         - Move sync_cache + write_same + unmap into spc_ops (hch)
         - Use target_execute_cmd for WRITEs in iscsi_target + srpt (hch)
         - Offload WRITE I/O backend submission in tcm_qla2xxx + tcm_fc (hch +
           nab)
         - Refactor core_update_device_list_for_node() into enable/disable
           funcs (agrover)
         - Replace the TCM processing thread with a TMR work queue (hch)
         - Fix regression in transport_add_device_to_core_hba from TMR
           conversion (DanC)
         - Remove racy, now-redundant check of sess_tearing_down with qla2xxx
           (roland)
         - Add range checking, fix reading of data len + possible underflow in
           UNMAP (roland)
         - Allow for target_submit_cmd() returning errors + convert fabrics
           (roland + nab)
         - Drop bogus struct file usage for iSCSI/SCTP (viro)"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (54 commits)
        iscsi-target: Drop bogus struct file usage for iSCSI/SCTP
        target: NULL dereference on error path
        target: Allow for target_submit_cmd() returning errors
        target: Check number of unmap descriptors against our limit
        target: Fix possible integer underflow in UNMAP emulation
        target: Fix reading of data length fields for UNMAP commands
        target: Add range checking to UNMAP emulation
        target: Add generation of LOGICAL BLOCK ADDRESS OUT OF RANGE
        target: Make unnecessarily global se_dev_align_max_sectors() static
        target: Remove se_session.sess_wait_list
        qla2xxx: Remove racy, now-redundant check of sess_tearing_down
        target: Check sess_tearing_down in target_get_sess_cmd()
        sbp-target: Consolidate duplicated error path code in sbp_handle_command()
        target: Un-export target_get_sess_cmd()
        qla2xxx: Get rid of redundant qla_tgt_sess.tearing_down
        target: Make core_disable_device_list_for_node use pre-refactoring lock ordering
        target: refactor core_update_device_list_for_node()
        target: Eliminate else using boolean logic
        target: Misc retval cleanups
        target: Remove hba param from core_dev_add_lun
        ...
      cb47c183
    • L
      Merge tag 'regulator-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 4d460fd3
      Linus Torvalds 提交于
      Pull regulator updates from Mark Brown:
       "Lots and lots of fixes from Axel and some others here, plus some
        framework enhancements which continue the theme of factoring code out
        of the drivers and into the core.
      
         - Initial framework support for GPIO controlled enable signals,
           saving a bunch of code in drivers.
         - Move fixed regulator enable time and voltage mapping table
           specifications to data.
         - Used some of the recent framework enhancements to make voltage
           change notifications more useful, passing the voltage in as an
           argument to the notification.
         - Fixed the pattern used for finding individual regulators on a
           device to not rely on the node name, supporting the use of multiple
           PMICs of the same type in the system.
         - New drivers for Maxim MAX77686, TI LP872x and LP8788, Samsung
           S2MPS11, and Wolfson Arizona microphone supplies and LDOs."
      
      * tag 'regulator-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (176 commits)
        regulator: add new lp8788 regulator driver
        regulator: mc13xxx: Remove extern function declaration for mc13xxx_sw_regulator
        regulator: tps65910: set input_supply on desc unconditionally
        regulator: palmas: Fix calcuating selector in palmas_map_voltage_smps
        regulator: lp872x: Simplify implementation of lp872x_find_regulator_init_data()
        regulator: twl: Fix list_voltate for twl6030ldo_ops
        regulator: twl: Convert twl6030ldo_ops to [get|set]_voltage_sel
        regulator: twl: Fix the formula to calculate vsel and voltage for twl6030ldo
        regulator: s5m8767: Properly handle gpio_request failure
        regulator: max8997: Properly handle gpio_request failure
        regulator: tps62360: use devm_* for gpio request
        regulator: tps6586x: add support for input supply
        regulator: tps65217: Add device tree support
        regulator: aat2870: Remove unused min_uV and max_uV from struct aat2870_regulator
        regulator: aat2870: Convert to regulator_list_voltage_table
        regulator: da9052: initialize of_node param for regulator register
        regulator: Add REGULATOR_STATUS_UNDEFINED.
        regulator: Fix a typo in regulator_mode_to_status() core function.
        regulator: s2mps11: Use sec_reg_write rather than sec_reg_update when mask is 0xff
        regulator: s2mps11: Fix wrong setting for config.dev
        ...
      4d460fd3
    • L
      Merge tag 'regmap-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 7cd58b0a
      Linus Torvalds 提交于
      Pull regmap updates from Mark Brown:
       "A few fixes plus a few features, the most generally useful thing being
        the register paging support which can be used by quite a few devices:
      
         - Support for wake IRQs in regmap-irq
         - Support for register paging
         - Support for explicitly specified endianness, mostly for MMIO."
      
      * tag 'regmap-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Fix incorrect arguments to kzalloc() call
        regmap: Add hook for printk logging for debugging during early init
        regmap: Fix work_buf switching for page update during virtual range access.
        regmap: Add support for register indirect addressing.
        regmap: Move lock out from internal function _regmap_update_bits().
        regmap: mmio: Staticize regmap_mmio_gen_context()
        regmap: Remove warning on stubbed dev_get_regmap()
        regmap: Implement support for wake IRQs
        regmap: Don't try to map non-existant IRQs
        regmap: Constify regmap_irq_chip
        regmap: mmio: request native endian formatting
        regmap: allow busses to request formatting with specific endianness
      7cd58b0a
    • A
      8cae6f71
    • A
      11e62a8f
    • A
      765927b2
    • A
      spufs: shift dget/mntget towards dentry_open() · bf349a44
      Al Viro 提交于
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      bf349a44
    • A
      zoran: don't bother with struct file * in zoran_map · 3b6456d2
      Al Viro 提交于
      all we need it for is file->private_data, which is assign-once, already
      assigned by that point and, incidentally, its value is already in use
      by zoran ->mmap() anyway.  So just store that pointer instead...
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      3b6456d2
    • A
      ecryptfs: don't reinvent the wheels, please - use struct completion · 3b8b4871
      Al Viro 提交于
      ... and keep the sodding requests on stack - they are small enough.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      3b8b4871
    • A
      don't expose I_NEW inodes via dentry->d_inode · 8fc37ec5
      Al Viro 提交于
      	d_instantiate(dentry, inode);
      	unlock_new_inode(inode);
      
      is a bad idea; do it the other way round...
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      8fc37ec5
    • A
      tidy up namei.c a bit · 32a7991b
      Al Viro 提交于
      locking/unlocking for rcu walk taken to a couple of inline helpers
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      32a7991b
    • A
      unobfuscate follow_up() a bit · 3c0a6163
      Al Viro 提交于
      really convoluted test in there has grown up during struct mount
      introduction; what it checks is that we'd reached the root of
      mount tree.
      3c0a6163
    • E
      ext3: pass custom EOF to generic_file_llseek_size() · de9b9422
      Eric Sandeen 提交于
      Use the new custom EOF argument to generic_file_llseek_size so
      that SEEK_END will go to the max hash value for htree dirs
      in ext3 rather than to i_size_read()
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      de9b9422
    • E
      ext4: use core vfs llseek code for dir seeks · ec7268ce
      Eric Sandeen 提交于
      Use the new functionality in generic_file_llseek_size() to
      accept a custom EOF position, and un-cut-and-paste all the
      vfs llseek code from ext4.
      
      Also fix up comments on ext4_llseek() to reflect reality.
      Signed-off-by: NEric Sandeen <sandeen@redaht.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ec7268ce
    • E
      vfs: allow custom EOF in generic_file_llseek code · e8b96eb5
      Eric Sandeen 提交于
      For ext3/4 htree directories, using the vfs llseek function with
      SEEK_END goes to i_size like for any other file, but in reality
      we want the maximum possible hash value.  Recent changes
      in ext4 have cut & pasted generic_file_llseek() back into fs/ext4/dir.c,
      but replicating this core code seems like a bad idea, especially
      since the copy has already diverged from the vfs.
      
      This patch updates generic_file_llseek_size to accept
      both a custom maximum offset, and a custom EOF position.  With this
      in place, ext4_dir_llseek can pass in the appropriate maximum hash
      position for both maxsize and eof, and get what it wants.
      
      As far as I know, this does not fix any bugs - nfs in the kernel
      doesn't use SEEK_END, and I don't know of any user who does.  But
      some ext4 folks seem keen on doing the right thing here, and I can't
      really argue.
      
      (Patch also fixes up some comments slightly)
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      e8b96eb5
    • J
      vfs: Avoid unnecessary WB_SYNC_NONE writeback during sys_sync and reorder sync passes · 4ea425b6
      Jan Kara 提交于
      wakeup_flusher_threads(0) will queue work doing complete writeback for each
      flusher thread. Thus there is not much point in submitting another work doing
      full inode WB_SYNC_NONE writeback by writeback_inodes_sb().
      
      After this change it does not make sense to call nonblocking ->sync_fs and
      block device flush before calling sync_inodes_sb() because
      wakeup_flusher_threads() is completely asynchronous and thus these functions
      would be called in parallel with inode writeback running which will effectively
      void any work they do. So we move sync_inodes_sb() call before these two
      functions.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      4ea425b6