i2c: designware: set the common config before the if else
authorWeifeng Voon <weifeng.voon@intel.com>
Fri, 12 Aug 2016 14:02:50 +0000 (17:02 +0300)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 25 Aug 2016 22:42:06 +0000 (00:42 +0200)
DW_IC_CON_MASTER, DW_IC_CON_SLAVE_DISABLE and DW_IC_CON_RESTART_EN are
common config that need to be set for i2c designware master. So, configure
it first without having to repeat inside the if else.

Signed-off-by: Weifeng Voon <weifeng.voon@intel.com>
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-designware-platdrv.c

index ea92e9f3fba1ed52c48f70ac3804385b2fe8fa3e..d45481ee1b568d8b19d2a24c58d653cf9b2daaf4 100644 (file)
@@ -217,12 +217,14 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
                I2C_FUNC_SMBUS_BYTE_DATA |
                I2C_FUNC_SMBUS_WORD_DATA |
                I2C_FUNC_SMBUS_I2C_BLOCK;
+
+       dev->master_cfg = DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE |
+                         DW_IC_CON_RESTART_EN;
+
        if (dev->clk_freq == 100000)
-               dev->master_cfg =  DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE |
-                       DW_IC_CON_RESTART_EN | DW_IC_CON_SPEED_STD;
+               dev->master_cfg |= DW_IC_CON_SPEED_STD;
        else
-               dev->master_cfg =  DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE |
-                       DW_IC_CON_RESTART_EN | DW_IC_CON_SPEED_FAST;
+               dev->master_cfg |= DW_IC_CON_SPEED_FAST;
 
        dev->clk = devm_clk_get(&pdev->dev, NULL);
        if (!i2c_dw_plat_prepare_clk(dev, true)) {