Registration and Release

After all components are assigned, register the card instance by calling snd_card_register(). Access to the device files is enabled at this point. That is, before snd_card_register() is called, the components are safely inaccessible from external side. If this call fails, exit the probe function after releasing the card via snd_card_free().

For releasing the card instance, you can call simply snd_card_free(). As mentioned earlier, all components are released automatically by this call.

For a device which allows hotplugging, you can use snd_card_free_when_closed. This one will postpone the destruction until all devices are closed.