int snd_ump_receive_ump_val(struct snd_ump_endpoint *ump, u32 val);
int snd_ump_switch_protocol(struct snd_ump_endpoint *ump, unsigned int protocol);
+void snd_ump_update_group_attrs(struct snd_ump_endpoint *ump);
/*
* Some definitions for UMP
}
/* update dir_bits and active flag for all groups in the client */
-static void update_group_attrs(struct snd_ump_endpoint *ump)
+void snd_ump_update_group_attrs(struct snd_ump_endpoint *ump)
{
struct snd_ump_block *fb;
struct snd_ump_group *group;
}
}
}
+EXPORT_SYMBOL_GPL(snd_ump_update_group_attrs);
/*
* UMP endpoint and function block handling
if (fb) {
fill_fb_info(ump, &fb->info, buf);
if (ump->parsed) {
- update_group_attrs(ump);
+ snd_ump_update_group_attrs(ump);
seq_notify_fb_change(ump, fb);
}
}
buf->raw, 3);
/* notify the FB name update to sequencer, too */
if (ret > 0 && ump->parsed) {
- update_group_attrs(ump);
+ snd_ump_update_group_attrs(ump);
seq_notify_fb_change(ump, fb);
}
return ret;
}
/* initialize group attributions */
- update_group_attrs(ump);
+ snd_ump_update_group_attrs(ump);
error:
ump->parsed = true;
}
}
+ snd_ump_update_group_attrs(rmidi->ump);
+
usb_audio_dbg(umidi->chip,
"Created a UMP block %d from GTB, name=%s, flags=0x%x\n",
blk, fb->info.name, fb->info.flags);