1. 27 7月, 2012 2 次提交
  2. 25 7月, 2012 26 次提交
    • L
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · bdc0077a
      Linus Torvalds 提交于
      Pull first round of SCSI updates from James Bottomley:
       "The most important feature of this patch set is the new async
        infrastructure that makes sure async_synchronize_full() synchronizes
        all domains and allows us to remove all the hacks (like having
        scsi_complete_async_scans() in the device base code) and means that
        the async infrastructure will "just work" in future.
      
        The rest is assorted driver updates (aacraid, bnx2fc, virto-scsi,
        megaraid, bfa, lpfc, qla2xxx, qla4xxx) plus a lot of infrastructure
        work in sas and FC.
      
        Signed-off-by: James Bottomley <JBottomley@Parallels.com>"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (97 commits)
        [SCSI] Revert "[SCSI] fix async probe regression"
        [SCSI] cleanup usages of scsi_complete_async_scans
        [SCSI] queue async scan work to an async_schedule domain
        [SCSI] async: make async_synchronize_full() flush all work regardless of domain
        [SCSI] async: introduce 'async_domain' type
        [SCSI] bfa: Fix to set correct return error codes and misc cleanup.
        [SCSI] aacraid: Series 7 Async. (performance) mode support
        [SCSI] aha152x: Allow use on 64bit systems
        [SCSI] virtio-scsi: Add vdrv->scan for post VIRTIO_CONFIG_S_DRIVER_OK LUN scanning
        [SCSI] bfa: squelch lockdep complaint with a spin_lock_init
        [SCSI] qla2xxx: remove unnecessary reads of PCI_CAP_ID_EXP
        [SCSI] qla4xxx: remove unnecessary read of PCI_CAP_ID_EXP
        [SCSI] ufs: fix incorrect return value about SUCCESS and FAILED
        [SCSI] ufs: reverse the ufshcd_is_device_present logic
        [SCSI] ufs: use module_pci_driver
        [SCSI] usb-storage: update usb devices for write cache quirk in quirk list.
        [SCSI] usb-storage: add support for write cache quirk
        [SCSI] set to WCE if usb cache quirk is present.
        [SCSI] virtio-scsi: hotplug support for virtio-scsi
        [SCSI] virtio-scsi: split scatterlist per target
        ...
      bdc0077a
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw · 801b0365
      Linus Torvalds 提交于
      Pull GFS2 updates from Steven Whitehouse.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:
        GFS2: Eliminate 64-bit divides
        GFS2: Reduce file fragmentation
        GFS2: kernel panic with small gfs2 filesystems - 1 RG
        GFS2: Fixing double brelse'ing bh allocated in gfs2_meta_read when EIO occurs
        GFS2: Combine functions get_local_rgrp and gfs2_inplace_reserve
        GFS2: Add kobject release method
        GFS2: Size seq_file buffer more carefully
        GFS2: Use seq_vprintf for glocks debugfs file
        seq_file: Add seq_vprintf function and export it
        GFS2: Use lvbs for storing rgrp information with mount option
        GFS2: Cache last hash bucket for glock seq_files
        GFS2: Increase buffer size for glocks and glstats debugfs files
        GFS2: Fix error handling when reading an invalid block from the journal
        GFS2: Add "top dir" flag support
        GFS2: Fold quota data into the reservations struct
        GFS2: Extend the life of the reservations
      801b0365
    • L
      Merge branch 'for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 614a6d43
      Linus Torvalds 提交于
      Pull cgroup changes from Tejun Heo:
       "Nothing too interesting.  A minor bug fix and some cleanups."
      
      * 'for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: Update remount documentation
        cgroup: cgroup_rm_files() was calling simple_unlink() with the wrong inode
        cgroup: Remove populate() documentation
        cgroup: remove hierarchy_mutex
      614a6d43
    • L
      Merge branch 'for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · a08489c5
      Linus Torvalds 提交于
      Pull workqueue changes from Tejun Heo:
       "There are three major changes.
      
         - WQ_HIGHPRI has been reimplemented so that high priority work items
           are served by worker threads with -20 nice value from dedicated
           highpri worker pools.
      
         - CPU hotplug support has been reimplemented such that idle workers
           are kept across CPU hotplug events.  This makes CPU hotplug cheaper
           (for PM) and makes the code simpler.
      
         - flush_kthread_work() has been reimplemented so that a work item can
           be freed while executing.  This removes an annoying behavior
           difference between kthread_worker and workqueue."
      
      * 'for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: fix spurious CPU locality WARN from process_one_work()
        kthread_worker: reimplement flush_kthread_work() to allow freeing the work item being executed
        kthread_worker: reorganize to prepare for flush_kthread_work() reimplementation
        workqueue: simplify CPU hotplug code
        workqueue: remove CPU offline trustee
        workqueue: don't butcher idle workers on an offline CPU
        workqueue: reimplement CPU online rebinding to handle idle workers
        workqueue: drop @bind from create_worker()
        workqueue: use mutex for global_cwq manager exclusion
        workqueue: ROGUE workers are UNBOUND workers
        workqueue: drop CPU_DYING notifier operation
        workqueue: perform cpu down operations from low priority cpu_notifier()
        workqueue: reimplement WQ_HIGHPRI using a separate worker_pool
        workqueue: introduce NR_WORKER_POOLS and for_each_worker_pool()
        workqueue: separate out worker_pool flags
        workqueue: use @pool instead of @gcwq or @cpu where applicable
        workqueue: factor out worker_pool from global_cwq
        workqueue: don't use WQ_HIGHPRI for unbound workqueues
      a08489c5
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 08d9329c
      Linus Torvalds 提交于
      Pull misc udf, ext2, ext3, and isofs fixes from Jan Kara:
       "Assorted, mostly trivial, fixes for udf, ext2, ext3, and isofs.  I'm
        on vacation and scarcely checking email since we are expecting baby
        any day now but these fixes should be safe to go in and I don't want
        to delay them unnecessarily."
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: avoid info leak on export
        isofs: avoid info leak on export
        udf: Improve table length check to avoid possible overflow
        ext3: Check return value of blkdev_issue_flush()
        jbd: Check return value of blkdev_issue_flush()
        udf: Do not decrement i_blocks when freeing indirect extent block
        udf: Fix memory leak when mounting
        ext2: cleanup the confused goto label
        UDF: Remove unnecessary variable "offset" from udf_fill_inode
        udf: stop using s_dirt
        ext3: force ro mount if ext3_setup_super() fails
        quota: fix checkpatch.pl warning by replacing <asm/uaccess.h> with <linux/uaccess.h>
      08d9329c
    • L
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 2c05b2c8
      Linus Torvalds 提交于
      Pull m68knommu arch update from Greg Ungerer:
       "Quite a varied set of changes this time.
         - A little more merge cleanup, this time the assembler entry code.
         - New sub-architecture support for the ColdFire 5251/5253 and 5441x
           CPU families.
         - Specific clk support code for the ColdFire 520x and 532x CPU
           familes.
         - Refactoring of the ColdFire GPIO support.
         - PCI bus support for some ColdFire CPUS that have PCI hardware (54xx
           family).  This showed up a few problems with ColdFire cache,
           allocating coherent memory and bi-directional DMA support.  Fixes
           for those too."
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (21 commits)
        m68k: allow PCI bus to be enabled for ColdFire m54xx CPUs
        m68k: add PCI bus code support for the ColdFire M54xx SoC family
        m68k: add IO access definitions to support PCI on ColdFire platforms
        m68k: add PCI bus support definitions for the ColdFire M54xx SoC family
        m68k: common PCI support definitions and code
        m68k: add support for DMA_BIDIRECTIONAL in dma support functions
        m68k: fix ColdFire clear cache operation
        m68k: use simpler dma_alloc_coherent() for ColdFire CPUs
        m68knommu: platform support for 8390 based ethernet used on some boards
        m68knommu: Add clk definitions for m532x.
        m68knommu: Add clk definitions for m520x.
        m68knommu: Add rtc device for m5441x.
        m68knommu: add definitions for the third interrupt controller on devices that don't have a third interrupt controller.
        m68knommu: Add support for the Coldfire m5441x.
        m68knommu: use MCF_IRQ_PIT1 instead of MCFINT_VECBASE + MCFINT_PIT1
        coldfire-qspi: Add support for the Coldfire 5251/5253.
        m68knommu: Add support for the Coldfire 5251/5253
        m68knommu: refactor Coldfire GPIO not to require GPIOLIB, eliminate mcf_gpio_chips.
        m68k: merge the MMU and non-MMU versions of the entry.S code
        m68k: use jbsr to call functions instead of bsrl
        ...
      2c05b2c8
    • L
      Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma · c511dc1f
      Linus Torvalds 提交于
      Pull slave-dmaengine update from Vinod Koul:
       "This time we have a new dmaengine driver from the tegra folks.  Also
        we have Guennadi's cleanup of sh drivers which incudes a library for
        sh drivers.  And the usual odd fixes in bunch of drivers and some nice
        cleanup of dw_dmac from Andy."
      
      Fix up conflicts in drivers/mmc/host/sh_mmcif.c
      
      * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (46 commits)
        dmaengine: Cleanup logging messages
        mmc: sh_mmcif: switch to the new DMA channel allocation and configuration
        dma: sh: provide a migration path for slave drivers to stop using .private
        dma: sh: use an integer slave ID to improve API compatibility
        dmaengine: shdma: prepare to stop using struct dma_chan::private
        sh: remove unused DMA device pointer from SIU platform data
        ASoC: siu: don't use DMA device for channel filtering
        dmaengine: shdma: (cosmetic) simplify a static function
        dmaengine: at_hdmac: add a few const qualifiers
        dw_dmac: use 'u32' for LLI structure members, not dma_addr_t
        dw_dmac: mark dwc_dump_lli inline
        dma: mxs-dma: Export missing symbols from mxs-dma.c
        dma: shdma: convert to the shdma base library
        ASoC: fsi: prepare for conversion to the shdma base library
        usb: renesas_usbhs: prepare for conversion to the shdma base library
        ASoC: siu: prepare for conversion to the shdma base library
        serial: sh-sci: prepare for conversion to the shdma base library
        mmc: sh_mobile_sdhi: prepare for conversion to the shdma base library
        mmc: sh_mmcif: remove unneeded struct sh_mmcif_dma, prepare to shdma conversion
        dma: shdma: prepare for conversion to the shdma base library
        ...
      c511dc1f
    • L
      Merge tag 'clk-for-linus' of git://git.linaro.org/people/mturquette/linux · 9161c3b7
      Linus Torvalds 提交于
      Pull common clk framework changes from Michael Turquette:
       "This includes a small number of core framework improvments, platform
        ports and new DT bindings."
      
      Fix up trivial conflicts in drivers/clk/Makefile
      
      * tag 'clk-for-linus' of git://git.linaro.org/people/mturquette/linux: (21 commits)
        clk: fix compile for OF && !COMMON_CLK
        clk: fix clk_get on of_clk_get_by_name return check
        clk: mxs: clk_register_clkdev mx28 usb clocks
        clk: add highbank clock support
        dt: add clock binding doc to primecell bindings
        clk: add DT fixed-clock binding support
        clk: add DT clock binding support
        ARM: integrator: convert to common clock
        clk: add versatile ICST307 driver
        ARM: integrator: put symbolic bus names on devices
        ARM: u300: convert to common clock
        clk: cache parent clocks only for muxes
        clk: wm831x: Add initial WM831x clock driver
        clk: Constify struct clk_init_data
        clk: Add CLK_IS_BASIC flag to identify basic clocks
        clk: Add support for rate table based dividers
        clk: Add support for power of two type dividers
        clk: mxs: imx28: decrease the frequency of ref_io1 for SSP2 and SSP3
        clk: mxs: add clkdev lookup for pwm
        clk: mxs: Fix the GPMI clock name
        ...
      9161c3b7
    • L
      Merge tag 'iommu-updates-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 97027da6
      Linus Torvalds 提交于
      Pull IOMMU updates from Joerg Roedel:
       "The most important part of these updates is the IOMMU groups code
        enhancement written by Alex Williamson.  It abstracts the problem that
        a given hardware IOMMU can't isolate any given device from any other
        device (e.g.  32 bit PCI devices can't usually be isolated).  Devices
        that can't be isolated are grouped together.  This code is required
        for the upcoming VFIO framework.
      
        Another IOMMU-API change written by me is the introduction of domain
        attributes.  This makes it easier to handle GART-like IOMMUs with the
        IOMMU-API because now the start-address and the size of the domain
        address space can be queried.
      
        Besides that there are a few cleanups and fixes for the NVidia Tegra
        IOMMU drivers and the reworked init-code for the AMD IOMMU.  The
        latter is from my patch-set to support interrupt remapping.  The rest
        of this patch-set requires x86 changes which are not mergabe yet.  So
        full support for interrupt remapping with AMD IOMMUs will come in a
        future merge window."
      
      * tag 'iommu-updates-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (33 commits)
        iommu/amd: Fix hotplug with iommu=pt
        iommu/amd: Add missing spin_lock initialization
        iommu/amd: Convert iommu initialization to state machine
        iommu/amd: Introduce amd_iommu_init_dma routine
        iommu/amd: Move unmap_flush message to amd_iommu_init_dma_ops()
        iommu/amd: Split enable_iommus() routine
        iommu/amd: Introduce early_amd_iommu_init routine
        iommu/amd: Move informational prinks out of iommu_enable
        iommu/amd: Split out PCI related parts of IOMMU initialization
        iommu/amd: Use acpi_get_table instead of acpi_table_parse
        iommu/amd: Fix sparse warnings
        iommu/tegra: Don't call alloc_pdir with as->lock
        iommu/tegra: smmu: Fix unsleepable memory allocation at alloc_pdir()
        iommu/tegra: smmu: Remove unnecessary sanity check at alloc_pdir()
        iommu/exynos: Implement DOMAIN_ATTR_GEOMETRY attribute
        iommu/tegra: Implement DOMAIN_ATTR_GEOMETRY attribute
        iommu/msm: Implement DOMAIN_ATTR_GEOMETRY attribute
        iommu/omap: Implement DOMAIN_ATTR_GEOMETRY attribute
        iommu/vt-d: Implement DOMAIN_ATTR_GEOMETRY attribute
        iommu/amd: Implement DOMAIN_ATTR_GEOMETRY attribute
        ...
      97027da6
    • L
      Merge tag 'for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 6dd53aa4
      Linus Torvalds 提交于
      Pull PCI changes from Bjorn Helgaas:
       "Host bridge hotplug:
          - Add MMCONFIG support for hot-added host bridges (Jiang Liu)
        Device hotplug:
          - Move fixups from __init to __devinit (Sebastian Andrzej Siewior)
          - Call FINAL fixups for hot-added devices, too (Myron Stowe)
          - Factor out generic code for P2P bridge hot-add (Yinghai Lu)
          - Remove all functions in a slot, not just those with _EJx (Amos
            Kong)
        Dynamic resource management:
          - Track bus number allocation (struct resource tree per domain)
            (Yinghai Lu)
          - Make P2P bridge 1K I/O windows work with resource reassignment
            (Bjorn Helgaas, Yinghai Lu)
          - Disable decoding while updating 64-bit BARs (Bjorn Helgaas)
        Power management:
          - Add PCIe runtime D3cold support (Huang Ying)
        Virtualization:
          - Add VFIO infrastructure (ACS, DMA source ID quirks) (Alex
            Williamson)
          - Add quirks for devices with broken INTx masking (Jan Kiszka)
        Miscellaneous:
          - Fix some PCI Express capability version issues (Myron Stowe)
          - Factor out some arch code with a weak, generic, pcibios_setup()
            (Myron Stowe)"
      
      * tag 'for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (122 commits)
        PCI: hotplug: ensure a consistent return value in error case
        PCI: fix undefined reference to 'pci_fixup_final_inited'
        PCI: build resource code for M68K architecture
        PCI: pciehp: remove unused pciehp_get_max_lnk_width(), pciehp_get_cur_lnk_width()
        PCI: reorder __pci_assign_resource() (no change)
        PCI: fix truncation of resource size to 32 bits
        PCI: acpiphp: merge acpiphp_debug and debug
        PCI: acpiphp: remove unused res_lock
        sparc/PCI: replace pci_cfg_fake_ranges() with pci_read_bridge_bases()
        PCI: call final fixups hot-added devices
        PCI: move final fixups from __init to __devinit
        x86/PCI: move final fixups from __init to __devinit
        MIPS/PCI: move final fixups from __init to __devinit
        PCI: support sizing P2P bridge I/O windows with 1K granularity
        PCI: reimplement P2P bridge 1K I/O windows (Intel P64H2)
        PCI: disable MEM decoding while updating 64-bit MEM BARs
        PCI: leave MEM and IO decoding disabled during 64-bit BAR sizing, too
        PCI: never discard enable/suspend/resume_early/resume fixups
        PCI: release temporary reference in __nv_msi_ht_cap_quirk()
        PCI: restructure 'pci_do_fixups()'
        ...
      6dd53aa4
    • L
      Merge tag 'dt-for-3.6' of git://sources.calxeda.com/kernel/linux · f14121ab
      Linus Torvalds 提交于
      Pull devicetree updates from Rob Herring:
       "A small set of changes for devicetree:
         - Couple of Documentation fixes
         - Addition of new helper function of_node_full_name
         - Improve of_parse_phandle_with_args return values
         - Some NULL related sparse fixes"
      
      Grant's busy packing.
      
      * tag 'dt-for-3.6' of git://sources.calxeda.com/kernel/linux:
        of: mtd: nuke useless const qualifier
        devicetree: add helper inline for retrieving a node's full name
        of: return -ENOENT when no property
        usage-model.txt: fix typo machine_init->init_machine
        of: Fix null pointer related warnings in base.c file
        LED: Fix missing semicolon in OF documentation
        of: fix a few typos in the binding documentation
      f14121ab
    • L
      Merge tag 'pinctrl-for-v3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 914311c9
      Linus Torvalds 提交于
      Pull pin control changes from Linus Walleij:
       "These are the accumulated pin control patches for v3.6:
         - Various cleanups to the U300 driver
         - Refactor the pin control core to automatically remove any GPIO
           ranges when the drivers are removed, instead of having the drivers
           do this explicitly.
         - Add a function for registering a batch of GPIO ranges.
         - Fix a number of incorrect but non-regressive error checks.
         - Incremental improvements to the COH901, i.MX and Nomadik drivers
         - Add a one-register-per-pin entirely Device Tree-based pin control
           driver from Tony Lindgren."
      
      * tag 'pinctrl-for-v3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: Add one-register-per-pin type device tree based pinctrl driver
        pinctrl/nomadik: add spi2_oc1_2 pin group
        pinctrl/nomadik: kerneldoc fix
        pinctrl/nomadik: use devm_* allocators for gpio probe
        pinctrl/nomadik: add pin group to mco function
        pinctrl/nomadik: add hsit_a_2 pin group
        pinctrl/nomadik: add pin group smcs1 and smps0
        pinctrl/nomadik: fix hsir_a_1_pins pin list
        pinctrl: pinctrl-imx: fix map setting problem if NO_PAD_CTL is set
        pinctrl/coh901: use clk_prepare_[en|dis]able()
        pinctrl/pinctrl-tegra: remove IS_ERR checking of pmx->pctl
        pinctrl/pinctrl-spear: remove IS_ERR checking of pmx->pctl
        pinctrl/u300: drop unused variable
        pinctrl: select the proper symbol
        pinctrl: add pinctrl_add_gpio_ranges function
        pinctrl: remove pinctrl_remove_gpio_range
        pinctrl/pinctrl-core: cleanup pinctrl_register
        pinctrl/u300: delete pointless debug print
        pinctrl/pinctrl-u300: remove devm_kfree at driver unload
      914311c9
    • L
      Merge tag 'rdma-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 5dedb9f3
      Linus Torvalds 提交于
      Pull InfiniBand/RDMA changes from Roland Dreier:
       - Updates to the qib low-level driver
       - First chunk of changes for SR-IOV support for mlx4 IB
       - RDMA CM support for IPv6-only binding
       - Other misc cleanups and fixes
      
      Fix up some add-add conflicts in include/linux/mlx4/device.h and
      drivers/net/ethernet/mellanox/mlx4/main.c
      
      * tag 'rdma-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (30 commits)
        IB/qib: checkpatch fixes
        IB/qib: Add congestion control agent implementation
        IB/qib: Reduce sdma_lock contention
        IB/qib: Fix an incorrect log message
        IB/qib: Fix QP RCU sparse warnings
        mlx4: Put physical GID and P_Key table sizes in mlx4_phys_caps struct and paravirtualize them
        mlx4_core: Allow guests to have IB ports
        mlx4_core: Implement mechanism for reserved Q_Keys
        net/mlx4_core: Free ICM table in case of error
        IB/cm: Destroy idr as part of the module init error flow
        mlx4_core: Remove double function declarations
        IB/mlx4: Fill the masked_atomic_cap attribute in query device
        IB/mthca: Fill in sq_sig_type in query QP
        IB/mthca: Warning about event for non-existent QPs should show event type
        IB/qib: Fix sparse RCU warnings in qib_keys.c
        net/mlx4_core: Initialize IB port capabilities for all slaves
        mlx4: Use port management change event instead of smp_snoop
        IB/qib: RCU locking for MR validation
        IB/qib: Avoid returning EBUSY from MR deregister
        IB/qib: Fix UC MR refs for immediate operations
        ...
      5dedb9f3
    • L
      Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · ddb03448
      Linus Torvalds 提交于
      Pull i2c updates from Jean Delvare:
       "The most important changes here are a big cleanup of the i2c-piix4
        driver, cleanups and interrupt support to the i2c-i801 driver, and
        support for the SCCB protocol."
      
      * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        i2c-omap: Add support for I2C_M_STOP message flag
        i2c: Fall back to emulated SMBus if the operation isn't supported natively
        i2c: Add SCCB support
        i2c-tiny-usb: Add support for the Robofuzz OSIF USB/I2C converter
        i2c-i801: Enable IRQ for byte_by_byte transactions
        i2c-i801: Enable interrupts on ICH5/7/8/9/10
        i2c-i801: Enable IRQ for SMBus transactions
        i2c-i801: Consolidate polling
        i2c-i801: Drop ENABLE_INT9
        i2c-i801: Rename some SMBHSTCNT bit constants
        i2c-i801: Check and return errors during byte-by-byte transfers
        i2c-i801: Clear only status bits in HST_STS
        i2c-i801: Refactor use of LAST_BYTE in i801_block_transaction_byte_by_byte
        i2c-smbus: Use module_i2c_driver()
        i2c/writing-clients: Mention module_i2c_driver()
        i2c-piix4: Support AMD auxiliary SMBus controller
        i2c-piix4: Separate registration and probing code
        i2c-piix4: Eliminate piix4_smba global variable
        i2c/busses: Use module_pci_driver
        i2c: Update Guenter Roeck's e-mail address
      ddb03448
    • L
      Merge tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · dbf7b591
      Linus Torvalds 提交于
      Pull sound update from Takashi Iwai:
       "This is a fairly quiet release in all sound area.  Only a little bit
        of changes in the core side while most of changes are seen in the
        drivers.
      
        HD-audio:
         - A few new codec additions for Nvidia, Realtek and VIA
         - Intel Haswell audio support
         - Support for "phantom" jacks for consistent jack reporting
         - Major clean-ups in HDMI/DP driver codes
         - A workaround for inverted digital-mic pins with Realtek codecs
         - Removal of beep_mode=2 option
      
        ASoC:
         - Added the ability to add and remove DAPM paths dynamically, mostly
           for reparenting on clock changes
         - New machine drivers for Marvell Brownstone, ST-Ericsson Ux500
           reference platform and ttc-dkp
         - New CPU drivers for Blackfin BF6xx SPORTs in I2S mode, Marvell MMP,
           Synopsis Designware I2S controllers, and SPEAr DMA and S/PDIF
         - New CODEC drivers for Dialog DA732x, ST STA529, ST-Ericsson AB8500,
           TI Isabelle and Wolfson Microelectronics WM5102 and WM5110
         - DAPM fixes for the recent locking changes
         - Fix for _PRE and _POST widgets (which have been broken for a few
           releases now)
         - A couple of minor driver updates
      
        Misc
         - Conversion to new dev_pm_ops in platform and PCI drivers
         - LTC support and some fixes in PCXHR driver
         - A few fixes and PM support for ISA OPti9xx and WSS cards
         - Some TLV code cleanup
         - Move driver-specific headers from include/sound to local dirs"
      
      * tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (212 commits)
        ASoC: dapm: Fix _PRE and _POST events for DAPM performance improvements
        ALSA: hda - add dock support for Thinkpad X230 Tablet
        ALSA: hda - Turn on PIN_OUT from hdmi playback prepare.
        ASoC imx-audmux: add MX31_AUDMUX_PORT7_SSI_PINS_7 define
        ASoC: littlemill: Add userspace control of the WM1250 I/O
        ASoC: wm8994: Update micdet for irqdomain conversion
        ALSA: hda - make sure alc268 does not OOPS on codec parse
        ALSA: hda - Add support for Realtek ALC282
        ALSA: hda - Fix index number conflicts of phantom jacks
        ALSA: opti9xx: Fix section mismatch by PM support
        ALSA: snd-opti9xx: Implement suspend/resume
        ALSA: hda - Add new GPU codec ID to snd-hda
        ALSA: hda - Fix driver type of Haswell controller to AZX_DRIVER_SCH
        ALSA: hda - add Haswell HDMI codec id
        ALSA: hda - Add DeviceID for Haswell HDA
        ALSA: wss_lib: Fix resume on Yamaha OPL3-SAx
        ALSA: wss_lib: fix suspend/resume
        ALSA: es1938: replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE
        ALSA: tlv: add DECLARE_TLV_DB_RANGE()
        ALSA: tlv: add DECLARE_TLV_CONTAINER()
        ...
      dbf7b591
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · d14b7a41
      Linus Torvalds 提交于
      Pull trivial tree from Jiri Kosina:
       "Trivial updates all over the place as usual."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (29 commits)
        Fix typo in include/linux/clk.h .
        pci: hotplug: Fix typo in pci
        iommu: Fix typo in iommu
        video: Fix typo in drivers/video
        Documentation: Add newline at end-of-file to files lacking one
        arm,unicore32: Remove obsolete "select MISC_DEVICES"
        module.c: spelling s/postition/position/g
        cpufreq: Fix typo in cpufreq driver
        trivial: typo in comment in mksysmap
        mach-omap2: Fix typo in debug message and comment
        scsi: aha152x: Fix sparse warning and make printing pointer address more portable.
        Change email address for Steve Glendinning
        Btrfs: fix typo in convert_extent_bit
        via: Remove bogus if check
        netprio_cgroup.c: fix comment typo
        backlight: fix memory leak on obscure error path
        Documentation: asus-laptop.txt references an obsolete Kconfig item
        Documentation: ManagementStyle: fixed typo
        mm/vmscan: cleanup comment error in balance_pgdat
        mm: cleanup on the comments of zone_reclaim_stat
        ...
      d14b7a41
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · e8ff13b0
      Linus Torvalds 提交于
      Pull HID updates from Jiri Kosina:
       "The list of changes worth pointing out explicitly:
      
        - We are getting 'UHID', which is a new framework for implementing HID
          transport drivers in userspace (this is different from HIDRAW, which
          is transport-independent and provides report parsing facilities;
          uhid is for the other (transport) part of the pipeline).
      
          It's needed for (and currently being used by) Bluetooth-LowEnergy,
          as its specification mandates things we don't want in the kernel.
      
          Written by David Herrmann.
      
        - there have been quite a few bugs in runtime suspend/resume paths
          (probably never reported to actually happen in the wild, but still).
          Alan Stern fixed those.
      
        - a few other driver updates and fixes and random new device support."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (45 commits)
        HID: add ASUS AIO keyboard model AK1D
        HID: add support for Cypress barcode scanner 04B4:ED81
        HID: Allow drivers to be their own listener
        HID: usbhid: fix error paths in suspend
        HID: usbhid: check for suspend or reset before restarting
        HID: usbhid: replace HID_REPORTED_IDLE with HID_SUSPENDED
        HID: usbhid: inline some simple routines
        HID: usbhid: fix autosuspend calls
        HID: usbhid: fix use-after-free bug
        HID: hid-core: optimize in case of hidraw
        HID: hidraw: fix list->buffer memleak
        HID: uhid: Fix sending events with invalid data
        HID: roccat: added sensor sysfs attribute for Savu
        HID: Add driver for Holtek based keyboards with broken HID
        HID: Add suport for the brightness control keys on HP keyboards
        HID: magicmouse: Implement Multi-touch Protocol B (MT-B)
        HID: magicmouse: Removing report_touches switch
        HID: roccat: rename roccat_common functions to roccat_common2
        HID: roccat: fix wrong hid_err usage on struct usb_device
        HID: roccat: move functionality to roccat-common
        ...
      e8ff13b0
    • L
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 0cd5ff59
      Linus Torvalds 提交于
      Pull hwmon updates from Guenter Roeck:
       "New drivers for DA9052/53 PMIC as well as HIH-6130/HIH-6131 humidity
        and temperature sensors.
      
        Convert drivers to use devm_ functions and to use dev_pm_ops.  Address
        a couple of Coverity errors/warnings as well as compile warnings.
        Some functional improvements in applesmc driver."
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (72 commits)
        hwmon: (applesmc) Ignore some temperature registers
        hwmon: (applesmc) Allow negative temperature values
        hwmon: (s3c-hwmon) Use devm_kzalloc instead of kzalloc
        hwmon: (w83781d) Fix compile warning
        hwmon: (applesmc) Shorten minimum wait time
        hwmon: (exynos4_tmu) Use struct dev_pm_ops for power management
        hwmon: (gpio-fan) Use struct dev_pm_ops for power management
        hwmon: (abituguru3) Use struct dev_pm_ops for power management
        hwmon: (abituguru) Use struct dev_pm_ops for power management
        hwmon: (acpi_power_meter) Fix unintentional integer overflow
        hwmon: (acpi_power_meter) Cleanup and optimizations
        hwmon: Honeywell Humidicon HIH-6130/HIH-6131 humidity and temperature sensor driver
        hwmon: (applesmc) Skip sensor mapping
        hwmon: (ntc_thermistor) Ensure that data->name string is terminated
        hwmon: (w83l785ts) Convert to use devm_ functions
        hwmon: (w83l785ts) Simplify code and improve readability
        hwmon: (smsc47m192) Convert to use devm_ functions
        hwmon: (smsc47m1) Convert to use devm_ functions
        hwmon: (smsc47b397) Convert to use devm_ functions
        hwmon: (k8temp) Convert to use devm_ functions
        ...
      0cd5ff59
    • L
      Merge git://www.linux-watchdog.org/linux-watchdog · 3539fc54
      Linus Torvalds 提交于
      Pull watchdog changes from Wim Van Sebroeck:
       - conversion of iTCO_wdt and orion_wdt to the generic watchdog API
       - uses module_platform_driver() for s3c2410_wdt
       - Adds support for Jetway JNF99 Motherboard
       - various fixes
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: orion_wdt: Convert driver to watchdog core
        watchdog: s3c2410_wdt: Use module_platform_driver()
        watchdog: sch311x_wdt: Fix Polarity when starting watchdog
        Watchdog: OMAP: Fix the runtime pm code to avoid module getting stuck intransition state.
        watchdog: ie6xx_wdt: section mismatch in ie6xx_wdt_probe()
        watchdog: bcm63xx_wdt: fix driver section mismatch
        watchdog: iTCO_wdt.c: convert to watchdog core
        char/ipmi: remove local ioctl defines replaced by generic ones
        watchdog: xilinx: Read clock frequency directly from DT node
        watchdog: coh901327_wdt: use clk_prepare/unprepare
        watchdog: f71808e_wdt: Add support for Jetway JNF99 motherboard
      3539fc54
    • L
      Merge tag 'stable/for-linus-3.6-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm · 2b849570
      Linus Torvalds 提交于
      Pull frontswap updates from Konrad Rzeszutek Wilk:
       "Cleanups in code and documentation.  Little bit of refactoring for
        cleaner look."
      
      * tag 'stable/for-linus-3.6-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm:
        mm/frontswap: cleanup doc and comment error
        mm: frontswap: remove unneeded headers
        mm: frontswap: split out function to clear a page out
        mm: frontswap: remove unnecessary check during initialization
        mm: frontswap: make all branches of if statement in put page consistent
        mm: frontswap: split frontswap_shrink further to simplify locking
        mm: frontswap: split out __frontswap_unuse_pages
        mm: frontswap: split out __frontswap_curr_pages
        mm: frontswap: trivial coding convention issues
        mm: frontswap: remove casting from function calls through ops structure
      2b849570
    • L
      Merge tag 'stable/for-linus-3.6-rc0-tag' of... · 62c4d9af
      Linus Torvalds 提交于
      Merge tag 'stable/for-linus-3.6-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull Xen update from Konrad Rzeszutek Wilk:
       "Features:
         * Performance improvement to lower the amount of traps the hypervisor
           has to do 32-bit guests.  Mainly for setting PTE entries and
           updating TLS descriptors.
         * MCE polling driver to collect hypervisor MCE buffer and present
           them to /dev/mcelog.
         * Physical CPU online/offline support.  When an privileged guest is
           booted it is present with virtual CPUs, which might have an 1:1 to
           physical CPUs but usually don't.  This provides mechanism to
           offline/online physical CPUs.
        Bug-fixes for:
         * Coverity found fixes in the console and ACPI processor driver.
         * PVonHVM kexec fixes along with some cleanups.
         * Pages that fall within E820 gaps and non-RAM regions (and had been
           released to hypervisor) would be populated back, but potentially in
           non-RAM regions."
      
      * tag 'stable/for-linus-3.6-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen: populate correct number of pages when across mem boundary (v2)
        xen PVonHVM: move shared_info to MMIO before kexec
        xen: simplify init_hvm_pv_info
        xen: remove cast from HYPERVISOR_shared_info assignment
        xen: enable platform-pci only in a Xen guest
        xen/pv-on-hvm kexec: shutdown watches from old kernel
        xen/x86: avoid updating TLS descriptors if they haven't changed
        xen/x86: add desc_equal() to compare GDT descriptors
        xen/mm: zero PTEs for non-present MFNs in the initial page table
        xen/mm: do direct hypercall in xen_set_pte() if batching is unavailable
        xen/hvc: Fix up checks when the info is allocated.
        xen/acpi: Fix potential memory leak.
        xen/mce: add .poll method for mcelog device driver
        xen/mce: schedule a workqueue to avoid sleep in atomic context
        xen/pcpu: Xen physical cpus online/offline sys interface
        xen/mce: Register native mce handler as vMCE bounce back point
        x86, MCE, AMD: Adjust initcall sequence for xen
        xen/mce: Add mcelog support for Xen platform
      62c4d9af
    • L
      Merge tag 'kvm-3.6-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 5fecc9d8
      Linus Torvalds 提交于
      Pull KVM updates from Avi Kivity:
       "Highlights include
        - full big real mode emulation on pre-Westmere Intel hosts (can be
          disabled with emulate_invalid_guest_state=0)
        - relatively small ppc and s390 updates
        - PCID/INVPCID support in guests
        - EOI avoidance; 3.6 guests should perform better on 3.6 hosts on
          interrupt intensive workloads)
        - Lockless write faults during live migration
        - EPT accessed/dirty bits support for new Intel processors"
      
      Fix up conflicts in:
       - Documentation/virtual/kvm/api.txt:
      
         Stupid subchapter numbering, added next to each other.
      
       - arch/powerpc/kvm/booke_interrupts.S:
      
         PPC asm changes clashing with the KVM fixes
      
       - arch/s390/include/asm/sigp.h, arch/s390/kvm/sigp.c:
      
         Duplicated commits through the kvm tree and the s390 tree, with
         subsequent edits in the KVM tree.
      
      * tag 'kvm-3.6-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (93 commits)
        KVM: fix race with level interrupts
        x86, hyper: fix build with !CONFIG_KVM_GUEST
        Revert "apic: fix kvm build on UP without IOAPIC"
        KVM guest: switch to apic_set_eoi_write, apic_write
        apic: add apic_set_eoi_write for PV use
        KVM: VMX: Implement PCID/INVPCID for guests with EPT
        KVM: Add x86_hyper_kvm to complete detect_hypervisor_platform check
        KVM: PPC: Critical interrupt emulation support
        KVM: PPC: e500mc: Fix tlbilx emulation for 64-bit guests
        KVM: PPC64: booke: Set interrupt computation mode for 64-bit host
        KVM: PPC: bookehv: Add ESR flag to Data Storage Interrupt
        KVM: PPC: bookehv64: Add support for std/ld emulation.
        booke: Added crit/mc exception handler for e500v2
        booke/bookehv: Add host crit-watchdog exception support
        KVM: MMU: document mmu-lock and fast page fault
        KVM: MMU: fix kvm_mmu_pagetable_walk tracepoint
        KVM: MMU: trace fast page fault
        KVM: MMU: fast path of handling guest page fault
        KVM: MMU: introduce SPTE_MMU_WRITEABLE bit
        KVM: MMU: fold tlb flush judgement into mmu_spte_update
        ...
      5fecc9d8
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 3c4cfade
      Linus Torvalds 提交于
      Pull networking changes from David S Miller:
      
       1) Remove the ipv4 routing cache.  Now lookups go directly into the FIB
          trie and use prebuilt routes cached there.
      
          No more garbage collection, no more rDOS attacks on the routing
          cache.  Instead we now get predictable and consistent performance,
          no matter what the pattern of traffic we service.
      
          This has been almost 2 years in the making.  Special thanks to
          Julian Anastasov, Eric Dumazet, Steffen Klassert, and others who
          have helped along the way.
      
          I'm sure that with a change of this magnitude there will be some
          kind of fallout, but such things ought the be simple to fix at this
          point.  Luckily I'm not European so I'll be around all of August to
          fix things :-)
      
          The major stages of this work here are each fronted by a forced
          merge commit whose commit message contains a top-level description
          of the motivations and implementation issues.
      
       2) Pre-demux of established ipv4 TCP sockets, saves a route demux on
          input.
      
       3) TCP SYN/ACK performance tweaks from Eric Dumazet.
      
       4) Add namespace support for netfilter L4 conntrack helpers, from Gao
          Feng.
      
       5) Add config mechanism for Energy Efficient Ethernet to ethtool, from
          Yuval Mintz.
      
       6) Remove quadratic behavior from /proc/net/unix, from Eric Dumazet.
      
       7) Support for connection tracker helpers in userspace, from Pablo
          Neira Ayuso.
      
       8) Allow userspace driven TX load balancing functions in TEAM driver,
          from Jiri Pirko.
      
       9) Kill off NLMSG_PUT and RTA_PUT macros, more gross stuff with
          embedded gotos.
      
      10) TCP Small Queues, essentially minimize the amount of TCP data queued
          up in the packet scheduler layer.  Whereas the existing BQL (Byte
          Queue Limits) limits the pkt_sched --> netdevice queuing levels,
          this controls the TCP --> pkt_sched queueing levels.
      
          From Eric Dumazet.
      
      11) Reduce the number of get_page/put_page ops done on SKB fragments,
          from Alexander Duyck.
      
      12) Implement protection against blind resets in TCP (RFC 5961), from
          Eric Dumazet.
      
      13) Support the client side of TCP Fast Open, basically the ability to
          send data in the SYN exchange, from Yuchung Cheng.
      
          Basically, the sender queues up data with a sendmsg() call using
          MSG_FASTOPEN, then they do the connect() which emits the queued up
          fastopen data.
      
      14) Avoid all the problems we get into in TCP when timers or PMTU events
          hit a locked socket.  The TCP Small Queues changes added a
          tcp_release_cb() that allows us to queue work up to the
          release_sock() caller, and that's what we use here too.  From Eric
          Dumazet.
      
      15) Zero copy on TX support for TUN driver, from Michael S. Tsirkin.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1870 commits)
        genetlink: define lockdep_genl_is_held() when CONFIG_LOCKDEP
        r8169: revert "add byte queue limit support".
        ipv4: Change rt->rt_iif encoding.
        net: Make skb->skb_iif always track skb->dev
        ipv4: Prepare for change of rt->rt_iif encoding.
        ipv4: Remove all RTCF_DIRECTSRC handliing.
        ipv4: Really ignore ICMP address requests/replies.
        decnet: Don't set RTCF_DIRECTSRC.
        net/ipv4/ip_vti.c: Fix __rcu warnings detected by sparse.
        ipv4: Remove redundant assignment
        rds: set correct msg_namelen
        openvswitch: potential NULL deref in sample()
        tcp: dont drop MTU reduction indications
        bnx2x: Add new 57840 device IDs
        tcp: avoid oops in tcp_metrics and reset tcpm_stamp
        niu: Change niu_rbr_fill() to use unlikely() to check niu_rbr_add_page() return value
        niu: Fix to check for dma mapping errors.
        net: Fix references to out-of-scope variables in put_cmsg_compat()
        net: ethernet: davinci_emac: add pm_runtime support
        net: ethernet: davinci_emac: Remove unnecessary #include
        ...
      3c4cfade
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · e017507f
      Linus Torvalds 提交于
      Pull s390 changes from Martin Schwidefsky:
       "No new functions, a few changes to make the code more robust, some
        cleanups and bug fixes."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (21 commits)
        s390/vtimer: rework virtual timer interface
        s390/dis: Add the servc instruction to the disassembler.
        s390/comments: unify copyright messages and remove file names
        s390/lgr: Add init check to lgr_info_log()
        s390/cpu init: use __get_cpu_var instead of per_cpu
        s390/idle: reduce size of s390_idle_data structure
        s390/idle: fix sequence handling vs cpu hotplug
        s390/ap: resend enable adapter interrupt request.
        s390/hypfs: Add missing get_next_ino()
        s390/dasd: add shutdown action
        s390/ipl: Fix ipib handling for "dumpreipl" shutdown action
        s390/smp: make absolute lowcore / cpu restart parameter accesses more robust
        s390/vmlogrdr: cleanup driver attribute usage
        s390/vmlogrdr: cleanup device attribute usage
        s390/ccwgroup: remove unused ccwgroup_device member
        s390/cio/chp: cleanup attribute usage
        s390/sigp: use sigp order code defines in assembly code
        s390/smp: use sigp cpu status definitions
        s390/smp/kvm: unifiy sigp definitions
        s390/smp: remove redundant check
        ...
      e017507f
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin · 759e2a25
      Linus Torvalds 提交于
      Pull blackfin changes from Bob Liu:
       "The big changes are adding PM and HDMI support for bf60x, other
        patches are various bug fix and code cleanup."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin: (48 commits)
        bf60x: fix build warning
        PM: add BF60x flash suspend and resume support
        blackfin: twi: read twi mmr via bfin_read macro
        dpm: deepsleep: reserve stack
        bf60x: cpufreq: fix anomaly 05000273
        bf609: add adv7511 display support
        blackfin: cplb-nompu: fix ROM cplb size for bf609-ezkit
        bf60x: Add double fault, hardware error and NMI SEC handler
        bf60x: update anomaly id in serial and twi driver headers.
        bf60x: vs6624 pin update
        bf60x: add default anomaly setting.
        bf60x: update bf60x anomaly list.
        bf60x: sec: Enable sec interrupt source priority configuration.
        bf60x: sec: Clean up interrupt initialization code for SEC.
        bf609: reuse bf5xx-i2s-pcm.c as i2s pcm driver
        bf561: add capabilities in adv7183_inputs
        bf609: convert vs6624 blank_clocks to black_pixels
        blackfin: fix musb macro name
        cleanup: sec and linkport only built on bf60x
        bfin: pint: add pint suspend and resume
        ...
      759e2a25
    • L
      Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming · 90e66dd9
      Linus Torvalds 提交于
      Pull C6X changes from Mark Salter:
      
        - remove use of legacy irqs which really wasn't needed
        - add support for C66x SoC on EVMC6678 board
        - clean up compiler warning
      
      * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
        C6X: clean up compiler warning
        C6X: add basic support for TMS320C6678 SoC
        C6X: remove dependence on legacy IRQs
        C6X: remove megamod-pic requirement on direct-mapped core pic
      90e66dd9
  3. 24 7月, 2012 12 次提交
    • L
      i2c-omap: Add support for I2C_M_STOP message flag · fb604a3d
      Laurent Pinchart 提交于
      Generate a stop condition after each message marked with I2C_M_STOP.
      
      [JD: Add I2C_FUNC_PROTOCOL_MANGLING.]
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      fb604a3d
    • L
      i2c: Fall back to emulated SMBus if the operation isn't supported natively · 72fc2c7f
      Laurent Pinchart 提交于
      Adapter drivers might support only a subset of the SMBus operations
      natively. Those drivers currently have to manually emulate unsupported
      operations using I2C.
      
      Make the i2c_smbus_xfer() function fall back to
      i2c_smbus_xfer_emulated() when the adapter's .smbus_xfer() operation
      returns -EOPNOTSUPP, like it already does when the .smbus_xfer()
      operation isn't available at all.
      
      [JD: Minor optimization.]
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      72fc2c7f
    • L
      i2c: Add SCCB support · d47726c5
      Laurent Pinchart 提交于
      SCCB is a serial communication bus developed by Omnivision. Its 2-wire
      mode is very similar to SMBus byte data transactions, but requires the
      controller to ignore the ACK bit and to insert a stop condition after
      each message.
      
      Add a device SCCB flag and a message stop flag to be passed to
      controller drivers.
      
      [JD: Kill rogue definition in go7007 driver.]
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      d47726c5
    • E
      i2c-tiny-usb: Add support for the Robofuzz OSIF USB/I2C converter · 68a7602f
      Emmanuel Deloget 提交于
      Robofuzz OSIF is a generic USB/iIC interface that embeds an ATMega8A
      AVR-RISC microcontroler.
      
      The device is based upon Till Harbaum's i2c-tiny-usb and although it
      enhances the original design with further functionnalities it still
      maintain compatibility with it with respect to the USB/I2C interface.
      Signed-off-by: NEmmanuel Deloget <logout@free.fr>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      68a7602f
    • D
      i2c-i801: Enable IRQ for byte_by_byte transactions · d3ff6ce4
      Daniel Kurtz 提交于
      Byte-by-byte transactions are used primarily for accessing I2C devices
      with an SMBus controller.  For these transactions, for each byte that is
      read or written, the SMBus controller generates a BYTE_DONE IRQ.  The isr
      reads/writes the next byte, and clears the IRQ flag to start the next byte.
      On the penultimate IRQ, the isr also sets the LAST_BYTE flag.
      
      There is no locking around the cmd/len/count/data variables, since the
      I2C adapter lock ensures there is never multiple simultaneous transactions
      for the same device, and the driver thread never accesses these variables
      while interrupts might be occurring.
      
      The end result is faster I2C block read and write transactions.
      
      Note: This patch has only been tested and verified by doing I2C read and
      write block transfers on Cougar Point 6 Series PCH, as well as I2C read
      block transfers on ICH5.
      Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      d3ff6ce4
    • J
      i2c-i801: Enable interrupts on ICH5/7/8/9/10 · 29b60854
      Jean Delvare 提交于
      Enable interrupts on more devices. ICH5, ICH7(-M) and ICH10 have been
      tested to work OK. ICH8 and ICH9 are expected to work just fine as
      they are very close to ICH7 and ICH10.
      
      Ultimately we want to enable this feature on at least every device
      since the ICH5, but for now we limit the exposure. We'll enable it for
      other devices if we don't get negative feedback.
      
      As a bonus, let the user know when interrupts are used.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: Daniel Kurtz <djkurtz@chromium.org>
      29b60854
    • D
      i2c-i801: Enable IRQ for SMBus transactions · 636752bc
      Daniel Kurtz 提交于
      Add a new 'feature' to i2c-i801 to enable using PCI interrupts.
      When the feature is enabled, then an isr is installed for the device's
      PCI IRQ.
      
      An I2C/SMBus transaction is always terminated by one of the following
      interrupt sources: FAILED, BUS_ERR, DEV_ERR, or on success: INTR.
      
      When the isr fires for one of these cases, it sets the ->status variable
      and wakes up the waitq.  The waitq then saves off the status code, and
      clears ->status (in preparation for some future transaction).
      The SMBus controller generates an INTR irq at the end of each
      transaction where INTREN was set in the HST_CNT register.
      
      No locking is needed around accesses to priv->status since all writes to
      it are serialized: it is only ever set once in the isr at the end of a
      transaction, and cleared while no interrupts can occur.  In addition, the
      I2C adapter lock guarantees that entire I2C transactions for a single
      adapter are always serialized.
      
      For this patch, the INTREN bit is set only for SMBus block, byte and word
      transactions, but not for I2C reads or writes.  The use of the DS
      (BYTE_DONE) interrupt with byte-by-byte I2C transactions is implemented in
      a subsequent patch.
      
      The interrupt feature has only been enabled for COUGARPOINT hardware.
      In addition, it is disabled if SMBus is using the SMI# interrupt.
      Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      636752bc
    • J
      i2c-i801: Consolidate polling · 6cad93c4
      Jean Delvare 提交于
      (Based on earlier work by Daniel Kurtz.)
      
      Come up with a consistent, driver-wide strategy for event polling. For
      intermediate steps of byte-by-byte block transactions, check for
      BYTE_DONE or any error flag being set. At the end of every transaction
      (regardless of PEC being used), check for both BUSY being cleared and
      INTR or any error flag being set. This ensures proper action for all
      transaction types.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: Daniel Kurtz <djkurtz@chromium.org>
      6cad93c4
    • D
      i2c-i801: Drop ENABLE_INT9 · 37af8711
      Daniel Kurtz 提交于
      Later patches enable interrupts.  This preliminary patch removes the older
      unsupported ENABLE_INT9 flag.
      Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      37af8711
    • D
      i2c-i801: Rename some SMBHSTCNT bit constants · edbeea63
      Daniel Kurtz 提交于
      Rename the SMBHSTCNT register bit access constants to match the style of
      other register bits.
      Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      edbeea63
    • D
      i2c-i801: Check and return errors during byte-by-byte transfers · 70a1cc19
      Daniel Kurtz 提交于
      If an error is detected in the polling loop, abort the transaction and
      return an error code.
      
       * DEV_ERR is set if the device does not respond with an acknowledge, and
      the SMBus controller times out (minimum 25ms).
       * BUS_ERR is set if a bus arbitration collision is detected.  In other
      words, when the SMBus controller tries to generate a START condition, but
      detects that the SMBDATA is being held low, usually by another SMBus/I2C
      master.
       * FAILED is only set if a transaction is stopped by software (using
      the SMBHSTCNT KILL bit).
      Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      70a1cc19
    • D
      i2c-i801: Clear only status bits in HST_STS · 0ba8b8bf
      Daniel Kurtz 提交于
      Writing back the whole status register could clear unwanted bits.
      In particular, it could clear the "INUSE_STS" bit, which is a
      'hardware semaphore', that might be useful to use some day.
      To prepare for this, let's ban writing back the whole status to register
      HST_STS, of which this is the only instance.
      Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      0ba8b8bf