1. 25 7月, 2011 1 次提交
  2. 01 3月, 2011 1 次提交
  3. 30 9月, 2010 1 次提交
    • G
      of/i2c: Fix module load order issue caused by of_i2c.c · 925bb9c6
      Grant Likely 提交于
      Commit 959e85f7, "i2c: add OF-style registration and binding" caused a
      module dependency loop where of_i2c.c calls functions in i2c-core, and
      i2c-core calls of_i2c_register_devices() in of_i2c.  This means that
      when i2c support is built as a module when CONFIG_OF is set, then
      neither i2c_core nor of_i2c are able to be loaded.
      
      This patch fixes the problem by moving the of_i2c_register_devices()
      calls back into the device drivers.  Device drivers already
      specifically request the core code to parse the device tree for
      devices anyway by setting the of_node pointer, so it isn't a big
      deal to also call the registration function.  The drivers just become
      slightly more verbose.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      925bb9c6
  4. 06 8月, 2010 1 次提交
  5. 06 7月, 2010 2 次提交
  6. 22 5月, 2010 1 次提交
    • G
      of: Remove duplicate fields from of_platform_driver · 4018294b
      Grant Likely 提交于
      .name, .match_table and .owner are duplicated in both of_platform_driver
      and device_driver.  This patch is a removes the extra copies from struct
      of_platform_driver and converts all users to the device_driver members.
      
      This patch is a pretty mechanical change.  The usage model doesn't change
      and if any drivers have been missed, or if anything has been fixed up
      incorrectly, then it will fail with a compile time error, and the fixup
      will be trivial.  This patch looks big and scary because it touches so
      many files, but it should be pretty safe.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NSean MacLennan <smaclennan@pikatech.com>
      4018294b
  7. 20 5月, 2010 1 次提交
  8. 19 5月, 2010 1 次提交
  9. 06 5月, 2010 1 次提交
  10. 22 6月, 2009 1 次提交
    • M
      i2c: Fix stuck transaction on cpm-i2c driver · dc1972d0
      Michael Trimarchi 提交于
      When a process tries to read/write a disconnected i2c device, it receives a signal (e.g. ctrl-c) and the kernel gets stuck.
      
      BUG: soft lockup - CPU#0 stuck for 61s! [I2CEEpromTest:392]
      NIP: c01628f8 LR: c01628f0 CTR: c00177cc
      REGS: c39abd70 TRAP: 0901   Not tainted  (2.6.25.7-alcore)
      MSR: 00009032 <EE,ME,IR,DR>  CR: 42042048  XER: 20000000
      TASK = c3889bd0[392] 'I2CEEpromTest' THREAD: c39aa000
      GPR00: 00009000 c39abe20 c3889bd0 c39075c8 c39abe28 00000001 00000000 00000001
      GPR08: c3889bd0 c39075c8 00009032 c39abe34 00002437
      NIP [c01628f8] cpm_i2c_xfer+0x5fc/0x6d0
      LR [c01628f0] cpm_i2c_xfer+0x5f4/0x6d0
      Call Trace:
      [c39abe20] [c0162924] cpm_i2c_xfer+0x628/0x6d0 (unreliable)
      [c39abe90] [c015f6a0] i2c_transfer+0x88/0xb4
      [c39abeb0] [c0160164] i2c_master_recv+0x48/0x6c
      [c39abed0] [c01618dc] i2cdev_read+0x50/0xe4
      [c39abef0] [c0068b24] vfs_read+0xc4/0x108
      [c39abf10] [c0068f4c] sys_read+0x4c/0x90
      [c39abf40] [c000d348] ret_from_syscall+0x0/0x38
      Instruction dump:
      3bc00064 92610010 3bf201c8 92810014 3b61
      
      This happen because though the wait_event_interruptible_timeout takes the
      signals into account, the driver does not handle them.
      We propose to change the wait_event_interruptible_timeout with
      wait_event_timeout, leaving the signals to be handled in other points
      on the upper layers.
      Signed-off-by: NBruno Morelli <bruno@evidence.eu.com>
      Signed-off-by: NMichael Trimarchi <michael@evidence.eu.com>
      Acked-by: NJochen Friedrich <jochen@scram.de>
      [ben-linux@fluff.org: fix title for patch]
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      dc1972d0
  11. 12 5月, 2009 1 次提交
  12. 17 12月, 2008 1 次提交
  13. 21 10月, 2008 1 次提交
  14. 15 7月, 2008 3 次提交