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 <tiwai@suse.de>
This commit is contained in:
Takashi Iwai
2015-10-01 17:59:43 +02:00
parent 3e19fec33a
commit ded255be22
7 changed files with 54 additions and 39 deletions

View File

@@ -163,6 +163,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