PM: i2c-designware-platdrv: Clean up PM handling in probe
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 25 Sep 2017 21:10:06 +0000 (23:10 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 5 Oct 2017 10:59:03 +0000 (12:59 +0200)
commit126dbc6b49c8670ebe78174c159520d5993b4459
tree1136e376856ab7a978a61c9a05fbced7c2f0bc10
parent9e66317d3c92ddaab330c125dfe9d06eee268aff
PM: i2c-designware-platdrv: Clean up PM handling in probe

The power management handling in dw_i2c_plat_probe() is somewhat
messy and it is rather hard to figure out the code intention for
the case when pm_disabled is set.  In that case, the driver doesn't
enable runtime PM at all, but in addition to that it calls
pm_runtime_forbid() as though it wasn't sure if runtime PM might
be enabled for the device later by someone else.

Although that concern doesn't seem to be actually valid, the
device is clearly still expected to be PM-capable even in the
pm_disabled set case, so a better approach would be to enable
runtime PM for it unconditionally and prevent it from being
runtime-suspended by using pm_runtime_get_noresume().

Make the driver do that.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-designware-platdrv.c