Pull i2c fixes from Wolfram Sang: "Some driver bugfixes for the I2C subsystem" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: mv64xxx: Document the newly introduced allwinner compatible i2c: Fix Kontron PLD prescaler calculation i2c: i2c-mxs: Use DMA mode even for small transfers
Unified · Split
| @@ -4,7 +4,7 @@ · 3 unmodified lines | ||
| 4 | 4 | Required properties : |
| 5 | 5 | |
| 6 | 6 | - reg : Offset and length of the register set for the device |
| 7 | − - compatible : Should be "marvell,mv64xxx-i2c" | |
| 7 | + - compatible : Should be "marvell,mv64xxx-i2c" or "allwinner,sun4i-i2c" | |
| 8 | 8 | - interrupts : The interrupt number |
| 9 | 9 | |
| 10 | 10 | Optional properties : |
| @@ -246,9 +246,9 @@ static void kempld_i2c_device_init(struct kempld_i2c_data *i2c) · 245 unmodified lines | ||
| 246 | 246 | bus_frequency = KEMPLD_I2C_FREQ_MAX; |
| 247 | 247 | |
| 248 | 248 | if (pld->info.spec_major == 1) |
| 249 | − prescale = pld->pld_clock / bus_frequency * 5 - 1000; | |
| 249 | + prescale = pld->pld_clock / (bus_frequency * 5) - 1000; | |
| 250 | 250 | else |
| 251 | − prescale = pld->pld_clock / bus_frequency * 4 - 3000; | |
| 251 | + prescale = pld->pld_clock / (bus_frequency * 4) - 3000; | |
| 252 | 252 | |
| 253 | 253 | if (prescale < 0) |
| 254 | 254 | prescale = 0; |
| @@ -493,7 +493,7 @@ static int mxs_i2c_xfer_msg(struct i2c_adapter *adap, struct i2c_msg *msg, · 492 unmodified lines | ||
| 493 | 493 | * based on this empirical measurement and a lot of previous frobbing. |
| 494 | 494 | */ |
| 495 | 495 | i2c->cmd_err = 0; |
| 496 | − if (msg->len < 8) { | |
| 496 | + if (0) { /* disable PIO mode until a proper fix is made */ | |
| 497 | 497 | ret = mxs_i2c_pio_setup_xfer(adap, msg, flags); |
| 498 | 498 | if (ret) |
| 499 | 499 | mxs_i2c_reset(i2c); |