Skip to content
  1. Dec 09, 2009
    • Kevin Wells's avatar
      i2c-pnx: Map I2C adapter number to platform ID number · 155a4931
      Kevin Wells authored
      
      
      Map I2C adapter number to platform ID number
      
      Signed-off-by: default avatarKevin Wells <kevin.wells@nxp.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      155a4931
    • Rajendra Nayak's avatar
      i2c-omap: OMAP3: PM: (re)init for every transfer to support off-mode · ef871432
      Rajendra Nayak authored
      
      
      Because of OMAP off-mode, powerdomain can go off when I2C is idle.
      Save enough state, and do a re-init for each transfer.
      
      Additional save/restore state added by Jagadeesh Bhaskar Pakaravoor
      (SYSC_REG) and Aaro Koskinen (wakeup sources.)
      
      Also, The OMAP3430 TRM states:
      
      "During active mode (I2Ci.I2C_CON[15] I2C_EN bit is set to 1), make no
      changes to the I2Ci.I2C_SCLL and I2Ci.I2C_SCLH registers.  Changes may
      result in unpredictable behavior."
      
      Hence, the I2C_EN bit should be clearer when modifying these
      registers. Please note that clearing the entire I2C_CON register to
      disable the I2C module is safe, because the I2C_CON register is
      re-configured for each transfer.
      
      Signed-off-by: default avatarJouni Hogander <jouni.hogander@nokia.com>
      Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
      Cc: Jagadeesh Bhaskar Pakaravoor <j-pakaravoor@ti.com>
      Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
      Cc: Jon Hunter <jon-hunter@ti.com>
      Cc: Hu Tao <taohu@motorola.com>
      Cc: Xiaolong Chen <A21785@motorola.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      ef871432
    • Shinya Kuribayashi's avatar
      i2c-designware: i2c_dw_handle_tx_abort: Use dev_dbg() for NOACK cases · 6d1ea0f6
      Shinya Kuribayashi authored
      
      
      In the case of no-ACKs, we don't want to see dev_err() messages in the
      console, because some utilities like i2c-tools are capable of printing
      decorated console output.  This patch will ease such situations.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      6d1ea0f6
    • Shinya Kuribayashi's avatar
    • Shinya Kuribayashi's avatar
      i2c-designware: Tx abort cleanups · ce6eb574
      Shinya Kuribayashi authored
      
      
      * ABRT_MASTER_DIS: Fix a typo.
      
      * i2c_dw_handle_tx_abort: Return an appropriate error number
        depending on abort_source.
      
      * i2c_dw_xfer: Add a missing abort_source initialization.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      ce6eb574
    • Shinya Kuribayashi's avatar
      i2c-designware: Skip RX_FULL and TX_EMPTY bits on tx abort errors · 597fe310
      Shinya Kuribayashi authored
      
      
      Suppose TX_ABRT occurs in the middle of processing i2c_msg msgs[], and
      a STOP condition has already been generated on the bus.  In this case,
      subsequent i2c_dw_xfer_msg() might initiate a new and unnecessary I2C
      transaction, which we'd have to avoid.
      
      Furthermore, anytime TX_ABRT is set, the contents of tx/rx buffers are
      flushed, so we don't have to process RX_FULL and TX_EMPTY.
      
      Disable interrupts, and skip them.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      597fe310
    • Shinya Kuribayashi's avatar
      i2c-designware: i2c_dw_xfer_msg: Fix error handling procedures · 8f588e40
      Shinya Kuribayashi authored
      
      
      Current error handling procedures are not good in two respects:
      
      * Forgot to mark dev->cmd_complete as "completed" on errors
      
        Once an I2C transaction is initiated, wait_for_completion_
        interruptible_timeout() waits for dev->cmd_complete to be completed.
        We have to take care of it whenever an error is detected, otherwise
        we will have a needless HZ timeout.
      
      * Forgot to disable interrupts
      
        In the previous patch, interrupt mask operations have been changed.
        We don't disable interrupts at the end of the interrupt handler any
        more, and try to keep RX_FULL (and TX_EMPTY if required) enabled
        during the transaction so that we can send longer data than the size
        of Tx/Rx FIFO.
      
        If an error is detected, we need to disable interrupts before
        quitting current transaction.
      
      We can work around above points using dev->msg_err effectively.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      8f588e40
    • Shinya Kuribayashi's avatar
      i2c-designware: Disable TX_EMPTY when all i2c_msg msgs has been processed · 69151e53
      Shinya Kuribayashi authored
      
      
      Currently we disable TX_EMPTY interrupt when buf_len is zero, but this
      is wrong.  (buf_len == 0) means that all transmit data in the current
      i2c_msg message has been sent out, but that doesn't necessarily mean
      all i2c_msg messages have been processed.
      
      TX_EMPTY interrupt is used as the driving force of DW I2C transactions,
      so we need to keep it enabled as long as i2c_msg messages are available.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      69151e53
    • Shinya Kuribayashi's avatar
      i2c-designware: Process all i2c_msg messages in the interrupt handler · 201d6a70
      Shinya Kuribayashi authored
      
      
      Currently we process the first i2c_dw_xfer_msg() in i2c_dw_xfer(),
      but in this case there is a possibility to be interrupted by certain
      interrupts.  As described before in this patchset, we need to keep
      providing new transmit data within a given time period, otherwise Tx
      FIFO underrun takes place and STOP condition will be generated on the
      bus, even if we have more bytes to be written.
      
      In order to exclude all such possibilities, change TX_EMPTY interrupt
      usage as below:
      
      * DW_IC_INTR_DEFAULT_MASK: Define a default interrupt mask set, and
        put TX_EMPTY there.
      
      * i2c_dw_xfer_init: Enable DW_IC_INTR_DEFAULT_MASK prior to initiating
        a new I2C transaction.  The first TX_EMPTY will be triggered shortly.
        With the help of it, we can make the first call to i2c_dw_xfer_msg()
        in the interrupt handler.
      
      * i2c_dw_xfer_msg: Fixup intr_mask operation accordingly.  Make sure
        that TX_EMPTY operations need to be reversed.
      
      * request_irq: Set IRQF_DISABLED so that we could load transmit data
        into Tx FIFO without being distracted by other interrupts.
      
      * Remove i2c_dw_xfer_msg() in i2c_dw_xfer().
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      201d6a70
    • Shinya Kuribayashi's avatar
      i2c-designware: i2c_dw_read: Remove redundant target address checker · 41c4e350
      Shinya Kuribayashi authored
      
      
      I2c_dw_xfer_msg() also has the same target address inconsistency check,
      and furthermore it checks across all i2c_msg messages, while
      i2c_dw_read() walks through i2c_msg messages only with_ I2C_M_RD flag.
      That is, target address check in i2c_dw_read() is redundant and useless.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      41c4e350
    • Shinya Kuribayashi's avatar
      i2c-designware: i2c_dw_func: Set I2C_FUNC_SMBUS_foo bits · 52d7e430
      Shinya Kuribayashi authored
      
      
      Set proper I2C_FUNC_SMBUS_* bits so that the driver could be used with
      some utilities requiring SMBus functionalities, such as i2c-tools.
      
      Note that DW I2C core doesn't support I2C_FUNC_SMBUS_QUICK, as it's not
      capable of zero-length data transactions.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      52d7e430
    • Shinya Kuribayashi's avatar
      i2c-designware: Initialize byte count variables just prior to being used · ae72222d
      Shinya Kuribayashi authored
      
      
      As the driver and hardware always process the given data in parallel,
      then it would be better to initialize tx_limit, rx_limit and rx_valid
      variables just prior to being used.
      
      This will help us to send / receive as much data as possible.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      ae72222d
    • Shinya Kuribayashi's avatar
      i2c-designware: i2c_dw_xfer_msg: Introduce a local "buf" pointer · 26ea15b1
      Shinya Kuribayashi authored
      
      
      While we have a local variable "buf_len" for dev->tx_buf_len, we don't
      have such local variable for dev->tx_buf pointer.  While "buf_len" is
      restored at first then updated when we start processing a new i2c_msg
      (determined by STATUS_WRITE_IN_PROGRESS flag), ->tx_buf is different.
      
      Such inconsistency makes the code slightly hard to follow.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      26ea15b1
    • Shinya Kuribayashi's avatar
      i2c-designware: Divide i2c_dw_xfer_msg into two functions · 81e798b7
      Shinya Kuribayashi authored
      
      
      We have some steps at the top of i2c_dw_xfer_msg() to set up a slave
      address and enable DW I2C core.  And it's executed only when we don't
      have STATUS_WRITE_IN_PROGRESS.
      
      But we need to make sure that STATUS_WRITE_IN_PROGRESS only indicates
      that we have a pending i2c_msg to process.  In other words, even if
      STATUS_WRITE_IN_PROGRESS is not set, that doesn't mean we're at initial
      state in the I2C transaction.
      
      Since i2c_dw_xfer_msg() will be invoked again and again during a
      transaction, those init steps have a possibility to be re-processed
      needlessly.  For example, this issue easily takes place when processing
      a combined transaction with a certain condition (the number of tx bytes
      in the first i2c_msg, equals to the Tx FIFO depth).
      
      Consequently we should not use STATUS_WRITE_IN_PROGRESS to determine
      where we're at in an I2C transaction.  It would be better to separate
      those initialization steps from i2c_dw_xfer_msg().
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      81e798b7
    • Shinya Kuribayashi's avatar
      i2c-designware: Enable RX_FULL interrupt · 21a89d41
      Shinya Kuribayashi authored
      
      
      Enable RX_FULL interrupt mask by default, and hook it in the interrupt
      handler.  If requested amount of rx data (defined by IC_RX_TL) is not
      available, we don't have to process i2c_dw_read().
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      21a89d41
    • Shinya Kuribayashi's avatar
      i2c-designware: Set Tx/Rx FIFO threshold levels · 4cb6d1d6
      Shinya Kuribayashi authored
      
      
      As a hardware feature, DW I2C core generates a STOP condition whenever
      the Tx FIFO becomes empty (strictly speaking, whenever the last byte in
      the Tx FIFO is sent out), even if we have more bytes to be written.
      
      In other words, we must never make "Tx FIFO underrun" happen during
      a transaction, except for the last byte.  For the safety's sake, we'd
      make TX_EMPTY interrupt get triggered every time one byte is processed.
      
      The Rx FIFO threshold needs to be set as well.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      4cb6d1d6
    • Shinya Kuribayashi's avatar
      i2c-designware: Process i2c_msg messages in the interrupt handler · 07745399
      Shinya Kuribayashi authored
      
      
      Symptom:
      --------
      When we're going to send/receive the longer size of data than the Tx
      FIFO length, the I2C transaction will be divided into several separated
      transactions, limited by the Tx FIFO length.
      
      Details:
      --------
      As a hardware feature, DW I2C core generates a STOP condition whenever
      the Tx FIFO becomes empty (strictly speaking, whenever the last byte in
      the Tx FIFO is sent out), even if we have more bytes to be written.
      Then, once a new transmit data is written to the Tx FIFO, DW I2C core
      will initiate a new transaction, which leads to another START condition.
      
      This explains how the transaction in question goes, and implies that
      current tasklet-based dw_i2c_pump_msg() strategy couldn't meet the
      timing constraint required for avoiding Tx FIFO underrun.
      
      To avoid this scenario, we must keep providing new transmit data within
      a given time period.  In case of Fast-mode + 32-byte Tx FIFO, for
      instance, it takes about 22.5[us] to process single byte, and 720[us] in
      total.
      
      This patch removes the existing tasklet-based "pump" system, and move
      its jobs into the interrupt handler.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      07745399
    • Shinya Kuribayashi's avatar
      i2c-designware: i2c_dw_xfer_msg: Fix i2c_msg search bug · c70c5cd3
      Shinya Kuribayashi authored
      
      
      In case a work-in-progress i2c_msg has more bytes to be written, we
      need to set STATUS_WRITE_IN_PROGRESS and exit from the msg_write_idx-
      searching loop.  Otherwise, we will overtake the current msg_write_idx
      without waiting for its transmission to be processed.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      c70c5cd3
    • Shinya Kuribayashi's avatar
      i2c-designware: Improved _HCNT/_LCNT calculation · d60c7e81
      Shinya Kuribayashi authored
      
      
      * Calculate with accurate conditional expressions from DW manuals.
      * Round ic_clk by adding 0.5 as it's important at high ic_clk rate.
      * Take into account "tHD;STA" issue for _HCNT calculation.
      * Take into account "tf" for _LCNT calculation.
      * Add "cond" and "offset" fot further correction requirements.
      
      For _HCNT calculation, there's one issue needs to be carefully
      considered; DesignWare I2C core doesn't seem to have solid strategy
      to meet the tHD;STA timing spec.  If you configure _HCNT based on the
      tHIGH timing spec, it easily results in violation of the tHD;STA spec.
      
      After many trials, we came to the conclusion that the tHD;STA period
      is proportional to (_HCNT + 3).  For the safety's sake, this should be
      selected by default.
      
      As for _LCNT calculation, DW I2C core has one characteristic behavior;
      he starts counting the SCL CNTs for the LOW period of the SCL clock
      (tLOW) as soon as it pulls the SCL line.  At that time, he doesn't take
      into account the fall time of SCL signal (tf), IOW, he starts counting
      CNTs without confirming the SCL input voltage has dropped to below VIL.
      
      This characteristics becomes a problem on some platforms where tf is
      considerably long, and results in violation of the tLOW timing spec.
      
      To make the driver configurable as much as possible for various cases,
      we'd have separated arguments "tf" and "offset", and for safety default
      values should be 0.3 us and 0, respectively.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      d60c7e81
    • Shinya Kuribayashi's avatar
      i2c-designware: Remove an useless local variable "num" · 6d2ea487
      Shinya Kuribayashi authored
      
      
      We couldn't know the original intent for this variable, but at this
      point it's useless.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      6d2ea487
    • Shinya Kuribayashi's avatar
      i2c-designware: i2c_dw_xfer_msg: Use "struct dw_i2c_dev" pointer · e77cf232
      Shinya Kuribayashi authored
      
      
      We don't have to use "struct i2c_adapter" pointer here.
      Let's use a local "struct dw_i2c_dev" pointer, instead.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      e77cf232
    • Shinya Kuribayashi's avatar
      i2c-designware: i2c_dw_read: Use "struct dw_i2c_dev" pointer · 78839bd0
      Shinya Kuribayashi authored
      
      
      We don't have to use "struct i2c_adapter" pointer here.
      Let's use a local "struct dw_i2c_dev" pointer, instead.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      78839bd0
    • Shinya Kuribayashi's avatar
    • Shinya Kuribayashi's avatar
      i2c-designware: Don't use the IC_CLR_INTR register to clear interrupts · e28000a3
      Shinya Kuribayashi authored
      
      
      We're strongly discouraged from using the IC_CLR_INTR register because
      it clears all software-clearable interrupts asserted at the moment.
      
        stat = readl(IC_INTR_STAT);
          :
          :  <=== Interrupts asserted during this period will be lost
          :
        readl(IC_CLR_INTR);
      
      Instead, use the separately-prepared IC_CLR_* registers.
      
      At the same time, this patch adds all remaining interrupt definitions
      available in the DesignWare I2C hardware.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      e28000a3
    • Shinya Kuribayashi's avatar
      i2c-designware: Consolidate to use 32-bit word accesses · ed5e1dd5
      Shinya Kuribayashi authored
      
      
      This driver looks originally meant for armel machines where readw()/
      writew() works perfectly fine with this hardware.  But that doens't
      work for big-endian systems.
      
      This patch converts all 8/16-bit-aware usages to 32-bit variants.
      
      Signed-off-by: default avatarShinya Kuribayashi <shinya.kuribayashi@necel.com>
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      ed5e1dd5
    • Linus Torvalds's avatar
      Merge branch 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block · 6035ccd8
      Linus Torvalds authored
      * 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block: (113 commits)
        cfq-iosched: Do not access cfqq after freeing it
        block: include linux/err.h to use ERR_PTR
        cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit
        blkio: Allow CFQ group IO scheduling even when CFQ is a module
        blkio: Implement dynamic io controlling policy registration
        blkio: Export some symbols from blkio as its user CFQ can be a module
        block: Fix io_context leak after failure of clone with CLONE_IO
        block: Fix io_context leak after clone with CLONE_IO
        cfq-iosched: make nonrot check logic consistent
        io controller: quick fix for blk-cgroup and modular CFQ
        cfq-iosched: move IO controller declerations to a header file
        cfq-iosched: fix compile problem with !CONFIG_CGROUP
        blkio: Documentation
        blkio: Wait on sync-noidle queue even if rq_noidle = 1
        blkio: Implement group_isolation tunable
        blkio: Determine async workload length based on total number of queues
        blkio: Wait for cfq queue to get backlogged if group is empty
        blkio: Propagate cgroup weight updation to cfq groups
        blkio: Drop the reference to queue once the task changes cgroup
        blkio: Provide some isolation between groups
        ...
      6035ccd8
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 23eb3b64
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (54 commits)
        Revert "pata_sis: Implement MWDMA for the UDMA 133 capable chips"
        libata: Clarify ata_set_lba_range_entries function
        libata: Report zeroed read after TRIM and max discard size
        pata_hpt3x2n: fix overclocked MWDMA0 timing
        pata_it8213: MWDMA0 is unsupported
        [libata] MWDMA0 is unsupported on PIIX-like PATA controllers
        pata_via: clear UDMA transfer mode bit for PIO and MWDMA
        pata_sis: Power Management fix
        pata_rz1000: Power Management fix
        pata_radisys: fix UDMA handling
        pata_ns87415: Power Management fix
        pata_marvell: fix marvell_pre_reset() documentation
        pata_legacy: add pointers to QDI65x0 documentation
        pata_legacy: fix access to control register for QDI6580
        pata_legacy: fix QDI6580DP support
        pata_it8213: fix it8213_pre_reset() documentation
        pata_it8213: fix wrong MWDMA timings being programmed
        pata_it8213: fix PIO2 underclocking
        pata_it8213: fix wrong PIO timings being programmed
        pata_it8213: fix UDMA handling
        ...
      23eb3b64
    • Linus Torvalds's avatar
      Merge branch 'omap-for-linus' of... · 1c496784
      Linus Torvalds authored
      Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
      
      * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (149 commits)
        arm: omap: Add omap3_defconfig
        AM35xx: Defconfig for AM3517 EVM board
        AM35xx: Add support for AM3517 EVM board
        omap: 3630sdp: defconfig creation
        omap: 3630sdp: introduce 3630 sdp board support
        omap3: Add defconfig for IGEP v2 board
        omap3: Add minimal IGEP v2 support
        omap3: Add CompuLab CM-T35 defconfig
        omap3: Add CompuLab CM-T35 board support
        omap3: rx51: Add wl1251 wlan driver support
        omap3: rx51: Add SDRAM init
        omap1: Add default kernel configuration for Herald
        omap1: Add board support and LCD for HTC Herald
        omap: zoom2: update defconfig for LL_DEBUG_NONE
        omap: zoom3: defconfig creation
        omap3: zoom: Introduce zoom3 board support
        omap3: zoom: Drop i2c-1 speed to 2400
        omap3: zoom: rename zoom2 name to generic zoom
        omap3: zoom: split board file for software reuse
        omap3evm: MIgrate to smsc911x ethernet driver
        ...
      
      Fix trivial conflict (two unrelated config options added next to each
      other) in arch/arm/mach-omap2/Makefile
      1c496784
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · adf9904d
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: parport_mfc3 - Not makes it a bool before the comparison.
        m68k: don't export static inline functions
        fbdev: atafb - add palette register check
        m68k: Remove the BKL from sys_execve
        m68k: Cleanup linker scripts using new linker script macros.
        m68k: Make thread_info.h usable from assembly.
        m68knommu: define arch_has_single_step() and friends
        m68k: ptrace fixes
        m68k: use generic code for ptrace requests
        rtc: Add an RTC driver for the Ricoh RP5C01
        rtc: Add an RTC driver for the Oki MSM6242
      adf9904d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 · bb592cf4
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
        ieee1394: Use hweight32
        firewire: cdev: reduce stack usage by ioctl_dispatch
        firewire: ohci: 0 may be a valid DMA address
        firewire: core: WARN on wrong usage of core transaction functions
        firewire: core: optimize Topology Map creation
        firewire: core: clarify generate_config_rom usage
        firewire: optimize config ROM creation
        firewire: cdev: normalize variable names
        firewire: normalize style of queue_work wrappers
        firewire: cdev: fix memory leak in an error path
      bb592cf4
    • Linus Torvalds's avatar
      Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm · 79c9601c
      Linus Torvalds authored
      * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (272 commits)
        Fix soc_common PCMCIA configuration
        ARM: 5827/1: SA1100: h3100/h3600: emit messages on failed gpio_request
        ARM: 5826/1: SA1100: h3100/h3600: always build htc-egpio driver
        ARM: 5825/1: SA1100: h3600: update defconfig
        ARM: 5824/1: SA1100: reuse h3600 PCMCIA driver on h3100
        ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keys
        ARM: 5822/1: SA1100: h3100/h3600: clean up #includes
        ARM: 5821/1: SA1100: h3100/h3600: revise copyright boilerplates
        ARM: 5820/1: SA1100: h3100/h3600: split h3600.c
        ARM: 5819/1: SA1100: h3100/h3600: merge h3600.h and h3600_gpio.h into h3xxx.h
        ARM: 5818/1: SA1100: h3100/h3600: drop old GPIO definitions
        ARM: 5817/1: SA1100: h3100/h3600: configure all unused gpios as inputs
        ARM: 5816/1: SA1100: h3600: remove IRQ_GPIO_* definitions
        ARM: 5815/1: SA1100: h3100/h3600: remove now unused assign_h3600_egpio handlers
        ARM: 5814/1: SA1100: h3100/h3600: convert all users of assign_h3600_egpio to gpiolib
        ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driver
        ARM: 5812/1: SA1100: h3100/h3600: separate machine-specific LCD helpers
        ARM: 5811/2: pcmcia: convert sa1100_h3600 driver to gpiolib
        ARM: 5799/1: SA1100: h3600: stop setting direction for LCD pins
        ARM: 5798/1: SA1100: h3600: remove unused cruft from h3600.h
        ...
      79c9601c
    • Linus Torvalds's avatar
      Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 41440ffe
      Linus Torvalds authored
      * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        i2c-stub: Documentation update
        i2c-stub: Allow user to disable some commands
        i2c-stub: Implement I2C block support
        i2c: Refactor for_each callbacks
        i2c-i801: Retry on lost arbitration
        i2c: Remove big kernel lock from i2cdev_open
        ics932s401: Clean up detect function
        i2c: Simplify i2c_detect_address
        i2c: Drop probe, ignore and force module parameters
        i2c: Add missing __devinit markers to old i2c adapter drivers
        i2c: Bus drivers don't have to support I2C_M_REV_DIR_ADDR
        i2c: Prevent priority inversion on top of bus lock
        i2c-voodoo3: Delete
        i2c-powermac: Drop temporary name buffer
        i2c-powermac: Include the i2c_adapter in struct pmac_i2c_bus
        i2c-powermac: Log errors
        i2c-powermac: Refactor i2c_powermac_smbus_xfer
        i2c-powermac: Reject unsupported I2C transactions
        i2c/chips: Move ds1682 to drivers/misc
      41440ffe
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 · dad3de7d
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
        PM: Add flag for devices capable of generating run-time wake-up events
        PM / Runtime: Remove unnecessary braces in __pm_runtime_set_status()
        PM / Runtime: Make documentation of runtime_idle() agree with the code
        PM / Runtime: Ensure timer_expires is nonzero in pm_schedule_suspend()
        PM / Runtime: Use deferred_resume flag in pm_request_resume
        PM / Runtime: Export the PM runtime workqueue
        PM / Runtime: Fix lockdep warning in __pm_runtime_set_status()
        PM / Hibernate: Swap, use KERN_CONT
        PM / Hibernate: Shift remaining code from swsusp.c to hibernate.c
        PM / Hibernate: Move swap functions to kernel/power/swap.c.
        PM / freezer: Don't get over-anxious while waiting
      dad3de7d
    • Linus Torvalds's avatar
      Merge branch 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm · ed9216c1
      Linus Torvalds authored
      * 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (84 commits)
        KVM: VMX: Fix comparison of guest efer with stale host value
        KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c
        KVM: Drop user return notifier when disabling virtualization on a cpu
        KVM: VMX: Disable unrestricted guest when EPT disabled
        KVM: x86 emulator: limit instructions to 15 bytes
        KVM: s390: Make psw available on all exits, not just a subset
        KVM: x86: Add KVM_GET/SET_VCPU_EVENTS
        KVM: VMX: Report unexpected simultaneous exceptions as internal errors
        KVM: Allow internal errors reported to userspace to carry extra data
        KVM: Reorder IOCTLs in main kvm.h
        KVM: x86: Polish exception injection via KVM_SET_GUEST_DEBUG
        KVM: only clear irq_source_id if irqchip is present
        KVM: x86: disallow KVM_{SET,GET}_LAPIC without allocated in-kernel lapic
        KVM: x86: disallow multiple KVM_CREATE_IRQCHIP
        KVM: VMX: Remove vmx->msr_offset_efer
        KVM: MMU: update invlpg handler comment
        KVM: VMX: move CR3/PDPTR update to vmx_set_cr3
        KVM: remove duplicated task_switch check
        KVM: powerpc: Fix BUILD_BUG_ON condition
        KVM: VMX: Use shared msr infrastructure
        ...
      
      Trivial conflicts due to new Kconfig options in arch/Kconfig and kernel/Makefile
      ed9216c1
  2. Dec 08, 2009
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 · d7fc02c7
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits)
        mac80211: fix reorder buffer release
        iwmc3200wifi: Enable wimax core through module parameter
        iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter
        iwmc3200wifi: Coex table command does not expect a response
        iwmc3200wifi: Update wiwi priority table
        iwlwifi: driver version track kernel version
        iwlwifi: indicate uCode type when fail dump error/event log
        iwl3945: remove duplicated event logging code
        b43: fix two warnings
        ipw2100: fix rebooting hang with driver loaded
        cfg80211: indent regulatory messages with spaces
        iwmc3200wifi: fix NULL pointer dereference in pmkid update
        mac80211: Fix TX status reporting for injected data frames
        ath9k: enable 2GHz band only if the device supports it
        airo: Fix integer overflow warning
        rt2x00: Fix padding bug on L2PAD devices.
        WE: Fix set events not propagated
        b43legacy: avoid PPC fault during resume
        b43: avoid PPC fault during resume
        tcp: fix a timewait refcnt race
        ...
      
      Fix up conflicts due to sysctl cleanups (dead sysctl_check code and
      CTL_UNNUMBERED removed) in
      	kernel/sysctl_check.c
      	net/ipv4/sysctl_net_ipv4.c
      	net/ipv6/addrconf.c
      	net/sctp/sysctl.c
      d7fc02c7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 · ee1262db
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6:
        sparc: Set UTS_MACHINE correctly.
        sparc,leon: init_leon srmmu cleanup
        sparc32: Remove early interrupt enable.
        sparc, leon: Added Aeroflex Gaisler entry in manufacturer_info structure
        sparc64: Faster early-boot framebuffer console.
        Revert "sparc: Make atomic locks raw"
        sparc: remove unused nfsd #includes
        sparc: Fixup last users of irq_chip->typename
        Added sparc_leon3_snooping_enabled() and converted extern inline to static inline
        No auxio on LEON
        apbuart: Use of_find_node_by_path to find root node.
        sparc: Replace old style lock initializer
        sparc: Make atomic locks raw
        apbuart: Fix build and missing driver unregister.
        apbuart: Kill dependency on deprecated Sparc-only PROM interfaces.
        apbuart: Fix build warning.
        sparc: Support for GRLIB APBUART serial port
        watchdog: Remove BKL from rio watchdog driver
        sparc: Remove BKL from apc
        sparc,leon: Sparc-Leon SMP support
      ee1262db
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · a421018e
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (294 commits)
        S3C64XX: Staticise platform data for PCM devices
        ASoC: Rename controls with a / in wm_hubs
        snd-fm801: autodetect SF64-PCR (tuner-only) card
        ALSA: tea575x-tuner: fix mute
        ASoC: au1x: dbdma2: plug memleak in pcm device creation error path
        ASoC: au1x: dbdma2: fix oops on soc device removal.
        ALSA: hda - Fix memory leaks in the previous patch
        ALSA: hda - Add ALC661/259, ALC892/888VD support
        ALSA: opti9xx: remove snd_opti9xx fields
        ALSA: aaci - Clean up duplicate code
        ALSA: usb - Fix mixer map for Hercules Gamesurround Muse Pocket LT
        ALSA: hda - Add position_fix quirk for HP dv3
        ALSA: hda - Add a pin-fix for FSC Amilo Pi1505
        ALSA: hda - Fix Cxt5047 test mode
        ASoC: pxa/raumfeld: adopt new snd_soc_dai_set_pll() API
        ASoC: sh: fsi: Add runtime PM support
        sh: ms7724se: Add runtime PM support for FSI
        ALSA: hda - Add a position_fix quirk for MSI Wind U115
        ALSA: opti-miro: add PnP detection
        ALSA: opti-miro: separate comon probing code
        ...
      a421018e
    • Linus Torvalds's avatar
      Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 · 3ad1f3b3
      Linus Torvalds authored
      * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6:
        of: merge of_find_all_nodes() implementations
        of: merge other miscellaneous prototypes
        of: merge of_*_flat_dt*() functions
        of: merge of_node_get(), of_node_put() and of_find_all_nodes()
        of: merge of_read_number() an of_read_ulong()
        of: merge of_node_*_flag() and set_node_proc_entry()
        of: merge struct boot_param_header from Microblaze and PowerPC
        of: add common header for flattened device tree representation
        of: Move OF_IS_DYNAMIC and OF_MARK_DYNAMIC macros to of.h
        of: merge struct device_node
        of: merge phandle, ihandle and struct property
        of: Rework linux/of.h and asm/prom.h include ordering
      3ad1f3b3
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6 · 1557d330
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6: (43 commits)
        security/tomoyo: Remove now unnecessary handling of security_sysctl.
        security/tomoyo: Add a special case to handle accesses through the internal proc mount.
        sysctl: Drop & in front of every proc_handler.
        sysctl: Remove CTL_NONE and CTL_UNNUMBERED
        sysctl: kill dead ctl_handler definitions.
        sysctl: Remove the last of the generic binary sysctl support
        sysctl net: Remove unused binary sysctl code
        sysctl security/tomoyo: Don't look at ctl_name
        sysctl arm: Remove binary sysctl support
        sysctl x86: Remove dead binary sysctl support
        sysctl sh: Remove dead binary sysctl support
        sysctl powerpc: Remove dead binary sysctl support
        sysctl ia64: Remove dead binary sysctl support
        sysctl s390: Remove dead sysctl binary support
        sysctl frv: Remove dead binary sysctl support
        sysctl mips/lasat: Remove dead binary sysctl support
        sysctl drivers: Remove dead binary sysctl support
        sysctl crypto: Remove dead binary sysctl support
        sysctl security/keys: Remove dead binary sysctl support
        sysctl kernel: Remove binary sysctl logic
        ...
      1557d330
    • Vivek Goyal's avatar
      cfq-iosched: Do not access cfqq after freeing it · 878eaddd
      Vivek Goyal authored
      
      
      Fix a crash during boot reported by Jeff Moyer. Fix the issue of accessing
      cfqq after freeing it.
      
      Reported-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Reviewed-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@carl.(none)>
      878eaddd