Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+13
+3
drivers/i2c/busses/i2c-cpm.c
··· 65 65 char res1[4]; /* Reserved */ 66 66 ushort rpbase; /* Relocation pointer */ 67 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 73 #define I2COM_START 0x80
+1
drivers/i2c/busses/i2c-i801.c
··· 1917 1917 1918 1918 pci_set_drvdata(dev, priv); 1919 1919 1920 + dev_pm_set_driver_flags(&dev->dev, DPM_FLAG_NO_DIRECT_COMPLETE); 1920 1921 pm_runtime_set_autosuspend_delay(&dev->dev, 1000); 1921 1922 pm_runtime_use_autosuspend(&dev->dev); 1922 1923 pm_runtime_put_autosuspend(&dev->dev);
+9
drivers/i2c/busses/i2c-npcm7xx.c
··· 2163 2163 if (bus->cmd_err == -EAGAIN) 2164 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 2175 #if IS_ENABLED(CONFIG_I2C_SLAVE) 2167 2176 /* reenable slave if it was enabled */ 2168 2177 if (bus->slave)