Lines Matching refs:idev

288 	struct intel_device *idev = dev_id;  in intel_irq()  local
290 dev_info(&idev->pdev->dev, "hci_intel irq\n"); in intel_irq()
292 mutex_lock(&idev->hu_lock); in intel_irq()
293 if (idev->hu) in intel_irq()
294 intel_lpm_host_wake(idev->hu); in intel_irq()
295 mutex_unlock(&idev->hu_lock); in intel_irq()
298 pm_runtime_get(&idev->pdev->dev); in intel_irq()
299 pm_runtime_mark_last_busy(&idev->pdev->dev); in intel_irq()
300 pm_runtime_put_autosuspend(&idev->pdev->dev); in intel_irq()
313 struct intel_device *idev = list_entry(p, struct intel_device, in intel_set_power() local
319 if (hu->tty->dev->parent != idev->pdev->dev.parent) in intel_set_power()
322 if (!idev->reset) { in intel_set_power()
328 hu, dev_name(&idev->pdev->dev), powered); in intel_set_power()
330 gpiod_set_value(idev->reset, powered); in intel_set_power()
337 mutex_lock(&idev->hu_lock); in intel_set_power()
338 idev->hu = powered ? hu : NULL; in intel_set_power()
339 mutex_unlock(&idev->hu_lock); in intel_set_power()
341 if (idev->irq < 0) in intel_set_power()
344 if (powered && device_can_wakeup(&idev->pdev->dev)) { in intel_set_power()
345 err = devm_request_threaded_irq(&idev->pdev->dev, in intel_set_power()
346 idev->irq, NULL, in intel_set_power()
349 "bt-host-wake", idev); in intel_set_power()
352 hu, idev->irq); in intel_set_power()
356 device_wakeup_enable(&idev->pdev->dev); in intel_set_power()
358 pm_runtime_set_active(&idev->pdev->dev); in intel_set_power()
359 pm_runtime_use_autosuspend(&idev->pdev->dev); in intel_set_power()
360 pm_runtime_set_autosuspend_delay(&idev->pdev->dev, in intel_set_power()
362 pm_runtime_enable(&idev->pdev->dev); in intel_set_power()
363 } else if (!powered && device_may_wakeup(&idev->pdev->dev)) { in intel_set_power()
364 devm_free_irq(&idev->pdev->dev, idev->irq, idev); in intel_set_power()
365 device_wakeup_disable(&idev->pdev->dev); in intel_set_power()
367 pm_runtime_disable(&idev->pdev->dev); in intel_set_power()
385 struct intel_device *idev = list_entry(p, struct intel_device, in intel_busy_work() local
388 if (intel->hu->tty->dev->parent == idev->pdev->dev.parent) { in intel_busy_work()
389 pm_runtime_get(&idev->pdev->dev); in intel_busy_work()
390 pm_runtime_mark_last_busy(&idev->pdev->dev); in intel_busy_work()
391 pm_runtime_put_autosuspend(&idev->pdev->dev); in intel_busy_work()
542 struct intel_device *idev = NULL; in intel_setup() local
918 idev = dev; in intel_setup()
924 if (!idev) in intel_setup()
1102 struct intel_device *idev = list_entry(p, struct intel_device, in intel_enqueue() local
1105 if (hu->tty->dev->parent == idev->pdev->dev.parent) { in intel_enqueue()
1106 pm_runtime_get_sync(&idev->pdev->dev); in intel_enqueue()
1107 pm_runtime_mark_last_busy(&idev->pdev->dev); in intel_enqueue()
1108 pm_runtime_put_autosuspend(&idev->pdev->dev); in intel_enqueue()
1175 struct intel_device *idev = dev_get_drvdata(dev); in intel_suspend_device() local
1177 mutex_lock(&idev->hu_lock); in intel_suspend_device()
1178 if (idev->hu) in intel_suspend_device()
1179 intel_lpm_suspend(idev->hu); in intel_suspend_device()
1180 mutex_unlock(&idev->hu_lock); in intel_suspend_device()
1187 struct intel_device *idev = dev_get_drvdata(dev); in intel_resume_device() local
1189 mutex_lock(&idev->hu_lock); in intel_resume_device()
1190 if (idev->hu) in intel_resume_device()
1191 intel_lpm_resume(idev->hu); in intel_resume_device()
1192 mutex_unlock(&idev->hu_lock); in intel_resume_device()
1201 struct intel_device *idev = dev_get_drvdata(dev); in intel_suspend() local
1204 enable_irq_wake(idev->irq); in intel_suspend()
1211 struct intel_device *idev = dev_get_drvdata(dev); in intel_resume() local
1214 disable_irq_wake(idev->irq); in intel_resume()
1227 struct intel_device *idev; in intel_probe() local
1229 idev = devm_kzalloc(&pdev->dev, sizeof(*idev), GFP_KERNEL); in intel_probe()
1230 if (!idev) in intel_probe()
1233 mutex_init(&idev->hu_lock); in intel_probe()
1235 idev->pdev = pdev; in intel_probe()
1237 idev->reset = devm_gpiod_get_optional(&pdev->dev, "reset", in intel_probe()
1239 if (IS_ERR(idev->reset)) { in intel_probe()
1241 return PTR_ERR(idev->reset); in intel_probe()
1244 idev->irq = platform_get_irq(pdev, 0); in intel_probe()
1245 if (idev->irq < 0) { in intel_probe()
1257 idev->irq = gpiod_to_irq(host_wake); in intel_probe()
1258 if (idev->irq < 0) { in intel_probe()
1269 platform_set_drvdata(pdev, idev); in intel_probe()
1273 list_add_tail(&idev->list, &intel_device_list); in intel_probe()
1277 desc_to_gpio(idev->reset), idev->irq); in intel_probe()
1284 struct intel_device *idev = platform_get_drvdata(pdev); in intel_remove() local
1289 list_del(&idev->list); in intel_remove()