Lines Matching refs:drv_data

20 static int pir_aschip_set_sensibility(struct aschip_pir_drv_data *drv_data,  in pir_aschip_set_sensibility()  argument
24 dev_err(drv_data->dev, "sensibilit should be [4, 100]\n"); in pir_aschip_set_sensibility()
28 gpiod_set_value(drv_data->pulse_gpio, 1); in pir_aschip_set_sensibility()
30 gpiod_set_value(drv_data->pulse_gpio, 0); in pir_aschip_set_sensibility()
32 gpiod_set_value(drv_data->pulse_gpio, 1); in pir_aschip_set_sensibility()
34 gpiod_set_value(drv_data->pulse_gpio, 0); in pir_aschip_set_sensibility()
36 gpiod_set_value(drv_data->pulse_gpio, 1); in pir_aschip_set_sensibility()
59 struct aschip_pir_drv_data *drv_data = ((struct seq_file *)filp->private_data)->private; in pir_aschip_sensibility_write() local
67 ret = pir_aschip_set_sensibility(drv_data, val); in pir_aschip_sensibility_write()
79 static int pir_aschip_create_procfs(struct aschip_pir_drv_data *drv_data) in pir_aschip_create_procfs() argument
83 drv_data->procfs = proc_mkdir("pir", NULL); in pir_aschip_create_procfs()
84 if (!drv_data->procfs) in pir_aschip_create_procfs()
87 ent = proc_create_data("sensibility", 0644, drv_data->procfs, in pir_aschip_create_procfs()
88 &pir_aschip_sensibility_fops, drv_data); in pir_aschip_create_procfs()
94 proc_remove(drv_data->procfs); in pir_aschip_create_procfs()
98 static void pir_aschip_proc_release(struct aschip_pir_drv_data *drv_data) in pir_aschip_proc_release() argument
101 proc_remove(drv_data->procfs); in pir_aschip_proc_release()
107 struct aschip_pir_drv_data *drv_data; in pir_aschip_probe() local
110 drv_data = devm_kzalloc(dev, sizeof(*drv_data), GFP_KERNEL); in pir_aschip_probe()
111 if (!drv_data) in pir_aschip_probe()
114 drv_data->pulse_gpio = devm_gpiod_get(dev, "pulse", GPIOD_OUT_HIGH); in pir_aschip_probe()
116 if (IS_ERR(drv_data->pulse_gpio)) { in pir_aschip_probe()
118 return PTR_ERR(drv_data->pulse_gpio); in pir_aschip_probe()
122 pir_aschip_create_procfs(drv_data); in pir_aschip_probe()
124 drv_data->dev = dev; in pir_aschip_probe()
125 dev_set_drvdata(dev, drv_data); in pir_aschip_probe()
132 struct aschip_pir_drv_data *drv_data; in pir_aschip_remove() local
134 drv_data = dev_get_drvdata(&pdev->dev); in pir_aschip_remove()
135 pir_aschip_proc_release(drv_data); in pir_aschip_remove()