/* * u_uac1.h -- interface to USB gadget "ALSA AUDIO" utilities * * Copyright (C) 2008 Bryan Wu * Copyright (C) 2008 Analog Devices, Inc * * Enter bugs at http://blackfin.uclinux.org/ * * Licensed under the GPL-2 or later. */ #ifndef __U_AUDIO_H #define __U_AUDIO_H #include #include #include #include #include #include #include #define FILE_PCM_PLAYBACK "/dev/snd/pcmC0D0p" #define FILE_PCM_CAPTURE "/dev/snd/pcmC0D0c" #define FILE_CONTROL "/dev/snd/controlC0" #define UAC1_OUT_EP_MAX_PACKET_SIZE 200 #define UAC1_REQ_COUNT 256 #define UAC1_AUDIO_BUF_SIZE 48000 /* * This represents the USB side of an audio card device, managed by a USB * function which provides control and stream interfaces. */ struct gaudio_snd_dev { struct gaudio *card; struct file *filp; struct snd_pcm_substream *substream; int access; int format; int channels; int rate; }; struct gaudio { struct usb_function func; struct usb_gadget *gadget; /* ALSA sound device interfaces */ struct gaudio_snd_dev control; struct gaudio_snd_dev playback; struct gaudio_snd_dev capture; /* TODO */ }; struct f_uac1_opts { struct usb_function_instance func_inst; int req_buf_size; int req_count; int audio_buf_size; char *fn_play; char *fn_cap; char *fn_cntl; unsigned bound:1; unsigned fn_play_alloc:1; unsigned fn_cap_alloc:1; unsigned fn_cntl_alloc:1; struct mutex lock; int refcnt; }; int gaudio_setup(struct gaudio *card); void gaudio_cleanup(struct gaudio *the_card); size_t u_audio_playback(struct gaudio *card, void *buf, size_t count); int u_audio_get_playback_channels(struct gaudio *card); int u_audio_get_playback_rate(struct gaudio *card); #endif /* __U_AUDIO_H */ next.git/commit/tools/build/fixdep.c?id=79c6f448c8b79c321e4a1f31f98194e4f6b6cae7'>commitdiff
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2017-01-30 19:27:10 -0500
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2017-01-31 09:13:49 -0500
commit79c6f448c8b79c321e4a1f31f98194e4f6b6cae7 (patch)
tree370efda701f03cccf21e02bb1fdd3b852547d75c /tools/build/fixdep.c
parent0c744ea4f77d72b3dcebb7a8f2684633ec79be88 (diff)
tracing: Fix hwlat kthread migration
The hwlat tracer creates a kernel thread at start of the tracer. It is pinned to a single CPU and will move to the next CPU after each period of running. If the user modifies the migration thread's affinity, it will not change after that happens. The original code created the thread at the first instance it was called, but later was changed to destroy the thread after the tracer was finished, and would not be created until the next instance of the tracer was established. The code that initialized the affinity was only called on the initial instantiation of the tracer. After that, it was not initialized, and the previous affinity did not match the current newly created one, making it appear that the user modified the thread's affinity when it did not, and the thread failed to migrate again. Cc: stable@vger.kernel.org Fixes: 0330f7aa8ee6 ("tracing: Have hwlat trace migrate across tracing_cpumask CPUs") Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'tools/build/fixdep.c')