When everything is ready, finally we can create a new
control. To create a control, there are two functions to be
called, snd_ctl_new1() and
snd_ctl_add().
In the simplest way, you can do like this:
err = snd_ctl_add(card, snd_ctl_new1(&my_control, chip));
if (err < 0)
return err;
where my_control is the
struct snd_kcontrol_new object defined above, and chip
is the object pointer to be passed to
kcontrol->private_data
which can be referred to in callbacks.
snd_ctl_new1() allocates a new
snd_kcontrol instance,
and snd_ctl_add assigns the given
control component to the card.