@@ -448,11 +448,9 @@ static ssize_t bq24190_sysfs_show(struct device *dev,
448
448
if (!info )
449
449
return - EINVAL ;
450
450
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 )
454
453
return ret ;
455
- }
456
454
457
455
ret = bq24190_read_mask (bdi , info -> reg , info -> mask , info -> shift , & v );
458
456
if (ret )
@@ -483,11 +481,9 @@ static ssize_t bq24190_sysfs_store(struct device *dev,
483
481
if (ret < 0 )
484
482
return ret ;
485
483
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 )
489
486
return ret ;
490
- }
491
487
492
488
ret = bq24190_write_mask (bdi , info -> reg , info -> mask , info -> shift , v );
493
489
if (ret )
@@ -506,10 +502,9 @@ static int bq24190_set_charge_mode(struct regulator_dev *dev, u8 val)
506
502
struct bq24190_dev_info * bdi = rdev_get_drvdata (dev );
507
503
int ret ;
508
504
509
- ret = pm_runtime_get_sync (bdi -> dev );
505
+ ret = pm_runtime_resume_and_get (bdi -> dev );
510
506
if (ret < 0 ) {
511
507
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , ret );
512
- pm_runtime_put_noidle (bdi -> dev );
513
508
return ret ;
514
509
}
515
510
@@ -539,10 +534,9 @@ static int bq24190_vbus_is_enabled(struct regulator_dev *dev)
539
534
int ret ;
540
535
u8 val ;
541
536
542
- ret = pm_runtime_get_sync (bdi -> dev );
537
+ ret = pm_runtime_resume_and_get (bdi -> dev );
543
538
if (ret < 0 ) {
544
539
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , ret );
545
- pm_runtime_put_noidle (bdi -> dev );
546
540
return ret ;
547
541
}
548
542
@@ -1083,11 +1077,9 @@ static int bq24190_charger_get_property(struct power_supply *psy,
1083
1077
1084
1078
dev_dbg (bdi -> dev , "prop: %d\n" , psp );
1085
1079
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 )
1089
1082
return ret ;
1090
- }
1091
1083
1092
1084
switch (psp ) {
1093
1085
case POWER_SUPPLY_PROP_CHARGE_TYPE :
@@ -1157,11 +1149,9 @@ static int bq24190_charger_set_property(struct power_supply *psy,
1157
1149
1158
1150
dev_dbg (bdi -> dev , "prop: %d\n" , psp );
1159
1151
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 )
1163
1154
return ret ;
1164
- }
1165
1155
1166
1156
switch (psp ) {
1167
1157
case POWER_SUPPLY_PROP_ONLINE :
@@ -1431,11 +1421,9 @@ static int bq24190_battery_get_property(struct power_supply *psy,
1431
1421
dev_warn (bdi -> dev , "warning: /sys/class/power_supply/bq24190-battery is deprecated\n" );
1432
1422
dev_dbg (bdi -> dev , "prop: %d\n" , psp );
1433
1423
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 )
1437
1426
return ret ;
1438
- }
1439
1427
1440
1428
switch (psp ) {
1441
1429
case POWER_SUPPLY_PROP_STATUS :
@@ -1479,11 +1467,9 @@ static int bq24190_battery_set_property(struct power_supply *psy,
1479
1467
dev_warn (bdi -> dev , "warning: /sys/class/power_supply/bq24190-battery is deprecated\n" );
1480
1468
dev_dbg (bdi -> dev , "prop: %d\n" , psp );
1481
1469
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 )
1485
1472
return ret ;
1486
- }
1487
1473
1488
1474
switch (psp ) {
1489
1475
case POWER_SUPPLY_PROP_ONLINE :
@@ -1637,10 +1623,9 @@ static irqreturn_t bq24190_irq_handler_thread(int irq, void *data)
1637
1623
int error ;
1638
1624
1639
1625
bdi -> irq_event = true;
1640
- error = pm_runtime_get_sync (bdi -> dev );
1626
+ error = pm_runtime_resume_and_get (bdi -> dev );
1641
1627
if (error < 0 ) {
1642
1628
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1643
- pm_runtime_put_noidle (bdi -> dev );
1644
1629
return IRQ_NONE ;
1645
1630
}
1646
1631
bq24190_check_status (bdi );
@@ -1860,11 +1845,9 @@ static int bq24190_remove(struct i2c_client *client)
1860
1845
struct bq24190_dev_info * bdi = i2c_get_clientdata (client );
1861
1846
int error ;
1862
1847
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 )
1865
1850
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1866
- pm_runtime_put_noidle (bdi -> dev );
1867
- }
1868
1851
1869
1852
bq24190_register_reset (bdi );
1870
1853
if (bdi -> battery )
@@ -1913,11 +1896,9 @@ static __maybe_unused int bq24190_pm_suspend(struct device *dev)
1913
1896
struct bq24190_dev_info * bdi = i2c_get_clientdata (client );
1914
1897
int error ;
1915
1898
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 )
1918
1901
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1919
- pm_runtime_put_noidle (bdi -> dev );
1920
- }
1921
1902
1922
1903
bq24190_register_reset (bdi );
1923
1904
@@ -1938,11 +1919,9 @@ static __maybe_unused int bq24190_pm_resume(struct device *dev)
1938
1919
bdi -> f_reg = 0 ;
1939
1920
bdi -> ss_reg = BQ24190_REG_SS_VBUS_STAT_MASK ; /* impossible state */
1940
1921
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 )
1943
1924
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1944
- pm_runtime_put_noidle (bdi -> dev );
1945
- }
1946
1925
1947
1926
bq24190_register_reset (bdi );
1948
1927
bq24190_set_config (bdi );
0 commit comments