Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf35c08e

Browse files
committed
Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fixes from Wolfram Sang: "Some more driver fixes for i2c"* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: npcm7xx: Clear LAST bit after a failed transaction. i2c: cpm: Fix i2c_ram structure i2c: i801: Exclude device from suspend direct complete optimization
2 parents72af7b4 +8947efc commitf35c08e

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

‎drivers/i2c/busses/i2c-cpm.c‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ struct i2c_ram {
6565
charres1[4];/* Reserved */
6666
ushortrpbase;/* Relocation pointer */
6767
charres2[2];/* Reserved */
68+
/* The following elements are only for CPM2 */
69+
charres3[4];/* Reserved */
70+
uintsdmatmp;/* Internal */
6871
};
6972

7073
#defineI2COM_START0x80

‎drivers/i2c/busses/i2c-i801.c‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1917,6 +1917,7 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id)
19171917

19181918
pci_set_drvdata(dev,priv);
19191919

1920+
dev_pm_set_driver_flags(&dev->dev,DPM_FLAG_NO_DIRECT_COMPLETE);
19201921
pm_runtime_set_autosuspend_delay(&dev->dev,1000);
19211922
pm_runtime_use_autosuspend(&dev->dev);
19221923
pm_runtime_put_autosuspend(&dev->dev);

‎drivers/i2c/busses/i2c-npcm7xx.c‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2163,6 +2163,15 @@ static int npcm_i2c_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs,
21632163
if (bus->cmd_err==-EAGAIN)
21642164
ret=i2c_recover_bus(adap);
21652165

2166+
/*
2167+
* After any type of error, check if LAST bit is still set,
2168+
* due to a HW issue.
2169+
* It cannot be cleared without resetting the module.
2170+
*/
2171+
if (bus->cmd_err&&
2172+
(NPCM_I2CRXF_CTL_LAST_PEC&ioread8(bus->reg+NPCM_I2CRXF_CTL)))
2173+
npcm_i2c_reset(bus);
2174+
21662175
#ifIS_ENABLED(CONFIG_I2C_SLAVE)
21672176
/* reenable slave if it was enabled */
21682177
if (bus->slave)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp