Revert "mfd: fusb302: avoid sending notifier to USB/DP during PM suspend"
authorElaine Zhang <zhangqing@rock-chips.com>
Tue, 10 Jan 2017 08:40:55 +0000 (16:40 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Wed, 15 Feb 2017 08:53:54 +0000 (16:53 +0800)
This reverts commit 082f43af91698a82583053679ec0d0be89b36b2d.

Change-Id: Iae816df6de573c03cf87b0091fb920c4673dbb54
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
drivers/mfd/fusb302.c

index 96b3344b4bdf605f95b47f71f825e9b77c14a8d9..53b236b1dc0dd5d148210f3dc8af05a8bf3aaa43 100644 (file)
@@ -11,7 +11,6 @@
 
 #include <linux/delay.h>
 #include <linux/extcon.h>
-#include <linux/freezer.h>
 #include <linux/gpio.h>
 #include <linux/interrupt.h>
 #include <linux/module.h>
@@ -249,32 +248,6 @@ static void platform_fusb_notify(struct fusb30x_chip *chip)
                        usb_ss = 1;
                }
 
-               if (chip->notify.power_role == 0 &&
-                   chip->notify.is_pd_connected &&
-                   chip->pd_output_vol > 0 && chip->pd_output_cur > 0) {
-                       extcon_set_state(chip->extcon, EXTCON_CHG_USB_FAST,
-                                        true);
-                       property.intval =
-                               (chip->pd_output_cur << 15 |
-                                chip->pd_output_vol);
-                       extcon_set_property(chip->extcon, EXTCON_CHG_USB_FAST,
-                                           EXTCON_PROP_USB_TYPEC_POLARITY,
-                                           property);
-                       extcon_sync(chip->extcon, EXTCON_CHG_USB_FAST);
-               }
-
-#ifdef CONFIG_FREEZER
-               /*
-                * If system enter PM suspend, we need to wait until
-                * PM resume all of devices completion, then the flag
-                * pm_freezing will be set to false, and we can send
-                * notifier to USB/DP module safety, it make sure that
-                * USB/DP can enable power domain successfully.
-                */
-               while (pm_freezing)
-                       usleep_range(10000, 11000);
-#endif
-
                property.intval = flip;
                extcon_set_property(chip->extcon, EXTCON_USB,
                                    EXTCON_PROP_USB_TYPEC_POLARITY, property);
@@ -296,6 +269,18 @@ static void platform_fusb_notify(struct fusb30x_chip *chip)
                extcon_sync(chip->extcon, EXTCON_USB);
                extcon_sync(chip->extcon, EXTCON_USB_HOST);
                extcon_sync(chip->extcon, EXTCON_DISP_DP);
+               if (chip->notify.power_role == 0 &&
+                   chip->notify.is_pd_connected &&
+                   chip->pd_output_vol > 0 && chip->pd_output_cur > 0) {
+                       extcon_set_state(chip->extcon, EXTCON_CHG_USB_FAST, true);
+                       property.intval =
+                               (chip->pd_output_cur << 15 |
+                                chip->pd_output_vol);
+                       extcon_set_property(chip->extcon, EXTCON_CHG_USB_FAST,
+                                           EXTCON_PROP_USB_TYPEC_POLARITY,
+                                           property);
+                       extcon_sync(chip->extcon, EXTCON_CHG_USB_FAST);
+               }
        }
 }