hw->card_list[vxp->index] = NULL;
chip->card = NULL;
- snd_magic_kfree(chip);
+ kfree(chip);
return 0;
}
static int snd_vxpocket_dev_free(snd_device_t *device)
{
- vx_core_t *chip = snd_magic_cast(vx_core_t, device->device_data, return -ENXIO);
+ vx_core_t *chip = device->device_data;
return snd_vxpocket_free(chip);
}
return NULL;
if (snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops) < 0) {
- snd_magic_kfree(chip);
+ kfree(chip);
snd_card_free(card);
return NULL;
}
*/
void snd_vxpocket_detach(struct snd_vxp_entry *hw, dev_link_t *link)
{
- vx_core_t *chip = snd_magic_cast(vx_core_t, link->priv, return);
+ vx_core_t *chip = link->priv;
snd_printdd(KERN_DEBUG "vxpocket_detach called\n");
/* Remove the interface data from the linked list */
static void vxpocket_config(dev_link_t *link)
{
client_handle_t handle = link->handle;
- vx_core_t *chip = snd_magic_cast(vx_core_t, link->priv, return);
+ vx_core_t *chip = link->priv;
struct snd_vxpocket *vxp = (struct snd_vxpocket *)chip;
tuple_t tuple;
cisparse_t parse;