From ded255be2276d365a91af2de7c7f8e2c233d4fa2 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Thu, 1 Oct 2015 17:59:43 +0200 Subject: ALSA: hda - consolidate chip rename functions A few multiple codec drivers do renaming the chip_name string but all these are open-coded and some of them have even no error check. Let's make common helpers to do it properly. Signed-off-by: Takashi Iwai --- sound/hda/hdac_device.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'sound/hda') diff --git a/sound/hda/hdac_device.c b/sound/hda/hdac_device.c index b3b0ad2..4b06b26 100644 --- a/sound/hda/hdac_device.c +++ b/sound/hda/hdac_device.c @@ -164,6 +164,28 @@ void snd_hdac_device_unregister(struct hdac_device *codec) EXPORT_SYMBOL_GPL(snd_hdac_device_unregister); /** + * snd_hdac_device_set_chip_name - set/update the codec name + * @codec: the HDAC device + * @name: name string to set + * + * Returns 0 if the name is set or updated, or a negative error code. + */ +int snd_hdac_device_set_chip_name(struct hdac_device *codec, const char *name) +{ + char *newname; + + if (!name) + return 0; + newname = kstrdup(name, GFP_KERNEL); + if (!newname) + return -ENOMEM; + kfree(codec->chip_name); + codec->chip_name = newname; + return 0; +} +EXPORT_SYMBOL_GPL(snd_hdac_device_set_chip_name); + +/** * snd_hdac_make_cmd - compose a 32bit command word to be sent to the * HD-audio controller * @codec: the codec object -- cgit v1.1