|
@@ -487,11 +487,14 @@ static uint __twsi_i2c_set_bus_speed(struct mvtwsi_registers *twsi,
|
|
|
static void __twsi_i2c_init(struct mvtwsi_registers *twsi, int speed,
|
|
|
int slaveadd, uint *actual_speed)
|
|
|
{
|
|
|
+ uint tmp_speed;
|
|
|
+
|
|
|
/* Reset controller */
|
|
|
twsi_reset(twsi);
|
|
|
/* Set speed */
|
|
|
+ tmp_speed = __twsi_i2c_set_bus_speed(twsi, speed);
|
|
|
if (actual_speed)
|
|
|
- *actual_speed = __twsi_i2c_set_bus_speed(twsi, speed);
|
|
|
+ *actual_speed = tmp_speed;
|
|
|
/* Set slave address; even though we don't use it */
|
|
|
writel(slaveadd, &twsi->slave_address);
|
|
|
writel(0, &twsi->xtnd_slave_addr);
|