File tree 1 file changed +18
-0
lines changed 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)
130
130
"gpio-ir-recv-irq" , gpio_dev );
131
131
}
132
132
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
+
133
150
#ifdef CONFIG_PM
134
151
static int gpio_ir_recv_suspend (struct device * dev )
135
152
{
@@ -189,6 +206,7 @@ MODULE_DEVICE_TABLE(of, gpio_ir_recv_of_match);
189
206
190
207
static struct platform_driver gpio_ir_recv_driver = {
191
208
.probe = gpio_ir_recv_probe ,
209
+ .remove = gpio_ir_recv_remove ,
192
210
.driver = {
193
211
.name = KBUILD_MODNAME ,
194
212
.of_match_table = of_match_ptr (gpio_ir_recv_of_match ),
You can’t perform that action at this time.
0 commit comments