Lines Matching refs:beeper

34 static void __pwm_beeper_set(struct pwm_beeper *beeper)  in __pwm_beeper_set()  argument
36 unsigned long period = beeper->period; in __pwm_beeper_set()
39 pwm_config(beeper->pwm, period / 2, period); in __pwm_beeper_set()
40 pwm_enable(beeper->pwm); in __pwm_beeper_set()
42 pwm_disable(beeper->pwm); in __pwm_beeper_set()
47 struct pwm_beeper *beeper = in pwm_beeper_work() local
50 __pwm_beeper_set(beeper); in pwm_beeper_work()
56 struct pwm_beeper *beeper = input_get_drvdata(input); in pwm_beeper_event() local
72 beeper->period = 0; in pwm_beeper_event()
74 beeper->period = HZ_TO_NANOSECONDS(value); in pwm_beeper_event()
76 schedule_work(&beeper->work); in pwm_beeper_event()
81 static void pwm_beeper_stop(struct pwm_beeper *beeper) in pwm_beeper_stop() argument
83 cancel_work_sync(&beeper->work); in pwm_beeper_stop()
85 if (beeper->period) in pwm_beeper_stop()
86 pwm_disable(beeper->pwm); in pwm_beeper_stop()
91 struct pwm_beeper *beeper = input_get_drvdata(input); in pwm_beeper_close() local
93 pwm_beeper_stop(beeper); in pwm_beeper_close()
99 struct pwm_beeper *beeper; in pwm_beeper_probe() local
102 beeper = kzalloc(sizeof(*beeper), GFP_KERNEL); in pwm_beeper_probe()
103 if (!beeper) in pwm_beeper_probe()
106 beeper->pwm = pwm_get(&pdev->dev, NULL); in pwm_beeper_probe()
107 if (IS_ERR(beeper->pwm)) { in pwm_beeper_probe()
109 beeper->pwm = pwm_request(pwm_id, "pwm beeper"); in pwm_beeper_probe()
112 if (IS_ERR(beeper->pwm)) { in pwm_beeper_probe()
113 error = PTR_ERR(beeper->pwm); in pwm_beeper_probe()
118 INIT_WORK(&beeper->work, pwm_beeper_work); in pwm_beeper_probe()
120 beeper->input = input_allocate_device(); in pwm_beeper_probe()
121 if (!beeper->input) { in pwm_beeper_probe()
126 beeper->input->dev.parent = &pdev->dev; in pwm_beeper_probe()
128 beeper->input->name = "pwm-beeper"; in pwm_beeper_probe()
129 beeper->input->phys = "pwm/input0"; in pwm_beeper_probe()
130 beeper->input->id.bustype = BUS_HOST; in pwm_beeper_probe()
131 beeper->input->id.vendor = 0x001f; in pwm_beeper_probe()
132 beeper->input->id.product = 0x0001; in pwm_beeper_probe()
133 beeper->input->id.version = 0x0100; in pwm_beeper_probe()
135 beeper->input->evbit[0] = BIT(EV_SND); in pwm_beeper_probe()
136 beeper->input->sndbit[0] = BIT(SND_TONE) | BIT(SND_BELL); in pwm_beeper_probe()
138 beeper->input->event = pwm_beeper_event; in pwm_beeper_probe()
139 beeper->input->close = pwm_beeper_close; in pwm_beeper_probe()
141 input_set_drvdata(beeper->input, beeper); in pwm_beeper_probe()
143 error = input_register_device(beeper->input); in pwm_beeper_probe()
149 platform_set_drvdata(pdev, beeper); in pwm_beeper_probe()
154 input_free_device(beeper->input); in pwm_beeper_probe()
156 pwm_free(beeper->pwm); in pwm_beeper_probe()
158 kfree(beeper); in pwm_beeper_probe()
165 struct pwm_beeper *beeper = platform_get_drvdata(pdev); in pwm_beeper_remove() local
167 input_unregister_device(beeper->input); in pwm_beeper_remove()
169 pwm_free(beeper->pwm); in pwm_beeper_remove()
171 kfree(beeper); in pwm_beeper_remove()
178 struct pwm_beeper *beeper = dev_get_drvdata(dev); in pwm_beeper_suspend() local
180 pwm_beeper_stop(beeper); in pwm_beeper_suspend()
187 struct pwm_beeper *beeper = dev_get_drvdata(dev); in pwm_beeper_resume() local
189 if (beeper->period) in pwm_beeper_resume()
190 __pwm_beeper_set(beeper); in pwm_beeper_resume()