@@ -243,8 +243,7 @@ void pm_runtime_set_memalloc_noio(struct device *dev, bool enable)
243243 * flag was set by any one of the descendants.
244244 */
245245 if (!dev || (!enable &&
246- device_for_each_child (dev , NULL ,
247- dev_memalloc_noio )))
246+ device_for_each_child (dev , NULL , dev_memalloc_noio )))
248247 break ;
249248 }
250249 mutex_unlock (& dev_hotplug_mutex );
@@ -265,15 +264,13 @@ static int rpm_check_suspend_allowed(struct device *dev)
265264 retval = - EACCES ;
266265 else if (atomic_read (& dev -> power .usage_count ))
267266 retval = - EAGAIN ;
268- else if (!dev -> power .ignore_children &&
269- atomic_read (& dev -> power .child_count ))
267+ else if (!dev -> power .ignore_children && atomic_read (& dev -> power .child_count ))
270268 retval = - EBUSY ;
271269
272270 /* Pending resume requests take precedence over suspends. */
273- else if ((dev -> power .deferred_resume
274- && dev -> power .runtime_status == RPM_SUSPENDING )
275- || (dev -> power .request_pending
276- && dev -> power .request == RPM_REQ_RESUME ))
271+ else if ((dev -> power .deferred_resume &&
272+ dev -> power .runtime_status == RPM_SUSPENDING ) ||
273+ (dev -> power .request_pending && dev -> power .request == RPM_REQ_RESUME ))
277274 retval = - EAGAIN ;
278275 else if (__dev_pm_qos_resume_latency (dev ) == 0 )
279276 retval = - EPERM ;
@@ -404,9 +401,9 @@ static int __rpm_callback(int (*cb)(struct device *), struct device *dev)
404401 *
405402 * Do that if resume fails too.
406403 */
407- if (use_links
408- && ((dev -> power .runtime_status == RPM_SUSPENDING && !retval )
409- || (dev -> power .runtime_status == RPM_RESUMING && retval ))) {
404+ if (use_links &&
405+ ((dev -> power .runtime_status == RPM_SUSPENDING && !retval ) ||
406+ (dev -> power .runtime_status == RPM_RESUMING && retval ))) {
410407 idx = device_links_read_lock ();
411408
412409 __rpm_put_suppliers (dev , false);
@@ -491,6 +488,7 @@ static int rpm_idle(struct device *dev, int rpmflags)
491488 /* Act as though RPM_NOWAIT is always set. */
492489 else if (dev -> power .idle_notification )
493490 retval = - EINPROGRESS ;
491+
494492 if (retval )
495493 goto out ;
496494
@@ -574,12 +572,12 @@ static int rpm_suspend(struct device *dev, int rpmflags)
574572 /* Synchronous suspends are not allowed in the RPM_RESUMING state. */
575573 if (dev -> power .runtime_status == RPM_RESUMING && !(rpmflags & RPM_ASYNC ))
576574 retval = - EAGAIN ;
575+
577576 if (retval )
578577 goto out ;
579578
580579 /* If the autosuspend_delay time hasn't expired yet, reschedule. */
581- if ((rpmflags & RPM_AUTO )
582- && dev -> power .runtime_status != RPM_SUSPENDING ) {
580+ if ((rpmflags & RPM_AUTO ) && dev -> power .runtime_status != RPM_SUSPENDING ) {
583581 u64 expires = pm_runtime_autosuspend_expiration (dev );
584582
585583 if (expires != 0 ) {
@@ -594,7 +592,7 @@ static int rpm_suspend(struct device *dev, int rpmflags)
594592 * rest.
595593 */
596594 if (!(dev -> power .timer_expires &&
597- dev -> power .timer_expires <= expires )) {
595+ dev -> power .timer_expires <= expires )) {
598596 /*
599597 * We add a slack of 25% to gather wakeups
600598 * without sacrificing the granularity.
@@ -604,9 +602,9 @@ static int rpm_suspend(struct device *dev, int rpmflags)
604602
605603 dev -> power .timer_expires = expires ;
606604 hrtimer_start_range_ns (& dev -> power .suspend_timer ,
607- ns_to_ktime (expires ),
608- slack ,
609- HRTIMER_MODE_ABS );
605+ ns_to_ktime (expires ),
606+ slack ,
607+ HRTIMER_MODE_ABS );
610608 }
611609 dev -> power .timer_autosuspends = 1 ;
612610 goto out ;
@@ -797,8 +795,8 @@ static int rpm_resume(struct device *dev, int rpmflags)
797795 goto out ;
798796 }
799797
800- if (dev -> power .runtime_status == RPM_RESUMING
801- || dev -> power .runtime_status == RPM_SUSPENDING ) {
798+ if (dev -> power .runtime_status == RPM_RESUMING ||
799+ dev -> power .runtime_status == RPM_SUSPENDING ) {
802800 DEFINE_WAIT (wait );
803801
804802 if (rpmflags & (RPM_ASYNC | RPM_NOWAIT )) {
@@ -825,8 +823,8 @@ static int rpm_resume(struct device *dev, int rpmflags)
825823 for (;;) {
826824 prepare_to_wait (& dev -> power .wait_queue , & wait ,
827825 TASK_UNINTERRUPTIBLE );
828- if (dev -> power .runtime_status != RPM_RESUMING
829- && dev -> power .runtime_status != RPM_SUSPENDING )
826+ if (dev -> power .runtime_status != RPM_RESUMING &&
827+ dev -> power .runtime_status != RPM_SUSPENDING )
830828 break ;
831829
832830 spin_unlock_irq (& dev -> power .lock );
@@ -846,9 +844,9 @@ static int rpm_resume(struct device *dev, int rpmflags)
846844 */
847845 if (dev -> power .no_callbacks && !parent && dev -> parent ) {
848846 spin_lock_nested (& dev -> parent -> power .lock , SINGLE_DEPTH_NESTING );
849- if (dev -> parent -> power .disable_depth > 0
850- || dev -> parent -> power .ignore_children
851- || dev -> parent -> power .runtime_status == RPM_ACTIVE ) {
847+ if (dev -> parent -> power .disable_depth > 0 ||
848+ dev -> parent -> power .ignore_children ||
849+ dev -> parent -> power .runtime_status == RPM_ACTIVE ) {
852850 atomic_inc (& dev -> parent -> power .child_count );
853851 spin_unlock (& dev -> parent -> power .lock );
854852 retval = 1 ;
@@ -877,6 +875,7 @@ static int rpm_resume(struct device *dev, int rpmflags)
877875 parent = dev -> parent ;
878876 if (dev -> power .irq_safe )
879877 goto skip_parent ;
878+
880879 spin_unlock (& dev -> power .lock );
881880
882881 pm_runtime_get_noresume (parent );
@@ -886,8 +885,8 @@ static int rpm_resume(struct device *dev, int rpmflags)
886885 * Resume the parent if it has runtime PM enabled and not been
887886 * set to ignore its children.
888887 */
889- if (!parent -> power .disable_depth
890- && !parent -> power .ignore_children ) {
888+ if (!parent -> power .disable_depth &&
889+ !parent -> power .ignore_children ) {
891890 rpm_resume (parent , 0 );
892891 if (parent -> power .runtime_status != RPM_ACTIVE )
893892 retval = - EBUSY ;
@@ -897,6 +896,7 @@ static int rpm_resume(struct device *dev, int rpmflags)
897896 spin_lock (& dev -> power .lock );
898897 if (retval )
899898 goto out ;
899+
900900 goto repeat ;
901901 }
902902 skip_parent :
@@ -1301,9 +1301,9 @@ int __pm_runtime_set_status(struct device *dev, unsigned int status)
13011301 * not active, has runtime PM enabled and the
13021302 * 'power.ignore_children' flag unset.
13031303 */
1304- if (!parent -> power .disable_depth
1305- && !parent -> power .ignore_children
1306- && parent -> power .runtime_status != RPM_ACTIVE ) {
1304+ if (!parent -> power .disable_depth &&
1305+ !parent -> power .ignore_children &&
1306+ parent -> power .runtime_status != RPM_ACTIVE ) {
13071307 dev_err (dev , "runtime PM trying to activate child device %s but parent (%s) is not active\n" ,
13081308 dev_name (dev ),
13091309 dev_name (parent ));
@@ -1368,9 +1368,9 @@ static void __pm_runtime_barrier(struct device *dev)
13681368 dev -> power .request_pending = false;
13691369 }
13701370
1371- if (dev -> power .runtime_status == RPM_SUSPENDING
1372- || dev -> power .runtime_status == RPM_RESUMING
1373- || dev -> power .idle_notification ) {
1371+ if (dev -> power .runtime_status == RPM_SUSPENDING ||
1372+ dev -> power .runtime_status == RPM_RESUMING ||
1373+ dev -> power .idle_notification ) {
13741374 DEFINE_WAIT (wait );
13751375
13761376 /* Suspend, wake-up or idle notification in progress. */
@@ -1455,8 +1455,8 @@ void __pm_runtime_disable(struct device *dev, bool check_resume)
14551455 * means there probably is some I/O to process and disabling runtime PM
14561456 * shouldn't prevent the device from processing the I/O.
14571457 */
1458- if (check_resume && dev -> power .request_pending
1459- && dev -> power .request == RPM_REQ_RESUME ) {
1458+ if (check_resume && dev -> power .request_pending &&
1459+ dev -> power .request == RPM_REQ_RESUME ) {
14601460 /*
14611461 * Prevent suspends and idle notifications from being carried
14621462 * out after we have woken up the device.
@@ -1616,6 +1616,7 @@ void pm_runtime_irq_safe(struct device *dev)
16161616{
16171617 if (dev -> parent )
16181618 pm_runtime_get_sync (dev -> parent );
1619+
16191620 spin_lock_irq (& dev -> power .lock );
16201621 dev -> power .irq_safe = 1 ;
16211622 spin_unlock_irq (& dev -> power .lock );
0 commit comments