[ALSA] oxygen: move model-specific data out of common header
Instead of having model-specific fields in the common struct oxygen, put
them into a private structure that is allocated together with the card
structure.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
diff --git a/sound/pci/oxygen/oxygen_lib.c b/sound/pci/oxygen/oxygen_lib.c
index aceb1f9..0927e04 100644
--- a/sound/pci/oxygen/oxygen_lib.c
+++ b/sound/pci/oxygen/oxygen_lib.c
@@ -320,7 +320,8 @@
struct oxygen *chip;
int err;
- card = snd_card_new(index, id, model->owner, sizeof *chip);
+ card = snd_card_new(index, id, model->owner,
+ sizeof *chip + model->model_data_size);
if (!card)
return -ENOMEM;
@@ -329,6 +330,7 @@
chip->pci = pci;
chip->irq = -1;
chip->model = model;
+ chip->model_data = chip + 1;
spin_lock_init(&chip->reg_lock);
mutex_init(&chip->mutex);
INIT_WORK(&chip->spdif_input_bits_work,