i2c: designware-platdrv: enable RuntimePM before registering to the core

The core may register clients attached to this master which may use
funtionality from the master. So, RuntimePM must be enabled before, otherwise
this will fail.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: stable@kernel.org

authored by Wolfram Sang and committed by Wolfram Sang 36d48fb5 eadd709f

Changed files
+7 -6
drivers
+7 -6
drivers/i2c/busses/i2c-designware-platdrv.c
··· 253 253 adap->dev.parent = &pdev->dev; 254 254 adap->dev.of_node = pdev->dev.of_node; 255 255 256 - r = i2c_add_numbered_adapter(adap); 257 - if (r) { 258 - dev_err(&pdev->dev, "failure adding adapter\n"); 259 - return r; 260 - } 261 - 262 256 if (dev->pm_runtime_disabled) { 263 257 pm_runtime_forbid(&pdev->dev); 264 258 } else { ··· 260 266 pm_runtime_use_autosuspend(&pdev->dev); 261 267 pm_runtime_set_active(&pdev->dev); 262 268 pm_runtime_enable(&pdev->dev); 269 + } 270 + 271 + r = i2c_add_numbered_adapter(adap); 272 + if (r) { 273 + dev_err(&pdev->dev, "failure adding adapter\n"); 274 + pm_runtime_disable(&pdev->dev); 275 + return r; 263 276 } 264 277 265 278 return 0;