1. Nov 15, 2013
    • Sachin Kamat's avatar
      i2c: exynos5: Remove incorrect clk_disable_unprepare · 3cd0c2df
      Sachin Kamat authored
      
      
      clk_disable_unprepare in remove causes an imbalance and hence gives
      the below crash on module remove. While at it also remove some
      duplicate code from probe.
      
      / $ rmmod i2c-exynos5
      [    6.996374] ------------[ cut here ]------------
      [    6.999523] WARNING: CPU: 2 PID: 1137 at drivers/clk/clk.c:842 clk_disable+0x18/0x24()
      [    7.007403] Modules linked in: i2c_exynos5(-)
      [    7.011747] CPU: 2 PID: 1137 Comm: rmmod Not tainted 3.12.0-next-20131105-00083-g16f4799-dirty #21
      [    7.020696] [<c0014e0c>] (unwind_backtrace+0x0/0xf4) from [<c0011784>] (show_stack+0x10/0x14)
      [    7.029190] [<c0011784>] (show_stack+0x10/0x14) from [<c037acd4>] (dump_stack+0x7c/0xb0)
      [    7.037255] [<c037acd4>] (dump_stack+0x7c/0xb0) from [<c001e0ac>] (warn_slowpath_common+0x6c/0x88)
      [    7.046190] [<c001e0ac>] (warn_slowpath_common+0x6c/0x88) from [<c001e164>] (warn_slowpath_null+0x1c/0x24)
      [    7.055818] [<c001e164>] (warn_slowpath_null+0x1c/0x24) from [<c02dcde4>] (clk_disable+0x18/0x24)
      [    7.064670] [<c02dcde4>] (clk_disable+0x18/0x24) from [<bf0002d4>] (exynos5_i2c_remove+0x1c/0x34 [i2c_exynos5])
      [    7.074736] [<bf0002d4>] (exynos5_i2c_remove+0x1c/0x34 [i2c_exynos5]) from [<c02274a8>] (__device_release_driver+0x58/0xb0)
      [    7.085836] [<c02274a8>] (__device_release_driver+0x58/0xb0) from [<c0227b88>] (driver_detach+0xac/0xb0)
      [    7.095291] [<c0227b88>] (driver_detach+0xac/0xb0) from [<c02271c0>] (bus_remove_driver+0x4c/0xa0)
      [    7.104227] [<c02271c0>] (bus_remove_driver+0x4c/0xa0) from [<c00725dc>] (SyS_delete_module+0x124/0x194)
      [    7.113682] [<c00725dc>] (SyS_delete_module+0x124/0x194) from [<c000e2e0>] (ret_fast_syscall+0x0/0x30)
      [    7.122957] ---[ end trace 23bb6e4e0bf52196 ]---
      
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Acked-by: default avatarNaveen Krishna Chatradhi <ch.naveen@samsung.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      3cd0c2df
    • Maxime COQUELIN's avatar
      i2c: i2c-st: Add ST I2C controller · 85b4fab2
      Maxime COQUELIN authored
      
      
      This patch adds support to SSC (Synchronous Serial Controller)
      I2C driver. This IP also supports SPI protocol, but this is not
      the aim of this driver.
      
      This IP is embedded in all ST SoCs for Set-top box platorms, and
      supports I2C Standard and Fast modes.
      
      Signed-off-by: default avatarMaxime Coquelin <maxime.coquelin@st.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      85b4fab2
  2. Nov 01, 2013
  3. Oct 31, 2013
  4. Oct 30, 2013
  5. Oct 06, 2013
    • Marek Vasut's avatar
      i2c: mxs: Fix PIO mode on i.MX23 · 19e221be
      Marek Vasut authored
      
      
      The i.MX23 I2C controller is also capable of PIO, but needs a little harder
      push to behave. The controller needs to be reset after every PIO/DMA operation
      for some reason, otherwise in rare cases, the controller can hang or emit
      bytes onto the bus.
      
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      19e221be
    • Marek Vasut's avatar
      i2c: mxs: Rework the PIO mode operation · 29faeb38
      Marek Vasut authored
      
      
      Analyze and rework the PIO mode operation. The PIO mode operation
      was unreliable on MX28, by analyzing the bus with LA, the checks
      for when data were available or were to be sent were wrong.
      
      The PIO WRITE has to be completely reworked as it multiple problems.
      The MX23 datasheet helped here, see comments in the code for details.
      The problems boil down to:
      - RUN bit in CTRL0 must be set after DATA register was written
      - The PIO transfer must be 4 bytes long tops, otherwise use
        clock stretching.
      Both of these fixes are implemented.
      
      The PIO READ operation can only be done for up to four bytes as
      we are unable to read out the data from the DATA register fast
      enough.
      
      This patch also tries to document the investigation within the
      code.
      
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      29faeb38
    • Juergen Beisert's avatar
      i2c: mxs: distinguish i.MX23 and i.MX28 based I2C controller · 616228a1
      Juergen Beisert authored
      
      
      It seems the PIO mode does not work, or at least not like it works
      on a i.MX28. Each short transfer needs about one second (without an
      error message) but does not send anything on the I2C lines.
      
      Signed-off-by: default avatarJuergen Beisert <jbe@pengutronix.de>
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      616228a1
  6. Oct 04, 2013
  7. Sep 30, 2013
  8. Sep 29, 2013
    • Ingo Molnar's avatar
      Revert "perf symbols: Demangle cloned functions" · 14951f22
      Ingo Molnar authored
      This reverts commit de95ab53
      
      .
      
      Markus Trippelsdorf reported that this commit broke 'perf top':
      
       > I just see a gray screen with no text at all. Sometimes the
       > following error messages are printed:
       >
       >  *** Error in `perf': invalid fastbin entry (free): 0x00000000029b18c0
       >  ***
       >  *** Error in `perf': malloc(): memory corruption (fast): 0x0000000000ee0b10 ***
      
      While this code is fixable, the commit itself fails on several levels:
      
       - it should have been a separate helper function
       - why the heck does it do strchr() twice
       - it casts a const char * over into char *
       - sloppy style
       - it's not even a regression fix!
      
      So lets revert it and re-try the patch in v3.13.
      
      Reported-by: default avatarMarkus Trippelsdorf <markus@trippelsdorf.de>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      14951f22