File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -634,6 +634,33 @@ static const struct drm_bridge_funcs lt8912_bridge_funcs = {
634
634
.get_edid = lt8912_bridge_get_edid ,
635
635
};
636
636
637
+ static int lt8912_bridge_resume (struct device * dev )
638
+ {
639
+ struct lt8912 * lt = dev_get_drvdata (dev );
640
+ int ret ;
641
+
642
+ ret = lt8912_hard_power_on (lt );
643
+ if (ret )
644
+ return ret ;
645
+
646
+ ret = lt8912_soft_power_on (lt );
647
+ if (ret )
648
+ return ret ;
649
+
650
+ return lt8912_video_on (lt );
651
+ }
652
+
653
+ static int lt8912_bridge_suspend (struct device * dev )
654
+ {
655
+ struct lt8912 * lt = dev_get_drvdata (dev );
656
+
657
+ lt8912_hard_power_off (lt );
658
+
659
+ return 0 ;
660
+ }
661
+
662
+ static DEFINE_SIMPLE_DEV_PM_OPS (lt8912_bridge_pm_ops , lt8912_bridge_suspend , lt8912_bridge_resume ) ;
663
+
637
664
static int lt8912_parse_dt (struct lt8912 * lt )
638
665
{
639
666
struct gpio_desc * gp_reset ;
@@ -770,6 +797,7 @@ static struct i2c_driver lt8912_i2c_driver = {
770
797
.driver = {
771
798
.name = "lt8912" ,
772
799
.of_match_table = lt8912_dt_match ,
800
+ .pm = pm_sleep_ptr (& lt8912_bridge_pm_ops ),
773
801
},
774
802
.probe = lt8912_probe ,
775
803
.remove = lt8912_remove ,
You can’t perform that action at this time.
0 commit comments