Lines Matching defs:idev

272 	struct intel_device *idev = dev_id;
274 dev_info(&idev->pdev->dev, "hci_intel irq\n");
276 mutex_lock(&idev->hu_lock);
277 if (idev->hu)
278 intel_lpm_host_wake(idev->hu);
279 mutex_unlock(&idev->hu_lock);
282 pm_runtime_get(&idev->pdev->dev);
283 pm_runtime_mark_last_busy(&idev->pdev->dev);
284 pm_runtime_put_autosuspend(&idev->pdev->dev);
291 struct intel_device *idev;
299 list_for_each_entry(idev, &intel_device_list, list) {
303 if (hu->tty->dev->parent != idev->pdev->dev.parent)
306 if (!idev->reset) {
312 hu, dev_name(&idev->pdev->dev), powered);
314 gpiod_set_value(idev->reset, powered);
316 /* Provide to idev a hu reference which is used to run LPM
321 mutex_lock(&idev->hu_lock);
322 idev->hu = powered ? hu : NULL;
323 mutex_unlock(&idev->hu_lock);
325 if (idev->irq < 0)
328 if (powered && device_can_wakeup(&idev->pdev->dev)) {
329 err = devm_request_threaded_irq(&idev->pdev->dev,
330 idev->irq, NULL,
333 "bt-host-wake", idev);
336 hu, idev->irq);
340 device_wakeup_enable(&idev->pdev->dev);
342 pm_runtime_set_active(&idev->pdev->dev);
343 pm_runtime_use_autosuspend(&idev->pdev->dev);
344 pm_runtime_set_autosuspend_delay(&idev->pdev->dev,
346 pm_runtime_enable(&idev->pdev->dev);
347 } else if (!powered && device_may_wakeup(&idev->pdev->dev)) {
348 devm_free_irq(&idev->pdev->dev, idev->irq, idev);
349 device_wakeup_disable(&idev->pdev->dev);
351 pm_runtime_disable(&idev->pdev->dev);
364 struct intel_device *idev;
371 list_for_each_entry(idev, &intel_device_list, list) {
372 if (intel->hu->tty->dev->parent == idev->pdev->dev.parent) {
373 pm_runtime_get(&idev->pdev->dev);
374 pm_runtime_mark_last_busy(&idev->pdev->dev);
375 pm_runtime_put_autosuspend(&idev->pdev->dev);
530 struct intel_device *idev;
830 list_for_each_entry(idev, &intel_device_list, list) {
833 if (hu->tty->dev->parent == idev->pdev->dev.parent) {
834 if (device_may_wakeup(&idev->pdev->dev)) {
988 struct intel_device *idev;
999 list_for_each_entry(idev, &intel_device_list, list) {
1000 if (hu->tty->dev->parent == idev->pdev->dev.parent) {
1001 pm_runtime_get_sync(&idev->pdev->dev);
1002 pm_runtime_mark_last_busy(&idev->pdev->dev);
1003 pm_runtime_put_autosuspend(&idev->pdev->dev);
1071 struct intel_device *idev = dev_get_drvdata(dev);
1073 mutex_lock(&idev->hu_lock);
1074 if (idev->hu)
1075 intel_lpm_suspend(idev->hu);
1076 mutex_unlock(&idev->hu_lock);
1083 struct intel_device *idev = dev_get_drvdata(dev);
1085 mutex_lock(&idev->hu_lock);
1086 if (idev->hu)
1087 intel_lpm_resume(idev->hu);
1088 mutex_unlock(&idev->hu_lock);
1097 struct intel_device *idev = dev_get_drvdata(dev);
1100 enable_irq_wake(idev->irq);
1107 struct intel_device *idev = dev_get_drvdata(dev);
1110 disable_irq_wake(idev->irq);
1132 struct intel_device *idev;
1135 idev = devm_kzalloc(&pdev->dev, sizeof(*idev), GFP_KERNEL);
1136 if (!idev)
1139 mutex_init(&idev->hu_lock);
1141 idev->pdev = pdev;
1147 idev->reset = devm_gpiod_get(&pdev->dev, "reset", GPIOD_OUT_LOW);
1148 if (IS_ERR(idev->reset)) {
1150 return PTR_ERR(idev->reset);
1153 idev->irq = platform_get_irq(pdev, 0);
1154 if (idev->irq < 0) {
1165 idev->irq = gpiod_to_irq(host_wake);
1166 if (idev->irq < 0) {
1177 platform_set_drvdata(pdev, idev);
1181 list_add_tail(&idev->list, &intel_device_list);
1185 desc_to_gpio(idev->reset), idev->irq);
1192 struct intel_device *idev = platform_get_drvdata(pdev);
1197 list_del(&idev->list);