diff options
Diffstat (limited to 'drivers/sound/pwm-beeper.c')
-rw-r--r-- | drivers/sound/pwm-beeper.c | 38 |
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, |