1. 22 11月, 2008 2 次提交
    • P
      i2c-omap: Close suspected race between omap_i2c_idle() and omap_i2c_isr() · 0cbbcffd
      Paul Walmsley 提交于
      omap_i2c_idle() sets an internal flag, "dev->idle", instructing its
      ISR to decline interrupts.  It sets this flag before it actually masks
      the interrupts on the I2C controller.  This is problematic, since an
      I2C interrupt could arrive after dev->idle is set, but before the
      interrupt source is masked.  When this happens, Linux disables the I2C
      controller's IRQ, causing all future transactions on the bus to fail.
      
      Symptoms, happening on about 7% of boots:
      
         irq 56: nobody cared (try booting with the "irqpoll" option)
         <warning traceback here>
         Disabling IRQ #56
         i2c_omap i2c_omap.1: controller timed out
      
      In omap_i2c_idle(), this patch sets dev->idle only after the interrupt
      mask write to the I2C controller has left the ARM write buffer.
      That's probably the major offender.  For additional prophylaxis, in
      omap_i2c_unidle(), the patch clears the dev->idle flag before
      interrupts are enabled, rather than afterwards.
      
      The patch has survived twenty-two reboots on the 3430SDP here without
      wedging I2C1.  Not absolutely dispositive, but promising!
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      
      0cbbcffd
    • J
      i2c-omap: Do not use interruptible wait call in omap_i2c_xfer_msg · b7af349b
      Jarkko Nikula 提交于
      If there is a signal pending and wait_for_completion_interruptible_timeout
      terminates with -ERESTARTSYS, we return and disable the i2c clocks in
      omap_i2c_xfer.
      
      If we terminate before sending last i2c message with a stop condition, the
      bus remains busy and we are not able to send new messages into bus with
      successive omap_i2c_xfer calls. Therefore a pending signal is not caught
      here and we return only because of timeout or i2c error.
      Signed-off-by: NJarkko Nikula <jarkko.nikula@nokia.com>
      Signed-off-by: NJuha Yrjola <juha.yrjola@solidboot.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      
      b7af349b
  2. 13 11月, 2008 1 次提交
  3. 30 10月, 2008 2 次提交
  4. 23 10月, 2008 7 次提交
  5. 21 10月, 2008 3 次提交
  6. 20 10月, 2008 2 次提交
    • P
      x86: sysfs: kill owner field from attribute · 01e8ef11
      Parag Warudkar 提交于
      Tejun's commit 7b595756 made sysfs
      attribute->owner unnecessary.  But the field was left in the structure to
      ease the merge.  It's been over a year since that change and it is now
      time to start killing attribute->owner along with its users - one arch at
      a time!
      
      This patch is attempt #1 to get rid of attribute->owner only for
      CONFIG_X86_64 or CONFIG_X86_32 .  We will deal with other arches later on
      as and when possible - avr32 will be the next since that is something I
      can test.  Compile (make allyesconfig / make allmodconfig / custom config)
      and boot tested.
      
      akpm: the idea is that we put the declaration of sttribute.owner inside
      `#ifndef CONFIG_X86'.  But that proved to be too ambitious for now because
      new usages kept on turning up in subsystem trees.
      
      [akpm: remove the ifdef for now]
      Signed-off-by: NParag Warudkar <parag.lkml@gmail.com>
      Cc: Greg KH <greg@kroah.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Tejun Heo <htejun@gmail.com>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Roland Dreier <rolandd@cisco.com>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      01e8ef11
    • A
      i2c: use bcd2bin/bin2bcd · e4d33969
      Adrian Bunk 提交于
      Change i2c to use the new bcd2bin/bin2bcd functions instead of the
      obsolete BCD2BIN/BIN2BCD macros.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Cc: Jean Delvare <khali@linux-fr.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e4d33969
  7. 17 10月, 2008 2 次提交
    • J
      hwmon: (ams) Convert to a new-style i2c driver · 810ad7b6
      Jean Delvare 提交于
      The legacy i2c binding model is phasing out, so the ams driver needs
      to be converted to a new-style i2c driver. Here is a naive approach of
      this conversion. Basically it is moving the i2c device creation from
      the ams driver to the i2c-powermac driver. This should work, but I
      suspect we could come up with something cleaner by declaring the i2c
      device as part of the platform setup. This could be done later by
      someone more familiar with openfirmware-based platforms than I am
      myself.
      
      One nice thing brought by this conversion is that the ams driver
      should be loaded automatically on systems where is is needed (at
      least when the I2C interface to the chip is used) providing
      coldplug-aware user-space environment.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Cc: Stelian Pop <stelian@popies.net>
      Cc: Michael Hanselmann <linux-kernel@hansmi.ch>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      810ad7b6
    • G
      device create: misc: convert device_create_drvdata to device_create · a9b12619
      Greg Kroah-Hartman 提交于
      Now that device_create() has been audited, rename things back to the
      original call to be sane.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a9b12619
  8. 14 10月, 2008 13 次提交
  9. 09 10月, 2008 1 次提交
  10. 08 10月, 2008 1 次提交
  11. 03 10月, 2008 1 次提交
  12. 24 9月, 2008 2 次提交
  13. 23 9月, 2008 1 次提交
  14. 09 9月, 2008 2 次提交