forked from luck/tmp_suning_uos_patched
ALSA: oxfw: use managed-resource to maintain model-specific data
ALSA oxfw driver allocates memory objects for data specific to some models. These objects are used to maintain functionalities specific to the models for ALSA rawMIDI/control interfaces. They can be released as managed-resource of 'struct snd_card.card_dev'. This commit uses managed-resource of the sound card device for this purpose. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
784fffbcfe
commit
72bc8c4378
|
@ -372,8 +372,9 @@ int snd_oxfw_scs1x_add(struct snd_oxfw *oxfw)
|
|||
struct fw_scs1x *scs;
|
||||
int err;
|
||||
|
||||
scs = kzalloc(sizeof(struct fw_scs1x), GFP_KERNEL);
|
||||
if (scs == NULL)
|
||||
scs = devm_kzalloc(&oxfw->card->card_dev, sizeof(struct fw_scs1x),
|
||||
GFP_KERNEL);
|
||||
if (!scs)
|
||||
return -ENOMEM;
|
||||
scs->fw_dev = fw_parent_device(oxfw->unit);
|
||||
oxfw->spec = scs;
|
||||
|
|
|
@ -270,8 +270,9 @@ int snd_oxfw_add_spkr(struct snd_oxfw *oxfw, bool is_lacie)
|
|||
unsigned int i, first_ch;
|
||||
int err;
|
||||
|
||||
spkr = kzalloc(sizeof(struct fw_spkr), GFP_KERNEL);
|
||||
if (spkr == NULL)
|
||||
spkr = devm_kzalloc(&oxfw->card->card_dev, sizeof(struct fw_spkr),
|
||||
GFP_KERNEL);
|
||||
if (!spkr)
|
||||
return -ENOMEM;
|
||||
oxfw->spec = spkr;
|
||||
|
||||
|
|
|
@ -126,7 +126,6 @@ static void oxfw_free(struct snd_oxfw *oxfw)
|
|||
kfree(oxfw->rx_stream_formats[i]);
|
||||
}
|
||||
|
||||
kfree(oxfw->spec);
|
||||
mutex_destroy(&oxfw->mutex);
|
||||
fw_unit_put(oxfw->unit);
|
||||
}
|
||||
|
@ -276,8 +275,6 @@ static void do_registration(struct work_struct *work)
|
|||
oxfw->rx_stream_formats[i] = NULL;
|
||||
}
|
||||
snd_card_free(oxfw->card);
|
||||
kfree(oxfw->spec);
|
||||
oxfw->spec = NULL;
|
||||
dev_info(&oxfw->unit->device,
|
||||
"Sound card registration failed: %d\n", err);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user