beeper 31 drivers/input/misc/pwm-beeper.c static int pwm_beeper_on(struct pwm_beeper *beeper, unsigned long period) beeper 36 drivers/input/misc/pwm-beeper.c pwm_get_state(beeper->pwm, &state); beeper 42 drivers/input/misc/pwm-beeper.c error = pwm_apply_state(beeper->pwm, &state); beeper 46 drivers/input/misc/pwm-beeper.c if (!beeper->amplifier_on) { beeper 47 drivers/input/misc/pwm-beeper.c error = regulator_enable(beeper->amplifier); beeper 49 drivers/input/misc/pwm-beeper.c pwm_disable(beeper->pwm); beeper 53 drivers/input/misc/pwm-beeper.c beeper->amplifier_on = true; beeper 59 drivers/input/misc/pwm-beeper.c static void pwm_beeper_off(struct pwm_beeper *beeper) beeper 61 drivers/input/misc/pwm-beeper.c if (beeper->amplifier_on) { beeper 62 drivers/input/misc/pwm-beeper.c regulator_disable(beeper->amplifier); beeper 63 drivers/input/misc/pwm-beeper.c beeper->amplifier_on = false; beeper 66 drivers/input/misc/pwm-beeper.c pwm_disable(beeper->pwm); beeper 71 drivers/input/misc/pwm-beeper.c struct pwm_beeper *beeper = container_of(work, struct pwm_beeper, work); beeper 72 drivers/input/misc/pwm-beeper.c unsigned long period = READ_ONCE(beeper->period); beeper 75 drivers/input/misc/pwm-beeper.c pwm_beeper_on(beeper, period); beeper 77 drivers/input/misc/pwm-beeper.c pwm_beeper_off(beeper); beeper 83 drivers/input/misc/pwm-beeper.c struct pwm_beeper *beeper = input_get_drvdata(input); beeper 90 drivers/input/misc/pwm-beeper.c value = value ? beeper->bell_frequency : 0; beeper 99 drivers/input/misc/pwm-beeper.c beeper->period = 0; beeper 101 drivers/input/misc/pwm-beeper.c beeper->period = HZ_TO_NANOSECONDS(value); beeper 103 drivers/input/misc/pwm-beeper.c if (!beeper->suspended) beeper 104 drivers/input/misc/pwm-beeper.c schedule_work(&beeper->work); beeper 109 drivers/input/misc/pwm-beeper.c static void pwm_beeper_stop(struct pwm_beeper *beeper) beeper 111 drivers/input/misc/pwm-beeper.c cancel_work_sync(&beeper->work); beeper 112 drivers/input/misc/pwm-beeper.c pwm_beeper_off(beeper); beeper 117 drivers/input/misc/pwm-beeper.c struct pwm_beeper *beeper = input_get_drvdata(input); beeper 119 drivers/input/misc/pwm-beeper.c pwm_beeper_stop(beeper); beeper 125 drivers/input/misc/pwm-beeper.c struct pwm_beeper *beeper; beeper 130 drivers/input/misc/pwm-beeper.c beeper = devm_kzalloc(dev, sizeof(*beeper), GFP_KERNEL); beeper 131 drivers/input/misc/pwm-beeper.c if (!beeper) beeper 134 drivers/input/misc/pwm-beeper.c beeper->pwm = devm_pwm_get(dev, NULL); beeper 135 drivers/input/misc/pwm-beeper.c if (IS_ERR(beeper->pwm)) { beeper 136 drivers/input/misc/pwm-beeper.c error = PTR_ERR(beeper->pwm); beeper 144 drivers/input/misc/pwm-beeper.c pwm_init_state(beeper->pwm, &state); beeper 146 drivers/input/misc/pwm-beeper.c error = pwm_apply_state(beeper->pwm, &state); beeper 153 drivers/input/misc/pwm-beeper.c beeper->amplifier = devm_regulator_get(dev, "amp"); beeper 154 drivers/input/misc/pwm-beeper.c if (IS_ERR(beeper->amplifier)) { beeper 155 drivers/input/misc/pwm-beeper.c error = PTR_ERR(beeper->amplifier); beeper 162 drivers/input/misc/pwm-beeper.c INIT_WORK(&beeper->work, pwm_beeper_work); beeper 172 drivers/input/misc/pwm-beeper.c beeper->bell_frequency = bell_frequency; beeper 174 drivers/input/misc/pwm-beeper.c beeper->input = devm_input_allocate_device(dev); beeper 175 drivers/input/misc/pwm-beeper.c if (!beeper->input) { beeper 180 drivers/input/misc/pwm-beeper.c beeper->input->name = "pwm-beeper"; beeper 181 drivers/input/misc/pwm-beeper.c beeper->input->phys = "pwm/input0"; beeper 182 drivers/input/misc/pwm-beeper.c beeper->input->id.bustype = BUS_HOST; beeper 183 drivers/input/misc/pwm-beeper.c beeper->input->id.vendor = 0x001f; beeper 184 drivers/input/misc/pwm-beeper.c beeper->input->id.product = 0x0001; beeper 185 drivers/input/misc/pwm-beeper.c beeper->input->id.version = 0x0100; beeper 187 drivers/input/misc/pwm-beeper.c input_set_capability(beeper->input, EV_SND, SND_TONE); beeper 188 drivers/input/misc/pwm-beeper.c input_set_capability(beeper->input, EV_SND, SND_BELL); beeper 190 drivers/input/misc/pwm-beeper.c beeper->input->event = pwm_beeper_event; beeper 191 drivers/input/misc/pwm-beeper.c beeper->input->close = pwm_beeper_close; beeper 193 drivers/input/misc/pwm-beeper.c input_set_drvdata(beeper->input, beeper); beeper 195 drivers/input/misc/pwm-beeper.c error = input_register_device(beeper->input); beeper 201 drivers/input/misc/pwm-beeper.c platform_set_drvdata(pdev, beeper); beeper 208 drivers/input/misc/pwm-beeper.c struct pwm_beeper *beeper = dev_get_drvdata(dev); beeper 215 drivers/input/misc/pwm-beeper.c spin_lock_irq(&beeper->input->event_lock); beeper 216 drivers/input/misc/pwm-beeper.c beeper->suspended = true; beeper 217 drivers/input/misc/pwm-beeper.c spin_unlock_irq(&beeper->input->event_lock); beeper 219 drivers/input/misc/pwm-beeper.c pwm_beeper_stop(beeper); beeper 226 drivers/input/misc/pwm-beeper.c struct pwm_beeper *beeper = dev_get_drvdata(dev); beeper 228 drivers/input/misc/pwm-beeper.c spin_lock_irq(&beeper->input->event_lock); beeper 229 drivers/input/misc/pwm-beeper.c beeper->suspended = false; beeper 230 drivers/input/misc/pwm-beeper.c spin_unlock_irq(&beeper->input->event_lock); beeper 233 drivers/input/misc/pwm-beeper.c schedule_work(&beeper->work);