card_data
struct kvaser_usb_dev_card_data card_data;
(priv->dev->card_data.capabilities & KVASER_USB_CAP_BERR_CAP))
priv->can.ctrlmode_supported |= dev->card_data.ctrlmode_supported;
dev->card_data.ctrlmode_supported = 0;
dev->card_data.capabilities = 0;
dev->card_data.hydra.channel_to_he[priv->channel]);
(cmd, dev->card_data.hydra.channel_to_he[priv->channel]);
(cmd, dev->card_data.hydra.channel_to_he[priv->channel]);
(cmd, dev->card_data.hydra.channel_to_he[priv->channel]);
(cmd, dev->card_data.hydra.channel_to_he[priv->channel]);
struct kvaser_usb_dev_card_data_hydra *card_data =
&dev->card_data.hydra;
card_data->transid = KVASER_USB_HYDRA_MIN_TRANSID;
spin_lock_init(&card_data->transid_lock);
memset(card_data->usb_rx_leftover, 0, KVASER_USB_HYDRA_MAX_CMD_LEN);
card_data->usb_rx_leftover_len = 0;
spin_lock_init(&card_data->usb_rx_leftover_lock);
memset(card_data->channel_to_he, KVASER_USB_HYDRA_HE_ADDRESS_ILLEGAL,
sizeof(card_data->channel_to_he));
card_data->sysdbg_he = 0;
struct kvaser_usb_dev_card_data *card_data = &dev->card_data;
card_data->capabilities |= KVASER_USB_CAP_EXT_CAP;
card_data->capabilities |= KVASER_USB_HYDRA_CAP_EXT_CMD;
card_data->ctrlmode_supported |= CAN_CTRLMODE_FD;
card_data->ctrlmode_supported |= CAN_CTRLMODE_FD_NON_ISO;
if (!(dev->card_data.capabilities & KVASER_USB_CAP_EXT_CAP)) {
kvaser_usb_hydra_set_cmd_dest_he(cmd, dev->card_data.hydra.sysdbg_he);
(cmd, dev->card_data.hydra.channel_to_he[priv->channel]);
struct kvaser_usb_dev_card_data_hydra *card_data =
&dev->card_data.hydra;
spinlock_t *usb_rx_leftover_lock = &card_data->usb_rx_leftover_lock;
usb_rx_leftover_len = card_data->usb_rx_leftover_len;
cmd = (struct kvaser_cmd *)card_data->usb_rx_leftover;
memcpy(card_data->usb_rx_leftover + usb_rx_leftover_len, buf,
card_data->usb_rx_leftover_len = usb_rx_leftover_len;
memcpy(card_data->usb_rx_leftover, buf + pos,
card_data->usb_rx_leftover_len = leftover_bytes;
if (priv->dev->card_data.capabilities & KVASER_USB_HYDRA_CAP_EXT_CMD)
if (dev->card_data.hydra.channel_to_he[i] == src_he) {
struct kvaser_usb_dev_card_data_hydra *card_data =
&dev->card_data.hydra;
spin_lock_irqsave(&card_data->transid_lock, flags);
transid = card_data->transid;
card_data->transid = transid;
spin_unlock_irqrestore(&card_data->transid_lock, flags);
(cmd, dev->card_data.hydra.channel_to_he[channel]);
(cmd, dev->card_data.hydra.channel_to_he[priv->channel]);
struct kvaser_usb_dev_card_data_hydra *card_data =
&dev->card_data.hydra;
card_data->channel_to_he[channel] = he;
card_data->sysdbg_he = cmd->map_ch_res.he_addr;
struct kvaser_usb_dev_card_data *card_data = &dev->card_data;
kvaser_usb_hydra_set_cmd_dest_he(cmd, card_data->hydra.sysdbg_he);
card_data->ctrlmode_supported |=
card_data->capabilities |=
card_data->ctrlmode_supported |=
dev->card_data.usbcan_timestamp_msb =
struct kvaser_usb_dev_card_data *card_data = &dev->card_data;
card_data->ctrlmode_supported |= CAN_CTRLMODE_3_SAMPLES;
dev->card_data.usbcan_timestamp_msb;
dev->card_data.capabilities |= KVASER_USB_CAP_EXT_CAP;
struct kvaser_usb_dev_card_data *card_data = &dev->card_data;
card_data->ctrlmode_supported |=
card_data->capabilities |=
if (!(dev->card_data.capabilities & KVASER_USB_CAP_EXT_CAP)) {
struct mtk_platform_card_data *card_data;
const struct mtk_pcm_constraints_data *mpc = &soc_card->card_data->pcm_constraints[ctype];
card = pdata->card_data->card;
soc_card_data->card_data = pdata->card_data;
jacks = devm_kcalloc(card->dev, soc_card_data->card_data->num_jacks,
soc_card_data->card_data->jacks = jacks;
struct mtk_platform_card_data *card_data;
int (*soc_probe)(struct mtk_soc_card_data *card_data, bool legacy);
struct mtk_platform_card_data *card_data = soc_card_data->card_data;
struct snd_soc_card *card = card_data->card;
struct mtk_platform_card_data *card_data = soc_card_data->card_data;
struct snd_soc_card *card = card_data->card;
if (card_data->flags & DA7219_CODEC_PRESENT) {
if (card_data->flags & DA7219_CODEC_PRESENT)
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8186_JACK_HEADSET];
if (soc_card_data->card_data->flags & DA7219_CODEC_PRESENT)
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8186_JACK_HDMI];
if (soc_card_data->card_data->flags & DA7219_CODEC_PRESENT)
if (soc_card_data->card_data->flags & DA7219_CODEC_PRESENT)
struct mtk_platform_card_data *card_data = soc_card_data->card_data;
if (card_data->flags & (NAU8825_HS_PRESENT | RT5682S_HS_PRESENT | ES8326_HS_PRESENT)) {
struct mtk_platform_card_data *card_data = soc_card_data->card_data;
struct snd_soc_card *card = soc_card_data->card_data->card;
if (!(card_data->flags & MAX98390_TWO_AMP)) {
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8188_JACK_HEADSET];
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8188_JACK_HDMI];
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8188_JACK_DP];
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8188_JACK_HEADSET];
struct mtk_platform_card_data *card_data = soc_card_data->card_data;
if (card_data->flags & ES8326_HS_PRESENT) {
struct snd_soc_card *card = soc_card_data->card_data->card;
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8189_JACK_DP];
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8189_JACK_HDMI];
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8189_JACK_HEADSET];
struct mtk_platform_card_data *card_data = soc_card_data->card_data;
if (card_data->flags & ES8326_HS_PRESENT) {
struct mtk_platform_card_data *card_data = soc_card_data->card_data;
struct snd_soc_card *card = card_data->card;
struct mtk_platform_card_data *card_data = soc_card_data->card_data;
struct snd_soc_card *card = card_data->card;
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8192_JACK_HEADSET];
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8192_JACK_HDMI];
struct mtk_platform_card_data *card_data = soc_card_data->card_data;
struct snd_soc_card *card = card_data->card;
switch (card_data->flags) {
struct mtk_platform_card_data *card_data = soc_card_data->card_data;
struct snd_soc_card *card = card_data->card;
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
.card_data = &(struct mtk_platform_card_data) {
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8195_JACK_DP];
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8195_JACK_HDMI];
struct snd_soc_jack *jack = &soc_card_data->card_data->jacks[MT8195_JACK_HEADSET];
struct mtk_platform_card_data *card_data = soc_card_data->card_data;
struct snd_soc_card *card = card_data->card;
.card_data = &(struct mtk_platform_card_data) {
err = snd_ctl_card_info(card_data->handle, card_data->info);
card_data->card_name = snd_ctl_card_info_get_id(card_data->info);
if (!card_data->card_name)
if (!card_data->card_name)
card_data->card_name = "Unknown";
card_data->card_name, card_name, card_longname);
snd_ctl_elem_list_malloc(&card_data->ctls);
snd_ctl_elem_list(card_data->handle, card_data->ctls);
card_data->num_ctls = snd_ctl_elem_list_get_count(card_data->ctls);
snd_ctl_elem_list_alloc_space(card_data->ctls, card_data->num_ctls);
snd_ctl_elem_list(card_data->handle, card_data->ctls);
card_data->card = num_cards++;
card_data->next = card_list;
card_list = card_data;
num_controls += card_data->num_ctls;
for (ctl = 0; ctl < card_data->num_ctls; ctl++) {
ctl_data->card = card_data;
ctl_data->name = snd_ctl_elem_list_get_name(card_data->ctls,
snd_ctl_elem_list_get_id(card_data->ctls, ctl,
err = snd_ctl_elem_info(card_data->handle,
err = snd_ctl_subscribe_events(card_data->handle, true);
err = snd_ctl_poll_descriptors_count(card_data->handle);
err = snd_ctl_poll_descriptors(card_data->handle,
&card_data->pollfd, 1);
struct card_data *next;
struct card_data *card;
struct card_data *card_list;
struct card_data *card_data;
card_data = malloc(sizeof(*card_data));
if (!card_data)
err = snd_ctl_open_lconf(&card_data->handle, name, 0, config);
err = snd_ctl_card_info_malloc(&card_data->info);
struct card_data *card_data;
card_data = calloc(1, sizeof(*card_data));
if (!card_data)
err = snd_ctl_card_info_malloc(&card_data->info);
err = snd_ctl_card_info(handle, card_data->info);
card_data->name = snd_ctl_card_info_get_id(card_data->info);
if (!card_data->name)
if (!card_data->name)
card_data->name = "Unknown";
card_data->name, card_name, card_longname);
card_data->card = card;
card_data->next = card_list;
card_list = card_data;
ksft_print_msg("%s.0 - %s\n", card_data->name,
pcm_data->card_name = card_data->name;
struct card_data *next;
struct card_data *card_list;
struct card_data *card = data;
struct card_data *card;