@@ -448,11 +448,9 @@ static ssize_t bq24190_sysfs_show(struct device *dev,
448448 if (!info )
449449 return - EINVAL ;
450450
451- ret = pm_runtime_get_sync (bdi -> dev );
452- if (ret < 0 ) {
453- pm_runtime_put_noidle (bdi -> dev );
451+ ret = pm_runtime_resume_and_get (bdi -> dev );
452+ if (ret < 0 )
454453 return ret ;
455- }
456454
457455 ret = bq24190_read_mask (bdi , info -> reg , info -> mask , info -> shift , & v );
458456 if (ret )
@@ -483,11 +481,9 @@ static ssize_t bq24190_sysfs_store(struct device *dev,
483481 if (ret < 0 )
484482 return ret ;
485483
486- ret = pm_runtime_get_sync (bdi -> dev );
487- if (ret < 0 ) {
488- pm_runtime_put_noidle (bdi -> dev );
484+ ret = pm_runtime_resume_and_get (bdi -> dev );
485+ if (ret < 0 )
489486 return ret ;
490- }
491487
492488 ret = bq24190_write_mask (bdi , info -> reg , info -> mask , info -> shift , v );
493489 if (ret )
@@ -506,10 +502,9 @@ static int bq24190_set_charge_mode(struct regulator_dev *dev, u8 val)
506502 struct bq24190_dev_info * bdi = rdev_get_drvdata (dev );
507503 int ret ;
508504
509- ret = pm_runtime_get_sync (bdi -> dev );
505+ ret = pm_runtime_resume_and_get (bdi -> dev );
510506 if (ret < 0 ) {
511507 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , ret );
512- pm_runtime_put_noidle (bdi -> dev );
513508 return ret ;
514509 }
515510
@@ -539,10 +534,9 @@ static int bq24190_vbus_is_enabled(struct regulator_dev *dev)
539534 int ret ;
540535 u8 val ;
541536
542- ret = pm_runtime_get_sync (bdi -> dev );
537+ ret = pm_runtime_resume_and_get (bdi -> dev );
543538 if (ret < 0 ) {
544539 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , ret );
545- pm_runtime_put_noidle (bdi -> dev );
546540 return ret ;
547541 }
548542
@@ -1083,11 +1077,9 @@ static int bq24190_charger_get_property(struct power_supply *psy,
10831077
10841078 dev_dbg (bdi -> dev , "prop: %d\n" , psp );
10851079
1086- ret = pm_runtime_get_sync (bdi -> dev );
1087- if (ret < 0 ) {
1088- pm_runtime_put_noidle (bdi -> dev );
1080+ ret = pm_runtime_resume_and_get (bdi -> dev );
1081+ if (ret < 0 )
10891082 return ret ;
1090- }
10911083
10921084 switch (psp ) {
10931085 case POWER_SUPPLY_PROP_CHARGE_TYPE :
@@ -1157,11 +1149,9 @@ static int bq24190_charger_set_property(struct power_supply *psy,
11571149
11581150 dev_dbg (bdi -> dev , "prop: %d\n" , psp );
11591151
1160- ret = pm_runtime_get_sync (bdi -> dev );
1161- if (ret < 0 ) {
1162- pm_runtime_put_noidle (bdi -> dev );
1152+ ret = pm_runtime_resume_and_get (bdi -> dev );
1153+ if (ret < 0 )
11631154 return ret ;
1164- }
11651155
11661156 switch (psp ) {
11671157 case POWER_SUPPLY_PROP_ONLINE :
@@ -1431,11 +1421,9 @@ static int bq24190_battery_get_property(struct power_supply *psy,
14311421 dev_warn (bdi -> dev , "warning: /sys/class/power_supply/bq24190-battery is deprecated\n" );
14321422 dev_dbg (bdi -> dev , "prop: %d\n" , psp );
14331423
1434- ret = pm_runtime_get_sync (bdi -> dev );
1435- if (ret < 0 ) {
1436- pm_runtime_put_noidle (bdi -> dev );
1424+ ret = pm_runtime_resume_and_get (bdi -> dev );
1425+ if (ret < 0 )
14371426 return ret ;
1438- }
14391427
14401428 switch (psp ) {
14411429 case POWER_SUPPLY_PROP_STATUS :
@@ -1479,11 +1467,9 @@ static int bq24190_battery_set_property(struct power_supply *psy,
14791467 dev_warn (bdi -> dev , "warning: /sys/class/power_supply/bq24190-battery is deprecated\n" );
14801468 dev_dbg (bdi -> dev , "prop: %d\n" , psp );
14811469
1482- ret = pm_runtime_get_sync (bdi -> dev );
1483- if (ret < 0 ) {
1484- pm_runtime_put_noidle (bdi -> dev );
1470+ ret = pm_runtime_resume_and_get (bdi -> dev );
1471+ if (ret < 0 )
14851472 return ret ;
1486- }
14871473
14881474 switch (psp ) {
14891475 case POWER_SUPPLY_PROP_ONLINE :
@@ -1637,10 +1623,9 @@ static irqreturn_t bq24190_irq_handler_thread(int irq, void *data)
16371623 int error ;
16381624
16391625 bdi -> irq_event = true;
1640- error = pm_runtime_get_sync (bdi -> dev );
1626+ error = pm_runtime_resume_and_get (bdi -> dev );
16411627 if (error < 0 ) {
16421628 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1643- pm_runtime_put_noidle (bdi -> dev );
16441629 return IRQ_NONE ;
16451630 }
16461631 bq24190_check_status (bdi );
@@ -1860,11 +1845,9 @@ static int bq24190_remove(struct i2c_client *client)
18601845 struct bq24190_dev_info * bdi = i2c_get_clientdata (client );
18611846 int error ;
18621847
1863- error = pm_runtime_get_sync (bdi -> dev );
1864- if (error < 0 ) {
1848+ error = pm_runtime_resume_and_get (bdi -> dev );
1849+ if (error < 0 )
18651850 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1866- pm_runtime_put_noidle (bdi -> dev );
1867- }
18681851
18691852 bq24190_register_reset (bdi );
18701853 if (bdi -> battery )
@@ -1913,11 +1896,9 @@ static __maybe_unused int bq24190_pm_suspend(struct device *dev)
19131896 struct bq24190_dev_info * bdi = i2c_get_clientdata (client );
19141897 int error ;
19151898
1916- error = pm_runtime_get_sync (bdi -> dev );
1917- if (error < 0 ) {
1899+ error = pm_runtime_resume_and_get (bdi -> dev );
1900+ if (error < 0 )
19181901 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1919- pm_runtime_put_noidle (bdi -> dev );
1920- }
19211902
19221903 bq24190_register_reset (bdi );
19231904
@@ -1938,11 +1919,9 @@ static __maybe_unused int bq24190_pm_resume(struct device *dev)
19381919 bdi -> f_reg = 0 ;
19391920 bdi -> ss_reg = BQ24190_REG_SS_VBUS_STAT_MASK ; /* impossible state */
19401921
1941- error = pm_runtime_get_sync (bdi -> dev );
1942- if (error < 0 ) {
1922+ error = pm_runtime_resume_and_get (bdi -> dev );
1923+ if (error < 0 )
19431924 dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1944- pm_runtime_put_noidle (bdi -> dev );
1945- }
19461925
19471926 bq24190_register_reset (bdi );
19481927 bq24190_set_config (bdi );
0 commit comments