01 Nov, 2011

1 commit


26 May, 2011

1 commit


04 Apr, 2011

1 commit


26 Mar, 2011

1 commit

  • This patch fixes a race between snd_card_file_remove() and
    snd_card_disconnect(). When the card is added to shutdown_files list
    in snd_card_disconnect(), but it's freed in snd_card_file_remove() at
    the same time, the shutdown_files list gets corrupted. The list member
    must be freed in snd_card_file_remove() as well.

    Reported-and-tested-by: Russ Dill
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

02 Nov, 2010

1 commit

  • "gadget", "through", "command", "maintain", "maintain", "controller", "address",
    "between", "initiali[zs]e", "instead", "function", "select", "already",
    "equal", "access", "management", "hierarchy", "registration", "interest",
    "relative", "memory", "offset", "already",

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Jiri Kosina

    Uwe Kleine-König
     

25 Oct, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (365 commits)
    ALSA: hda - Disable sticky PCM stream assignment for AD codecs
    ALSA: usb - Creative USB X-Fi volume knob support
    ALSA: ca0106: Use card specific dac id for mute controls.
    ALSA: ca0106: Allow different sound cards to use different SPI channel mappings.
    ALSA: ca0106: Create a nice spot for mapping channels to dacs.
    ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence.
    ALSA: ca0106: Pull out dac powering routine into separate function.
    ALSA: ca0106 - add Sound Blaster 5.1vx info.
    ASoC: tlv320dac33: Use usleep_range for delays
    ALSA: usb-audio: add Novation Launchpad support
    ALSA: hda - Add workarounds for CT-IBG controllers
    ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs
    ASoC: tpa6130a2: Error handling for broken chip
    ASoC: max98088: Staticise m98088_eq_band
    ASoC: soc-core: Fix codec->name memory leak
    ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066
    ALSA: hda - Add some workarounds for Creative IBG
    ALSA: hda - Fix wrong SPDIF NID assignment for CA0110
    ALSA: hda - Fix codec rename rules for ALC662-compatible codecs
    ALSA: hda - Add alc_init_jacks() call to other codecs
    ...

    Linus Torvalds
     

23 Oct, 2010

1 commit

  • This patch removes the old CONFIG_SYSFS_DEPRECATED_V2 config option,
    but it keeps the logic around to handle block devices in the old manner
    as some people like to run new kernel versions on old (pre 2007/2008)
    distros.

    Signed-off-by: Kay Sievers
    Cc: Jens Axboe
    Cc: Stephen Hemminger
    Cc: "Eric W. Biederman"
    Cc: Alan Stern
    Cc: "James E.J. Bottomley"
    Cc: Andrew Morton
    Cc: Alexey Kuznetsov
    Cc: Randy Dunlap
    Cc: Tejun Heo
    Cc: "David S. Miller"
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: David Howells
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

16 Sep, 2010

1 commit


07 Sep, 2009

1 commit


04 Jun, 2009

2 commits

  • Move locking outside snd_card_set_id_internal() function and rename it
    to snd_card_set_id_no_lock() for better function description.

    User defined id is just copied to card structure at allocation time.
    The real unique id procedure is called in snd_card_register() to
    ensure real atomicity.

    Signed-off-by: Jaroslav Kysela
    Signed-off-by: Takashi Iwai

    Jaroslav Kysela
     
  • The introduction of snd_card_set_id() added a lock on the card list
    to the old choose_default_id() function when using it to implement
    the new API call. This lock is needed to allow us to walk the list
    and check to see if our new name is a duplicate. Unfortunately this
    causes a lockup when called from snd_card_register() (in cases
    where no ID is supplied for the card) since the card list is already
    locked there.

    Fix this fairly hideously by factoring out the implementation and
    using a flag to indicate if the lock should be held. A better fix
    would probably be to refactor snd_card_register() to move the
    _set_id() outside the locking region but I can't immediately see
    anything I can convince myself is safe.

    Signed-off-by: Mark Brown
    Signed-off-by: Takashi Iwai

    Mark Brown
     

02 Jun, 2009

1 commit

  • Introduce snd_card_set_id() function to allow lowlevel drivers to set
    default identification name for card slot. The function checks also
    for identification name collisions and tries to create unique name.

    Also, the snd_card_create() function is simplified, because this new
    function is used. As bonus, proper name collision checks are evaluated
    at the card create time.

    Signed-off-by: Jaroslav Kysela
    Signed-off-by: Takashi Iwai

    Jaroslav Kysela
     

