History log of /drivers/i2c/busses/i2c-eg20t.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
096407136769ec10690abe1baba092abcb763662 26-Mar-2012 Tomoya MORINAGA <tomoya.rohm@gmail.com> i2c-eg20t: Modify MODULE_AUTHOR's email address

Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
/drivers/i2c/busses/i2c-eg20t.c
8a52f9f347da721b199b7f9dcc0168bbe7d0baae 26-Mar-2012 Tomoya MORINAGA <tomoya.rohm@gmail.com> i2c-eg20t: change timeout value 50msec to 1000msec

Currently, during i2c works alone, wait-event timeout is not occurred.
However, as CPU load increases, timeout occurs frequently.
So, I modified like this patch.
Modifying like this patch, I've never seen the timeout event with high
load test.

Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
/drivers/i2c/busses/i2c-eg20t.c
bbceeee82ef55c11db0161f4078edd79290e3bcf 01-Mar-2012 Alexander Stein <alexander.stein@systec-electronic.com> i2c-eg20t: Remove write-only variables

Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
/drivers/i2c/busses/i2c-eg20t.c
0836c80901565e8549e17cbad6933ab7e48ef6b2 20-Feb-2012 Alexander Stein <alexander.stein@systec-electronic.com> i2c-eg20t: Rework pch_i2c_wait_for_bus_idle to reduce wait time

If you insert several i2c transfers, the driver might start the next one
while the STOP bit of the previous transfer is still on the bus, marking
the bus as busy.
pch_i2c_wait_for_bus_idle does an msleep(20) delaying the next transfer
by >=20ms. Reduce wait time by actively waiting 5 us once, then using
usleep_range.

Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
Acked-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
/drivers/i2c/busses/i2c-eg20t.c
8956dc102ca26357850830f1d26132719c1ce6ee 28-Oct-2011 Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com> i2c-eg20t: Change-company-name-OKI-SEMICONDUCTOR to LAPIS Semiconductor

On October 1 in 2011,
OKI SEMICONDUCTOR Co., Ltd. changed the company name in to LAPIS Semiconductor Co., Ltd.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
c3f4661f55f86b541d23c66dbb53ce7b0a34e777 28-Oct-2011 Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com> i2c-eg20t: Support new device LAPIS Semiconductor ML7831 IOH

ML7831 is companion chip for Intel Atom E6xx series.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
ff35e8b18984ad2a82cbd259fc07f0be4b34b1aa 26-Sep-2011 Toshiharu Okada <toshiharu-linux@dsn.okisemi.com> i2c-eg20t: modified the setting of transfer rate.

This patch modified the setting value of
I2C Bus Transfer Rate Setting Counter regisrer.

Signed-off-by: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
07e8a51ff68353e01d795cceafbac9f54c49132b 12-Jan-2012 Feng Tang <feng.tang@intel.com> i2c-eg20t: use i2c_add_numbered_adapter to get a fixed bus number

For EG20T and ML7213 IOH, the i2c controller numbers are fixed, using
fixed bus number will make it much easier for platform code to use
i2c_register_board_info() to register i2c devices.

Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
3527bd5045aacb4e4072f9cacb8eb9a433fbad39 12-Jan-2012 Axel Lin <axel.lin@gmail.com> i2c: Convert to DEFINE_PCI_DEVICE_TABLE

Convert static struct pci_device_id *[] to static DEFINE_PCI_DEVICE_TABLE
tables.

Use DEFINE_PCI_DEVICE_TABLE ensures we make the pci_device_id table const
and marked as __devinitconst.

