@@ -455,11 +455,9 @@ static ssize_t bq24190_sysfs_show(struct device *dev,
455455 if (!info )
456456 return - EINVAL ;
457457
458- ret = pm_runtime_get_sync (bdi -> dev );
459- if (ret < 0 ) {
460- pm_runtime_put_noidle (bdi -> dev );
458+ ret = pm_runtime_resume_and_get (bdi -> dev );
459+ if (ret < 0 )
461460 return ret ;
462- }
463461
464462 ret = bq24190_read_mask (bdi , info -> reg , info -> mask , info -> shift , & v );
465463 if (ret )
@@ -490,11 +488,9 @@ static ssize_t bq24190_sysfs_store(struct device *dev,
490488 if (ret < 0 )
491489 return ret ;
492490
493- ret = pm_runtime_get_sync (bdi -> dev );
494- if (ret < 0 ) {
495- pm_runtime_put_noidle (bdi -> dev );
491+ ret = pm_runtime_resume_and_get (bdi -> dev );
492+ if (ret < 0 )
496493 return ret ;
497- }
498494
499495 ret = bq24190_write_mask (bdi , info -> reg , info -> mask , info -> shift , v );
500496 if (ret )
@@ -512,10 +508,9 @@ static int bq24190_set_otg_vbus(struct bq24190_dev_info *bdi, bool enable)
512508 union power_supply_propval val = { .intval = bdi -> charge_type };
513509 int ret ;
514510
515- ret = pm_runtime_get_sync (bdi -> dev );
511+ ret = pm_runtime_resume_and_get (bdi -> dev );
516512 if (ret < 0 ) {
517513 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , ret );
518- pm_runtime_put_noidle (bdi -> dev );
519514 return ret ;
520515 }
521516
@@ -551,10 +546,9 @@ static int bq24190_vbus_is_enabled(struct regulator_dev *dev)
551546 int ret ;
552547 u8 val ;
553548
554- ret = pm_runtime_get_sync (bdi -> dev );
549+ ret = pm_runtime_resume_and_get (bdi -> dev );
555550 if (ret < 0 ) {
556551 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , ret );
557- pm_runtime_put_noidle (bdi -> dev );
558552 return ret ;
559553 }
560554
@@ -1128,11 +1122,9 @@ static int bq24190_charger_get_property(struct power_supply *psy,
11281122
11291123 dev_dbg (bdi -> dev , "prop: %d\n" , psp );
11301124
1131- ret = pm_runtime_get_sync (bdi -> dev );
1132- if (ret < 0 ) {
1133- pm_runtime_put_noidle (bdi -> dev );
1125+ ret = pm_runtime_resume_and_get (bdi -> dev );
1126+ if (ret < 0 )
11341127 return ret ;
1135- }
11361128
11371129 switch (psp ) {
11381130 case POWER_SUPPLY_PROP_CHARGE_TYPE :
@@ -1204,11 +1196,9 @@ static int bq24190_charger_set_property(struct power_supply *psy,
12041196
12051197 dev_dbg (bdi -> dev , "prop: %d\n" , psp );
12061198
1207- ret = pm_runtime_get_sync (bdi -> dev );
1208- if (ret < 0 ) {
1209- pm_runtime_put_noidle (bdi -> dev );
1199+ ret = pm_runtime_resume_and_get (bdi -> dev );
1200+ if (ret < 0 )
12101201 return ret ;
1211- }
12121202
12131203 switch (psp ) {
12141204 case POWER_SUPPLY_PROP_ONLINE :
@@ -1477,11 +1467,9 @@ static int bq24190_battery_get_property(struct power_supply *psy,
14771467 dev_warn (bdi -> dev , "warning: /sys/class/power_supply/bq24190-battery is deprecated\n" );
14781468 dev_dbg (bdi -> dev , "prop: %d\n" , psp );
14791469
1480- ret = pm_runtime_get_sync (bdi -> dev );
1481- if (ret < 0 ) {
1482- pm_runtime_put_noidle (bdi -> dev );
1470+ ret = pm_runtime_resume_and_get (bdi -> dev );
1471+ if (ret < 0 )
14831472 return ret ;
1484- }
14851473
14861474 switch (psp ) {
14871475 case POWER_SUPPLY_PROP_STATUS :
@@ -1525,11 +1513,9 @@ static int bq24190_battery_set_property(struct power_supply *psy,
15251513 dev_warn (bdi -> dev , "warning: /sys/class/power_supply/bq24190-battery is deprecated\n" );
15261514 dev_dbg (bdi -> dev , "prop: %d\n" , psp );
15271515
1528- ret = pm_runtime_get_sync (bdi -> dev );
1529- if (ret < 0 ) {
1530- pm_runtime_put_noidle (bdi -> dev );
1516+ ret = pm_runtime_resume_and_get (bdi -> dev );
1517+ if (ret < 0 )
15311518 return ret ;
1532- }
15331519
15341520 switch (psp ) {
15351521 case POWER_SUPPLY_PROP_ONLINE :
@@ -1683,10 +1669,9 @@ static irqreturn_t bq24190_irq_handler_thread(int irq, void *data)
16831669 int error ;
16841670
16851671 bdi -> irq_event = true;
1686- error = pm_runtime_get_sync (bdi -> dev );
1672+ error = pm_runtime_resume_and_get (bdi -> dev );
16871673 if (error < 0 ) {
16881674 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1689- pm_runtime_put_noidle (bdi -> dev );
16901675 return IRQ_NONE ;
16911676 }
16921677 bq24190_check_status (bdi );
@@ -1921,11 +1906,9 @@ static int bq24190_remove(struct i2c_client *client)
19211906 struct bq24190_dev_info * bdi = i2c_get_clientdata (client );
19221907 int error ;
19231908
1924- error = pm_runtime_get_sync (bdi -> dev );
1925- if (error < 0 ) {
1909+ error = pm_runtime_resume_and_get (bdi -> dev );
1910+ if (error < 0 )
19261911 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1927- pm_runtime_put_noidle (bdi -> dev );
1928- }
19291912
19301913 bq24190_register_reset (bdi );
19311914 if (bdi -> battery )
@@ -1982,11 +1965,9 @@ static __maybe_unused int bq24190_pm_suspend(struct device *dev)
19821965 struct bq24190_dev_info * bdi = i2c_get_clientdata (client );
19831966 int error ;
19841967
1985- error = pm_runtime_get_sync (bdi -> dev );
1986- if (error < 0 ) {
1968+ error = pm_runtime_resume_and_get (bdi -> dev );
1969+ if (error < 0 )
19871970 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1988- pm_runtime_put_noidle (bdi -> dev );
1989- }
19901971
19911972 bq24190_register_reset (bdi );
19921973
@@ -2007,11 +1988,9 @@ static __maybe_unused int bq24190_pm_resume(struct device *dev)
20071988 bdi -> f_reg = 0 ;
20081989 bdi -> ss_reg = BQ24190_REG_SS_VBUS_STAT_MASK ; /* impossible state */
20091990
2010- error = pm_runtime_get_sync (bdi -> dev );
2011- if (error < 0 ) {
1991+ error = pm_runtime_resume_and_get (bdi -> dev );
1992+ if (error < 0 )
20121993 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
2013- pm_runtime_put_noidle (bdi -> dev );
2014- }
20151994
20161995 bq24190_register_reset (bdi );
20171996 bq24190_set_config (bdi );
0 commit comments