File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -130,6 +130,23 @@ static int gpio_ir_recv_probe(struct platform_device *pdev)
130130 "gpio-ir-recv-irq" , gpio_dev );
131131}
132132
133+ static int gpio_ir_recv_remove (struct platform_device * pdev )
134+ {
135+ struct gpio_rc_dev * gpio_dev = platform_get_drvdata (pdev );
136+ struct device * pmdev = gpio_dev -> pmdev ;
137+
138+ if (pmdev ) {
139+ pm_runtime_get_sync (pmdev );
140+ cpu_latency_qos_remove_request (& gpio_dev -> qos );
141+
142+ pm_runtime_disable (pmdev );
143+ pm_runtime_put_noidle (pmdev );
144+ pm_runtime_set_suspended (pmdev );
145+ }
146+
147+ return 0 ;
148+ }
149+
133150#ifdef CONFIG_PM
134151static int gpio_ir_recv_suspend (struct device * dev )
135152{
@@ -189,6 +206,7 @@ MODULE_DEVICE_TABLE(of, gpio_ir_recv_of_match);
189206
190207static struct platform_driver gpio_ir_recv_driver = {
191208 .probe = gpio_ir_recv_probe ,
209+ .remove = gpio_ir_recv_remove ,
192210 .driver = {
193211 .name = KBUILD_MODNAME ,
194212 .of_match_table = of_match_ptr (gpio_ir_recv_of_match ),
You can’t perform that action at this time.
0 commit comments