Pull i2c updates from Wolfram Sang: "Usual driver bugfixes for the I2C subsystem" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: algo: pca: Reapply i2c bus settings after reset i2c: npcm7xx: Fix timeout calculation misc: eeprom: at24: register nvmem only after eeprom is ready to use
Showing the changes to include/linux (1 of 4 files). Show all
Unified · Split
| @@ -53,6 +53,20 @@ · 52 unmodified lines | ||
| 53 | 53 | #define I2C_PCA_CON_SI 0x08 /* Serial Interrupt */ |
| 54 | 54 | #define I2C_PCA_CON_CR 0x07 /* Clock Rate (MASK) */ |
| 55 | 55 | |
| 56 | +/** | |
| 57 | + * struct pca_i2c_bus_settings - The configured PCA i2c bus settings | |
| 58 | + * @mode: Configured i2c bus mode | |
| 59 | + * @tlow: Configured SCL LOW period | |
| 60 | + * @thi: Configured SCL HIGH period | |
| 61 | + * @clock_freq: The configured clock frequency | |
| 62 | + */ | |
| 63 | +struct pca_i2c_bus_settings { | |
| 64 | + int mode; | |
| 65 | + int tlow; | |
| 66 | + int thi; | |
| 67 | + int clock_freq; | |
| 68 | +}; | |
| 69 | + | |
| 56 | 70 | struct i2c_algo_pca_data { |
| 57 | 71 | void *data; /* private low level data */ |
| 58 | 72 | void (*write_byte) (void *data, int reg, int val); |
| @@ -64,6 +78,7 @@ struct i2c_algo_pca_data { · 5 unmodified lines | ||
| 64 | 78 | * For PCA9665, use the frequency you want here. */ |
| 65 | 79 | unsigned int i2c_clock; |
| 66 | 80 | unsigned int chip; |
| 81 | + struct pca_i2c_bus_settings bus_settings; | |
| 67 | 82 | }; |
| 68 | 83 | |
| 69 | 84 | int i2c_pca_add_bus(struct i2c_adapter *); |