Skip to content
Snippets Groups Projects
  1. Nov 24, 2016
    • Benjamin Tissoires's avatar
      i2c: use an IRQ to report Host Notify events, not alert · 4d5538f5
      Benjamin Tissoires authored
      
      The current SMBus Host Notify implementation relies on .alert() to
      relay its notifications. However, the use cases where SMBus Host
      Notify is needed currently is to signal data ready on touchpads.
      
      This is closer to an IRQ than a custom API through .alert().
      Given that the 2 touchpad manufacturers (Synaptics and Elan) that
      use SMBus Host Notify don't put any data in the SMBus payload, the
      concept actually matches one to one.
      
      Benefits are multiple:
      - simpler code and API: the client will just have an IRQ, and
        nothing needs to be added in the adapter beside internally
        enabling it.
      - no more specific workqueue, the threading is handled by IRQ core
        directly (when required)
      - no more races when removing the device (the drivers are already
        required to disable irq on remove)
      - simpler handling for drivers: use plain regular IRQs
      - no more dependency on i2c-smbus for i2c-i801 (and any other adapter)
      - the IRQ domain is created automatically when the adapter exports
        the Host Notify capability
      - the IRQ are assign only if ACPI, OF and the caller did not assign
        one already
      - the domain is automatically destroyed on remove
      - fewer lines of code (minus 20, yeah!)
      
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      4d5538f5
  2. Jun 17, 2016
  3. Jan 28, 2013
  4. Dec 16, 2012
  5. Oct 30, 2011
  6. Mar 02, 2010
    • Jean Delvare's avatar
      i2c: Add SMBus alert support · b5527a77
      Jean Delvare authored
      
      SMBus alert support. The SMBus alert protocol allows several SMBus
      slave devices to share a single interrupt pin on the SMBus master,
      while still allowing the master to know which slave triggered the
      interrupt.
      
      This is based on preliminary work by David Brownell. The key
      difference between David's implementation and mine is that his was
      part of i2c-core, while mine is split into a separate, standalone
      module named i2c-smbus. The i2c-smbus module is meant to include
      support for all SMBus extensions to the I2C protocol in the future.
      
      The benefit of this approach is a zero cost for I2C bus segments which
      do not need SMBus alert support. Where David's implementation
      increased the size of struct i2c_adapter by 7% (40 bytes on i386),
      mine doesn't touch it. Where David's implementation added over 150
      lines of code to i2c-core (+10%), mine doesn't touch it. The only
      change that touches all the users of the i2c subsystem is a new
      callback in struct i2c_driver (common to both implementations.) I seem
      to remember Trent was worried about the footprint of David'd
      implementation, hopefully mine addresses the issue.
      
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Acked-by: default avatarJonathan Cameron <jic23@cam.ac.uk>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Cc: Trent Piepho <tpiepho@freescale.com>
      b5527a77
  7. Oct 14, 2008
  8. Jul 14, 2008
  9. May 11, 2008
    • David Brownell's avatar
      i2c: Improve smbus-protocol documentation · 1a31a88f
      David Brownell authored
      
      Improve the smbus-protocol documentation file somewhat:
      
       - Use the names of the SMBus protocol operations (from the 2.0
         specification), not made-up-for-Linux names.
      
       - Add the name of the call used to execute each operation ... and
         point out that there are mismatches, where functions execute
         different protocol operations than their names specify.
         
      The most confusing examples are that "Read Byte" isn't executed by
      i2c_smbus_read_byte(), and that "Write Byte" isn't executed by
      i2c_smbus_write_byte().  When coding, that's not as bad as it may
      seem; but that case would seem to be worth fixing.
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      1a31a88f
  10. Feb 13, 2007
  11. Apr 16, 2005
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      v2.6.12-rc2
      1da177e4
Loading