diff options
author | Takashi Iwai <tiwai@suse.de> | 2014-06-26 17:24:45 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-06-26 18:00:01 +0200 |
commit | 703c759f38cce7950ab460552236ca1d15adb916 (patch) | |
tree | b451c198836b0a7daff82d2e564017d17e3cd32c /sound/pci/hda/hda_tegra.c | |
parent | ALSA: hda - Move more PCI-controller-specific stuff from generic code (diff) | |
download | linux-703c759f38cce7950ab460552236ca1d15adb916.tar.xz linux-703c759f38cce7950ab460552236ca1d15adb916.zip |
ALSA: hda - Use common reboot notifier
The very same notifier code is used in both hda_intel.c and
hda_tegra.c. Move it to the generic code.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_tegra.c')
-rw-r--r-- | sound/pci/hda/hda_tegra.c | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/sound/pci/hda/hda_tegra.c b/sound/pci/hda/hda_tegra.c index 12920b99d238..cf69dafa91c0 100644 --- a/sound/pci/hda/hda_tegra.c +++ b/sound/pci/hda/hda_tegra.c @@ -29,7 +29,6 @@ #include <linux/moduleparam.h> #include <linux/mutex.h> #include <linux/of_device.h> -#include <linux/reboot.h> #include <linux/slab.h> #include <linux/time.h> @@ -295,30 +294,6 @@ static const struct dev_pm_ops hda_tegra_pm = { }; /* - * reboot notifier for hang-up problem at power-down - */ -static int hda_tegra_halt(struct notifier_block *nb, unsigned long event, - void *buf) -{ - struct azx *chip = container_of(nb, struct azx, reboot_notifier); - snd_hda_bus_reboot_notify(chip->bus); - azx_stop_chip(chip); - return NOTIFY_OK; -} - -static void hda_tegra_notifier_register(struct azx *chip) -{ - chip->reboot_notifier.notifier_call = hda_tegra_halt; - register_reboot_notifier(&chip->reboot_notifier); -} - -static void hda_tegra_notifier_unregister(struct azx *chip) -{ - if (chip->reboot_notifier.notifier_call) - unregister_reboot_notifier(&chip->reboot_notifier); -} - -/* * destructor */ static int hda_tegra_dev_free(struct snd_device *device) @@ -326,7 +301,7 @@ static int hda_tegra_dev_free(struct snd_device *device) int i; struct azx *chip = device->device_data; - hda_tegra_notifier_unregister(chip); + azx_notifier_unregister(chip); if (chip->initialized) { for (i = 0; i < chip->num_streams; i++) @@ -557,7 +532,7 @@ static int hda_tegra_probe(struct platform_device *pdev) chip->running = 1; power_down_all_codecs(chip); - hda_tegra_notifier_register(chip); + azx_notifier_register(chip); return 0; |