24 Mar, 2009

1 commit


09 Mar, 2009

1 commit


12 Jan, 2009

1 commit

  • Introduced snd_card_create() function as a replacement of snd_card_new().
    The new function returns a negative error code so that the probe callback
    can return the proper error code, while snd_card_new() can give only NULL
    check.

    The old snd_card_new() is still provided as an inline function but with
    __deprecated attribute. It'll be removed soon later.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

19 Nov, 2008

1 commit

  • Do not ignore the return of 'device_create_file' in
    'snd_card_register' and thereby fixing the following warnings:

    sound/core/init.c: In function 'snd_card_register':
    sound/core/init.c:640: warning: ignoring return value of
    'device_create_file', declared with attribute warn_unused_result
    sound/core/init.c:641: warning: ignoring return value of
    'device_create_file', declared with attribute warn_unused_result

    Signed-off-by: Hannes Eder
    Signed-off-by: Takashi Iwai

    Hannes Eder
     

13 Nov, 2008

1 commit


12 Nov, 2008

1 commit


02 Nov, 2008

1 commit

  • As it is, all instances of ->release() for files that have ->fasync()
    need to remember to evict file from fasync lists; forgetting that
    creates a hole and we actually have a bunch that *does* forget.

    So let's keep our lives simple - let __fput() check FASYNC in
    file->f_flags and call ->fasync() there if it's been set. And lose that
    crap in ->release() instances - leaving it there is still valid, but we
    don't have to bother anymore.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

17 Oct, 2008

1 commit


13 Aug, 2008

1 commit


22 Jul, 2008

1 commit


28 May, 2008

1 commit

  • Fix and improve the slots option handling. The sound core tries to
    find the slot with the given module name first and assign if it's
    still available. If all pre-given slots are unavailable, then try
    to find another free slot.

    Also, when a module name begins with '!', it means the negative match:
    the slot will be given for any modules but that one.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

24 Apr, 2008

3 commits


01 Feb, 2008

3 commits

  • 'snd_shutdown_f_ops' is not a pointer so its address will never be NULL.
    GCC will complain because 'fops_get' will do an unnecessary check because
    '&snd_shutdown_f_ops' is always true.

    Signed-off-by: Miguel Boton
    Signed-off-by: Andrew Morton
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Miguel Boton
     
  • This header file exists only for some hacks to adapt alsa-driver
    tree. It's useless for building in the kernel. Let's move a few
    lines in it to sound/core.h and remove it.
    With this patch, sound/driver.h isn't removed but has just a single
    compile warning to include it. This should be really killed in
    future.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     
  • Introduced the global 'slots' option to snd module. This option provides
    an alternative way to handle the order of multiple sound card instances.
    It's an easier approach to avoid conflict with hotplug devices, and can
    be used together with the existing 'order' option of each card driver.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     

16 Oct, 2007

1 commit


03 May, 2007

