Commit aa21c3d4 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'for-next' into for-linus

parents 476c02e0 652bb5d8
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -2234,6 +2234,19 @@ use_vmalloc
    buffers.  If mmap is used on such architectures, turn off this
    option, so that the DMA-coherent buffers are allocated and used
    instead.
delayed_register
    The option is needed for devices that have multiple streams
    defined in multiple USB interfaces.  The driver may invoke
    registrations multiple times (once per interface) and this may
    lead to the insufficient device enumeration.
    This option receives an array of strings, and you can pass
    ID:INTERFACE like ``0123abcd:4`` for performing the delayed
    registration to the given device.  In this example, when a USB
    device 0123:abcd is probed, the driver waits the registration
    until the USB interface 4 gets probed.
    The driver prints a message like "Found post-registration device
    assignment: 1234abcd:04" for such a device, so that user can
    notice the need.

This module supports multiple devices, autoprobe and hotplugging.

+12 −0
Original line number Diff line number Diff line
@@ -156,6 +156,18 @@ struct uac2_feature_unit_descriptor {
	__u8 bmaControls[0]; /* variable length */
} __attribute__((packed));

/* 4.7.2.10 Effect Unit Descriptor */

struct uac2_effect_unit_descriptor {
	__u8 bLength;
	__u8 bDescriptorType;
	__u8 bDescriptorSubtype;
	__u8 bUnitID;
	__le16 wEffectType;
	__u8 bSourceID;
	__u8 bmaControls[]; /* variable length */
} __attribute__((packed));

/* 4.9.2 Class-Specific AS Interface Descriptor */

struct uac2_as_header_descriptor {
+1 −0
Original line number Diff line number Diff line
@@ -266,6 +266,7 @@ void snd_device_disconnect(struct snd_card *card, void *device_data);
void snd_device_disconnect_all(struct snd_card *card);
void snd_device_free(struct snd_card *card, void *device_data);
void snd_device_free_all(struct snd_card *card);
int snd_device_get_state(struct snd_card *card, void *device_data);

/* isadma.c */

+9 −0
Original line number Diff line number Diff line
@@ -1415,6 +1415,15 @@ static inline u64 pcm_format_to_bits(snd_pcm_format_t pcm_format)
	return 1ULL << (__force int) pcm_format;
}

/**
 * pcm_for_each_format - helper to iterate for each format type
 * @f: the iterator variable in snd_pcm_format_t type
 */
#define pcm_for_each_format(f)						\
	for ((f) = SNDRV_PCM_FORMAT_FIRST;				\
	     (__force int)(f) <= (__force int)SNDRV_PCM_FORMAT_LAST;	\
	     (f) = (__force snd_pcm_format_t)((__force int)(f) + 1))

/* printk helpers */
#define pcm_err(pcm, fmt, args...) \
	dev_err((pcm)->card->dev, fmt, ##args)
+7 −0
Original line number Diff line number Diff line
@@ -133,6 +133,13 @@ static inline int snd_mask_test(const struct snd_mask *mask, unsigned int val)
	return mask->bits[MASK_OFS(val)] & MASK_BIT(val);
}

/* Most of drivers need only this one */
static inline int snd_mask_test_format(const struct snd_mask *mask,
				       snd_pcm_format_t format)
{
	return snd_mask_test(mask, (__force unsigned int)format);
}

static inline int snd_mask_single(const struct snd_mask *mask)
{
	int i, c = 0;
Loading