This also fixes some warnings from checkpatch:
e.g.
WARNING: Use DEFINE_PCI_DEVICE_TABLE for struct pci_device_id
#1096: FILE: i2c/busses/i2c-intel-mid.c:1096:
+static struct pci_device_id intel_mid_i2c_ids[] = {

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Cc: Rudolf Marek <r.marek@assembler.cz>
Cc: Ben Dooks <ben-linux@fluff.org>
Acked-by: Olof Johansson <olof@lixom.net>
Cc: "Mark M. Hoffman" <mhoffman@lightlink.com>
Acked-by: Dirk Brandewie <dirk.brandewie@gmail.com>
Cc: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Cc: Feng Tang <feng.tang@intel.com>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
/drivers/i2c/busses/i2c-eg20t.c
0d5fb5ea7d0e6bc84a523c39a666d7eb1a7e43de 29-Nov-2011 Feng Tang <feng.tang@intel.com> i2c-eg20t: correct the driver init order of pch_i2c_probe()

Before registering an adapter to i2c subsystem, we need make sure
driver is ready for incoming i2c xfer, becasue the i2c_add_adapter()
may trigger a i2c device driver's proble function which may start
some real i2c xfer. I met this issue when integrating a TSC2007 i2c
touch screen device with the i2c-eg20t driver.

This patch will call request_irq() and hw init before calling
i2c_add_adapter().

Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
24597bf8012cf3fa5703c38e1bb13df3118d7588 12-Oct-2011 Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com> i2c-eg20t: Add initialize processing in case i2c-error occurs

In case disconnecting physical connection,
need to initialize i2c device for retry access.
This patch adds initialize process in case bus-idle fails and Lost arbitration.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
cb59f5253a5313d62e8e345fcd5dd5a44a73e0d6 12-Oct-2011 Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com> i2c-eg20t: Fix flag setting issue

Currently, in case occurring abnormal event,
internal flag variable(=pch_event_flag) is not reset.
This patch fixes the issue.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
3cf21a7c48389c167065bffd61db39a9bd201f07 12-Oct-2011 Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com> i2c-eg20t: add stop sequence in case wait-event timeout occurs

add stop sequence in case wait-event timeout in write processing.
(read processing already had it)

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
12bd3146518ab984c1eb234a0f81756ddc5e3683 12-Oct-2011 Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> i2c-eg20t: Separate error processing

Error processing for NACK or wait-event must be precessed separately.
So divide wait-event error processing into NACK-receiving and timeout.
Add arbitration lost processing.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
c249ac207f2cedb49f2c9442afbaac35bfcfcd25 12-Oct-2011 Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com> i2c-eg20t: Fix 10bit access issue

Reported-by: Jeffrey (Sheng-Hui) Chu <jeffchu@broadcom.com>
Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
c7b41f3affc63644f398b5faa170b1f531b406a8 12-Oct-2011 Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com> i2c-eg20t: Modify returned value s32 to long

Type of wait_event_timeout is long not s32.
This patch replaces s32 with long.
Additionally, delete negative processing(ret < 0).

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
93e4ad74da14c8d5564cfc0b57c40ca311e53d47 12-Oct-2011 Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com> i2c-eg20t: Fix bus-idle waiting issue

Currently, when checking whether bus is idle or not,
if timeout occurs,
this function always returns success(zero).
This patch fixes the issue.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
07e729ce894487e92405d3b221cffe587420a376 23-Jun-2011 Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> i2c-eg20t : Fix the issue of Combined R/W transfer mode

issue-1
In case combined transfer mode fails halfway, the processing must be stopped halfway.
However currently, the processing is continued.
This patch breaks the processing.

issue-2
Currently, pch_i2c_xfer returns read/write size at that time.
However pch_i2c_xfer must return the number of messages to be read/written.
This patch modifies correctly.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
7a9c42ccc9fd4317383e55209f825f974e64aa99 09-Jun-2011 Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> i2c-eg20t : Support Combined R/W transfer mode

Currently, Combined R/W transfer mode is not supported.
This patch enables Combined R/W transfer mode.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
efbe0f27ccfa7237c5524b10e8ccc91f97002f16 09-May-2011 Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> i2c-eg20t: Support new device ML7223 IOH

Support new device OKI SEMICONDUCTOR ML7223 IOH(Input/Output Hub).
The ML7223 IOH is for MP(Media Phone) use.
The ML7223 is companion chip for Intel Atom E6xx series.
The ML7223 is completely compatible for Intel EG20T PCH.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
a0774f4511371319418f959ce838f81d47a3fd56 21-Mar-2011 Ben Dooks <ben-linux@fluff.org> Merge branches 'for-2639/i2c/i2c-ce4100-v6', 'for-2639/i2c/i2c-eg20t-v3' and 'for-2639/i2c/i2c-imx' into for-linus/2639/i2c-2
6dbc2f35ab457770d121d119788fc89c79124734 23-Feb-2011 Wolfram Sang <w.sang@pengutronix.de> i2c-eg20t: include slab.h for memory allocations

Fixes (with v2.6.38-rc3/parisc/parisc-allmodconfig):
src/drivers/i2c/busses/i2c-eg20t.c:720: error: implicit declaration of function 'kzalloc'
src/drivers/i2c/busses/i2c-eg20t.c:790: error: implicit declaration of function 'kfree'

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Cc: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
173442f2787c88e1ed1bb62aaeb6fd9127720559 01-Mar-2011 Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> i2c-eg20t: support new device OKI SEMICONDUCTOR ML7213 IOH

Support new device OKI SEMICONDUCTOR ML7213 IOH.
The ML7213 which is for IVI(In-Vehicle Infotainment) is a companion
chip for the Atom E6xx series and compatible with the Intel EG20T
PCH.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c
e9bc8fa5df1c398890e0963afe07425d994240b7 09-Nov-2010 Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> i2c-eg20t: add driver for Intel EG20T

I2C driver for Intel EG20T PCH

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Reviewed-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Qi Wang <qi.wang@intel.com>
[ben-linux@fluff.org: reworded commit message]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-eg20t.c