1 commit

  • I noticed that many source files include while they do
    not appear to need it. Here is an attempt to clean it all up.

    In order to find all possibly affected files, I searched for all
    files including but without any other occurence of "pci"
    or "PCI". I removed the include statement from all of these, then I
    compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
    false positives manually.

    My tests covered 66% of the affected files, so there could be false
    positives remaining. Untested files are:

    arch/alpha/kernel/err_common.c
    arch/alpha/kernel/err_ev6.c
    arch/alpha/kernel/err_ev7.c
    arch/ia64/sn/kernel/huberror.c
    arch/ia64/sn/kernel/xpnet.c
    arch/m68knommu/kernel/dma.c
    arch/mips/lib/iomap.c
    arch/powerpc/platforms/pseries/ras.c
    arch/ppc/8260_io/enet.c
    arch/ppc/8260_io/fcc_enet.c
    arch/ppc/8xx_io/enet.c
    arch/ppc/syslib/ppc4xx_sgdma.c
    arch/sh64/mach-cayman/iomap.c
    arch/xtensa/kernel/xtensa_ksyms.c
    arch/xtensa/platform-iss/setup.c
    drivers/i2c/busses/i2c-at91.c
    drivers/i2c/busses/i2c-mpc.c
    drivers/media/video/saa711x.c
    drivers/misc/hdpuftrs/hdpu_cpustate.c
    drivers/misc/hdpuftrs/hdpu_nexus.c
    drivers/net/au1000_eth.c
    drivers/net/fec_8xx/fec_main.c
    drivers/net/fec_8xx/fec_mii.c
    drivers/net/fs_enet/fs_enet-main.c
    drivers/net/fs_enet/mac-fcc.c
    drivers/net/fs_enet/mac-fec.c
    drivers/net/fs_enet/mac-scc.c
    drivers/net/fs_enet/mii-bitbang.c
    drivers/net/fs_enet/mii-fec.c
    drivers/net/ibm_emac/ibm_emac_core.c
    drivers/net/lasi_82596.c
    drivers/parisc/hppb.c
    drivers/sbus/sbus.c
    drivers/video/g364fb.c
    drivers/video/platinumfb.c
    drivers/video/stifb.c
    drivers/video/valkyriefb.c
    include/asm-arm/arch-ixp4xx/dma.h
    sound/oss/au1550_ac97.c

    I would welcome test reports for these files. I am fine with removing
    the untested files from the patch if the general opinion is that these
    changes aren't safe. The tested part would still be nice to have.

    Note that this patch depends on another header fixup patch I submitted
    to LKML yesterday:
    [PATCH] scatterlist.h needs types.h
    http://lkml.org/lkml/2007/3/01/141

    Signed-off-by: Jean Delvare
    Cc: Badari Pulavarty
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     

13 Feb, 2007

1 commit

  • Many struct file_operations in the kernel can be "const". Marking them const
    moves these to the .rodata section, which avoids false sharing with potential
    dirty data. In addition it'll catch accidental writes at compile time to
    these shared resources.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     

09 Feb, 2007

1 commit


30 Jan, 2007

1 commit

  • The recent change for a new sysfs tree with card* object breaks the
    /sys/class/sound tree if CONFIG_SYSFS_DEPRECATED is enabled.
    The device in each entry doesn't point the correct device object:

    /sys/class/sound
    ...
    |-- pcmC0D0c
    | |-- dev
    | |-- device -> ../../../class/sound/card0
    | |-- pcm_class
    | |-- power
    | | `-- wakeup
    | |-- subsystem -> ../../../class/sound
    | `-- uevent

    Also, this change breaks some drivers (like sound/arm/*) referring
    card->dev directly to obtain the device object for memory handling.

    This patch reverts the semantics of card->dev to the former version,
    which points to a real device object. The card* object is stored in a
    new card->card_dev field, instead. The device parent is chosen either
    card->dev or card->card_dev according to CONFIG_SYSFS_DEPRECATED to
    keep the tree compatibility.
    Also, card* isn't created if CONFIG_SYSFS_DEPRECATED is enabled. The
    reason of card* object is a root of all beloing devices, and it makes
    little sense if each sound device points to the real device object
    directly.

    Signed-off-by: Takashi Iwai
    Acked-by: Monty Montgomery
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     

02 Dec, 2006

1 commit

  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    It also makes the struct sound_card to show up as a "real" device
    where all the different sound class devices are placed as childs
    and different card attribute files can hang off of. /sys/class/sound is
    still a flat directory, but the symlink targets of all devices belonging
    to the same card, point the the /sys/devices tree below the new card
    device object.

    Thanks to Kay for the updates to this patch.

    Signed-off-by: Kay Sievers
    Acked-by: Jaroslav Kysela
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

07 Oct, 2006

1 commit

  • Alsa used to kmalloc one file->f_op per file per disconnecting snd_card.
    This led to oopses sometimes when file->f_op was freed before __fput()
    finished.
    Patch adds a virtual device for disconnect: VDD.
    VDD consists of:
    LIST_HEAD(shutdown_files)
    protected by DEFINE_SPINLOCK(shutdown_mutex)
    static struct file_operations snd_shutdown_f_ops
    and functions assigned to it
    Additions to struct snd_monitor_file
    to specify if instance is hidden by VDD or not.
    A VDD's instance is
    created in snd_card_disconnect() under the card->files_lock.
    cleaned up in snd_card_file_remove() under the card->files_lock.

    Signed-off-by: Karsten Wiese
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Karsten Wiese
     

23 Sep, 2006

3 commits


23 Jun, 2006

1 commit