@@ -455,11 +455,9 @@ static ssize_t bq24190_sysfs_show(struct device *dev,
455
455
if (!info )
456
456
return - EINVAL ;
457
457
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 )
461
460
return ret ;
462
- }
463
461
464
462
ret = bq24190_read_mask (bdi , info -> reg , info -> mask , info -> shift , & v );
465
463
if (ret )
@@ -490,11 +488,9 @@ static ssize_t bq24190_sysfs_store(struct device *dev,
490
488
if (ret < 0 )
491
489
return ret ;
492
490
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 )
496
493
return ret ;
497
- }
498
494
499
495
ret = bq24190_write_mask (bdi , info -> reg , info -> mask , info -> shift , v );
500
496
if (ret )
@@ -512,10 +508,9 @@ static int bq24190_set_otg_vbus(struct bq24190_dev_info *bdi, bool enable)
512
508
union power_supply_propval val = { .intval = bdi -> charge_type };
513
509
int ret ;
514
510
515
- ret = pm_runtime_get_sync (bdi -> dev );
511
+ ret = pm_runtime_resume_and_get (bdi -> dev );
516
512
if (ret < 0 ) {
517
513
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , ret );
518
- pm_runtime_put_noidle (bdi -> dev );
519
514
return ret ;
520
515
}
521
516
@@ -551,10 +546,9 @@ static int bq24190_vbus_is_enabled(struct regulator_dev *dev)
551
546
int ret ;
552
547
u8 val ;
553
548
554
- ret = pm_runtime_get_sync (bdi -> dev );
549
+ ret = pm_runtime_resume_and_get (bdi -> dev );
555
550
if (ret < 0 ) {
556
551
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , ret );
557
- pm_runtime_put_noidle (bdi -> dev );
558
552
return ret ;
559
553
}
560
554
@@ -1128,11 +1122,9 @@ static int bq24190_charger_get_property(struct power_supply *psy,
1128
1122
1129
1123
dev_dbg (bdi -> dev , "prop: %d\n" , psp );
1130
1124
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 )
1134
1127
return ret ;
1135
- }
1136
1128
1137
1129
switch (psp ) {
1138
1130
case POWER_SUPPLY_PROP_CHARGE_TYPE :
@@ -1204,11 +1196,9 @@ static int bq24190_charger_set_property(struct power_supply *psy,
1204
1196
1205
1197
dev_dbg (bdi -> dev , "prop: %d\n" , psp );
1206
1198
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 )
1210
1201
return ret ;
1211
- }
1212
1202
1213
1203
switch (psp ) {
1214
1204
case POWER_SUPPLY_PROP_ONLINE :
@@ -1477,11 +1467,9 @@ static int bq24190_battery_get_property(struct power_supply *psy,
1477
1467
dev_warn (bdi -> dev , "warning: /sys/class/power_supply/bq24190-battery is deprecated\n" );
1478
1468
dev_dbg (bdi -> dev , "prop: %d\n" , psp );
1479
1469
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 )
1483
1472
return ret ;
1484
- }
1485
1473
1486
1474
switch (psp ) {
1487
1475
case POWER_SUPPLY_PROP_STATUS :
@@ -1525,11 +1513,9 @@ static int bq24190_battery_set_property(struct power_supply *psy,
1525
1513
dev_warn (bdi -> dev , "warning: /sys/class/power_supply/bq24190-battery is deprecated\n" );
1526
1514
dev_dbg (bdi -> dev , "prop: %d\n" , psp );
1527
1515
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 )
1531
1518
return ret ;
1532
- }
1533
1519
1534
1520
switch (psp ) {
1535
1521
case POWER_SUPPLY_PROP_ONLINE :
@@ -1683,10 +1669,9 @@ static irqreturn_t bq24190_irq_handler_thread(int irq, void *data)
1683
1669
int error ;
1684
1670
1685
1671
bdi -> irq_event = true;
1686
- error = pm_runtime_get_sync (bdi -> dev );
1672
+ error = pm_runtime_resume_and_get (bdi -> dev );
1687
1673
if (error < 0 ) {
1688
1674
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1689
- pm_runtime_put_noidle (bdi -> dev );
1690
1675
return IRQ_NONE ;
1691
1676
}
1692
1677
bq24190_check_status (bdi );
@@ -1921,11 +1906,9 @@ static int bq24190_remove(struct i2c_client *client)
1921
1906
struct bq24190_dev_info * bdi = i2c_get_clientdata (client );
1922
1907
int error ;
1923
1908
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 )
1926
1911
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1927
- pm_runtime_put_noidle (bdi -> dev );
1928
- }
1929
1912
1930
1913
bq24190_register_reset (bdi );
1931
1914
if (bdi -> battery )
@@ -1982,11 +1965,9 @@ static __maybe_unused int bq24190_pm_suspend(struct device *dev)
1982
1965
struct bq24190_dev_info * bdi = i2c_get_clientdata (client );
1983
1966
int error ;
1984
1967
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 )
1987
1970
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
1988
- pm_runtime_put_noidle (bdi -> dev );
1989
- }
1990
1971
1991
1972
bq24190_register_reset (bdi );
1992
1973
@@ -2007,11 +1988,9 @@ static __maybe_unused int bq24190_pm_resume(struct device *dev)
2007
1988
bdi -> f_reg = 0 ;
2008
1989
bdi -> ss_reg = BQ24190_REG_SS_VBUS_STAT_MASK ; /* impossible state */
2009
1990
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 )
2012
1993
dev_warn (bdi -> dev , "pm_runtime_get failed: %i\n" , error );
2013
- pm_runtime_put_noidle (bdi -> dev );
2014
- }
2015
1994
2016
1995
bq24190_register_reset (bdi );
2017
1996
bq24190_set_config (bdi );
0 commit comments