summaryrefslogtreecommitdiffstats
path: root/drivers/sound/pwm-beeper.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/sound/pwm-beeper.c')
-rw-r--r--drivers/sound/pwm-beeper.c38
1 files changed, 15 insertions, 23 deletions
diff --git a/drivers/sound/pwm-beeper.c b/drivers/sound/pwm-beeper.c
index ef053f97cf..94b27359c1 100644
--- a/drivers/sound/pwm-beeper.c
+++ b/drivers/sound/pwm-beeper.c
@@ -31,8 +31,8 @@ static int pwm_beeper_beep(struct sound_card *card, unsigned freq, unsigned dura
pwm_get_state(beeper->pwm, &state);
- state.p_enable = true;
- state.period_ns = HZ_TO_NANOSECONDS(freq);
+ state.enabled = true;
+ state.period = HZ_TO_NANOSECONDS(freq);
pwm_set_relative_duty_cycle(&state, 50, 100);
error = pwm_apply_state(beeper->pwm, &state);
@@ -49,7 +49,7 @@ pwm_disable:
return error;
}
-static int pwm_beeper_probe(struct device_d *dev)
+static int pwm_beeper_probe(struct device *dev)
{
struct pwm_beeper *beeper;
struct sound_card *card;
@@ -60,18 +60,13 @@ static int pwm_beeper_probe(struct device_d *dev)
beeper = xzalloc(sizeof(*beeper));
dev->priv = beeper;
- beeper->pwm = of_pwm_request(dev->device_node, NULL);
- if (IS_ERR(beeper->pwm)) {
- error = PTR_ERR(beeper->pwm);
- if (error != -EPROBE_DEFER)
- dev_err(dev, "Failed to request PWM device: %d\n",
- error);
- return error;
- }
+ beeper->pwm = of_pwm_request(dev->of_node, NULL);
+ if (IS_ERR(beeper->pwm))
+ return dev_errp_probe(dev, beeper->pwm, "requesting PWM device\n");
/* Sync up PWM state and ensure it is off. */
pwm_init_state(beeper->pwm, &state);
- state.p_enable = false;
+ state.enabled = false;
error = pwm_apply_state(beeper->pwm, &state);
if (error) {
dev_err(dev, "failed to apply initial PWM state: %d\n",
@@ -80,15 +75,11 @@ static int pwm_beeper_probe(struct device_d *dev)
}
beeper->amplifier = regulator_get(dev, "amp");
- if (IS_ERR(beeper->amplifier)) {
- error = PTR_ERR(beeper->amplifier);
- if (error != -EPROBE_DEFER)
- dev_err(dev, "Failed to get 'amp' regulator: %d\n",
- error);
- return error;
- }
+ if (IS_ERR(beeper->amplifier))
+ return dev_errp_probe(dev, beeper->amplifier, "getting 'amp' regulator\n");
- error = of_property_read_u32(dev->device_node, "beeper-hz", &bell_frequency);
+ error = of_property_read_u32(dev->of_node, "beeper-hz",
+ &bell_frequency);
if (error) {
bell_frequency = 1000;
dev_dbg(dev, "failed to parse 'beeper-hz' property, using default: %uHz\n",
@@ -96,14 +87,14 @@ static int pwm_beeper_probe(struct device_d *dev)
}
card = &beeper->card;
- card->name = dev->device_node->full_name;
+ card->name = dev->of_node->full_name;
card->bell_frequency = bell_frequency;
card->beep = pwm_beeper_beep;
return sound_card_register(card);
}
-static void pwm_beeper_suspend(struct device_d *dev)
+static void pwm_beeper_suspend(struct device *dev)
{
struct pwm_beeper *beeper = dev->priv;
@@ -114,8 +105,9 @@ static const struct of_device_id pwm_beeper_match[] = {
{ .compatible = "pwm-beeper", },
{ },
};
+MODULE_DEVICE_TABLE(of, pwm_beeper_match);
-static struct driver_d pwm_beeper_driver = {
+static struct driver pwm_beeper_driver = {
.name = "pwm-beeper",
.probe = pwm_beeper_probe,
.remove = pwm_beeper_suspend,