Lines Matching refs:pdev
68 struct platform_device *pdev; member
156 pm_runtime_get_sync(&keypad->pdev->dev); in samsung_keypad_irq()
172 pm_runtime_put(&keypad->pdev->dev); in samsung_keypad_irq()
181 pm_runtime_get_sync(&keypad->pdev->dev); in samsung_keypad_start()
196 pm_runtime_put(&keypad->pdev->dev); in samsung_keypad_start()
203 pm_runtime_get_sync(&keypad->pdev->dev); in samsung_keypad_stop()
226 pm_runtime_put(&keypad->pdev->dev); in samsung_keypad_stop()
317 static int samsung_keypad_probe(struct platform_device *pdev) in samsung_keypad_probe() argument
328 pdata = dev_get_platdata(&pdev->dev); in samsung_keypad_probe()
330 pdata = samsung_keypad_parse_dt(&pdev->dev); in samsung_keypad_probe()
337 dev_err(&pdev->dev, "no keymap data defined\n"); in samsung_keypad_probe()
354 keypad = devm_kzalloc(&pdev->dev, sizeof(*keypad) + keymap_size, in samsung_keypad_probe()
356 input_dev = devm_input_allocate_device(&pdev->dev); in samsung_keypad_probe()
360 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); in samsung_keypad_probe()
364 keypad->base = devm_ioremap(&pdev->dev, res->start, resource_size(res)); in samsung_keypad_probe()
368 keypad->clk = devm_clk_get(&pdev->dev, "keypad"); in samsung_keypad_probe()
370 dev_err(&pdev->dev, "failed to get keypad clk\n"); in samsung_keypad_probe()
376 dev_err(&pdev->dev, "keypad clock prepare failed\n"); in samsung_keypad_probe()
381 keypad->pdev = pdev; in samsung_keypad_probe()
388 if (pdev->dev.of_node) in samsung_keypad_probe()
389 keypad->type = of_device_is_compatible(pdev->dev.of_node, in samsung_keypad_probe()
392 keypad->type = platform_get_device_id(pdev)->driver_data; in samsung_keypad_probe()
394 input_dev->name = pdev->name; in samsung_keypad_probe()
396 input_dev->dev.parent = &pdev->dev; in samsung_keypad_probe()
405 dev_err(&pdev->dev, "failed to build keymap\n"); in samsung_keypad_probe()
415 keypad->irq = platform_get_irq(pdev, 0); in samsung_keypad_probe()
421 error = devm_request_threaded_irq(&pdev->dev, keypad->irq, NULL, in samsung_keypad_probe()
423 dev_name(&pdev->dev), keypad); in samsung_keypad_probe()
425 dev_err(&pdev->dev, "failed to register keypad interrupt\n"); in samsung_keypad_probe()
429 device_init_wakeup(&pdev->dev, pdata->wakeup); in samsung_keypad_probe()
430 platform_set_drvdata(pdev, keypad); in samsung_keypad_probe()
431 pm_runtime_enable(&pdev->dev); in samsung_keypad_probe()
437 if (pdev->dev.of_node) { in samsung_keypad_probe()
438 devm_kfree(&pdev->dev, (void *)pdata->keymap_data->keymap); in samsung_keypad_probe()
439 devm_kfree(&pdev->dev, (void *)pdata->keymap_data); in samsung_keypad_probe()
440 devm_kfree(&pdev->dev, (void *)pdata); in samsung_keypad_probe()
445 pm_runtime_disable(&pdev->dev); in samsung_keypad_probe()
446 device_init_wakeup(&pdev->dev, 0); in samsung_keypad_probe()
452 static int samsung_keypad_remove(struct platform_device *pdev) in samsung_keypad_remove() argument
454 struct samsung_keypad *keypad = platform_get_drvdata(pdev); in samsung_keypad_remove()
456 pm_runtime_disable(&pdev->dev); in samsung_keypad_remove()
457 device_init_wakeup(&pdev->dev, 0); in samsung_keypad_remove()
469 struct platform_device *pdev = to_platform_device(dev); in samsung_keypad_runtime_suspend() local
470 struct samsung_keypad *keypad = platform_get_drvdata(pdev); in samsung_keypad_runtime_suspend()
493 struct platform_device *pdev = to_platform_device(dev); in samsung_keypad_runtime_resume() local
494 struct samsung_keypad *keypad = platform_get_drvdata(pdev); in samsung_keypad_runtime_resume()
524 if (device_may_wakeup(&keypad->pdev->dev)) in samsung_keypad_toggle_wakeup()
528 if (device_may_wakeup(&keypad->pdev->dev)) in samsung_keypad_toggle_wakeup()
538 struct platform_device *pdev = to_platform_device(dev); in samsung_keypad_suspend() local
539 struct samsung_keypad *keypad = platform_get_drvdata(pdev); in samsung_keypad_suspend()
556 struct platform_device *pdev = to_platform_device(dev); in samsung_keypad_resume() local
557 struct samsung_keypad *keypad = platform_get_drvdata(pdev); in samsung_keypad_resume()