On Tuesday 11 September 2012 03:11 PM, Shubhrajyoti D wrote: > Changes since v1: > - removed tabification on patch 6/17 > - removed dev_err() which was introduced on patch 09/17 > Changes since v2: > - do not set full fifo depth in the RDR interrupt. > - some changelog updates. > - rebase to the Wolfram's tree. > Changes since v3: > - Remove a redundant read of status register > - Read the dev->buf_len variable instead of the register > as the information of the remaining bytes is there. > Changes since v4: > - Ack the arbitration lost. > - Rebase to the i2c-embedded/for-next branch. > Changes since v5: > - Rebase to latest mainline > - Added some more cleanup patches so as have a consolidated series. > Changes since v6: > - Fix comments on setting the pdev to NULL. > - Trivial changelog update > > Previous discussions can be found here > http://www.spinics.net/lists/linux-i2c/msg09482.html Also this gives better performance With the patches: Performance counter stats for '/build/i2c/bin/i2cdump -y -f 1 0x48 b': 78.796376 task-clock # 0.453 CPUs utilized 516 context-switches # 0.007 M/sec 0 CPU-migrations # 0.000 K/sec 114 page-faults # 0.001 M/sec 0.174011183 seconds time elapsed Without the patches Performance counter stats for '/build/i2c/bin/i2cdump -y -f 1 0x48 b': 123.504640 task-clock # 0.049 CPUs utilized 337 context-switches # 0.003 M/sec 0 CPU-migrations # 0.000 K/sec 144 page-faults # 0.001 M/sec 2.534424040 seconds time elapsed The auto suspend is probably the one :-) > This is the cleanup only series. > > Tested on omap4sdp and 3430sdp. > > The following changes since commit 55d512e245bc7699a8800e23df1a24195dd08217: > > Linux 3.6-rc5 (2012-09-08 16:43:45 -0700) > > are available in the git repository at: > git://gitorious.org/linus-tree/linus-tree.git for_3.7/i2c/big_cleanup > > > > Felipe Balbi (22): > i2c: omap: switch to devm_* API > i2c: omap: simplify num_bytes handling > i2c: omap: decrease indentation level on data handling > i2c: omap: add blank lines > i2c: omap: simplify omap_i2c_ack_stat() > i2c: omap: split out [XR]DR and [XR]RDY > i2c: omap: improve i462 errata handling > i2c: omap: re-factor receive/transmit data loop > i2c: omap: switch over to do {} while loop > i2c: omap: ack IRQ in parts > i2c: omap: switch to platform_get_irq() > i2c: omap: bus: add a receiver flag > i2c: omap: simplify errata check > i2c: omap: always return IRQ_HANDLED > i2c: omap: simplify IRQ exit path > i2c: omap: resize fifos before each message > i2c: omap: get rid of the "complete" label > i2c: omap: always return IRQ_HANDLED > i2c: omap: switch to threaded IRQ support > i2c: omap: remove unnecessary pm_runtime_suspended check > i2c: omap: switch over to autosuspend API > i2c: omap: sanitize exit path > > Shubhrajyoti D (1): > i2c: omap: remove redundant status read > > drivers/i2c/busses/i2c-omap.c | 442 +++++++++++++++++++++++++---------------- > 1 files changed, 271 insertions(+), 171 deletions(-) > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html