History

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

Linus Torvalds committed 6 years ago

Commit f35c08e2 parents 72af7b4 8947efc3 files · +13 −0Browse files

Unified · Split

3 files
  1. drivers/i2c/busses/i2c-cpm.c +3 −0
  2. drivers/i2c/busses/i2c-i801.c +1 −0
  3. drivers/i2c/busses/i2c-npcm7xx.c +9 −0
drivers/i2c/busses/i2c-cpm.c+3−0
@@ -65,6 +65,9 @@ struct i2c_ram { · 64 unmodified lines
65 char res1[4]; /* Reserved */65 char res1[4]; /* Reserved */
66 ushort rpbase; /* Relocation pointer */66 ushort rpbase; /* Relocation pointer */
67 char res2[2]; /* Reserved */67 char res2[2]; /* Reserved */
68 /* The following elements are only for CPM2 */
69 char res3[4]; /* Reserved */
70 uint sdmatmp; /* Internal */
68};71};
69 72
70#define I2COM_START 0x8073#define I2COM_START 0x80
drivers/i2c/busses/i2c-i801.c+1−0
@@ -1917,6 +1917,7 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id) · 1916 unmodified lines
1917 1917
1918 pci_set_drvdata(dev, priv);1918 pci_set_drvdata(dev, priv);
1919 1919
1920 dev_pm_set_driver_flags(&dev->dev, DPM_FLAG_NO_DIRECT_COMPLETE);
1920 pm_runtime_set_autosuspend_delay(&dev->dev, 1000);1921 pm_runtime_set_autosuspend_delay(&dev->dev, 1000);
1921 pm_runtime_use_autosuspend(&dev->dev);1922 pm_runtime_use_autosuspend(&dev->dev);
1922 pm_runtime_put_autosuspend(&dev->dev);1923 pm_runtime_put_autosuspend(&dev->dev);
drivers/i2c/busses/i2c-npcm7xx.c+9−0
@@ -2163,6 +2163,15 @@ static int npcm_i2c_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, · 2162 unmodified lines
2163 if (bus->cmd_err == -EAGAIN)2163 if (bus->cmd_err == -EAGAIN)
2164 ret = i2c_recover_bus(adap);2164 ret = i2c_recover_bus(adap);
2165 2165
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
2166#if IS_ENABLED(CONFIG_I2C_SLAVE)2175#if IS_ENABLED(CONFIG_I2C_SLAVE)
2167 /* reenable slave if it was enabled */2176 /* reenable slave if it was enabled */
2168 if (bus->slave)2177 if (bus->slave)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t