14 Feb, 2014

1 commit


10 Feb, 2014

1 commit

  • Replace the lengthy #if defined(XXX) || defined(XXX_MODULE) with the
    new IS_ENABLED() macro.

    The patch still doesn't cover all ifdefs. For example, the dependency
    on CONFIG_GAMEPORT is still open-coded because this also has an extra
    dependency on MODULE. Similarly, an open-coded ifdef in pcm_oss.c and
    some sequencer-related stuff are left untouched.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

12 Mar, 2012

1 commit

  • For files that are actively using linux/device.h, make sure
    that they call it out. This will allow us to clean up some
    of the implicit uses of linux/device.h within include/*
    without introducing build regressions.

    Yes, this was created by "cheating" -- i.e. the headers were
    cleaned up, and then the fallout was found and fixed, and then
    the two commits were reordered. This ensures we don't introduce
    build regressions into the git history.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

01 Nov, 2011

1 commit


08 Aug, 2011

2 commits


17 Mar, 2011

1 commit


24 Nov, 2010

1 commit

  • If CONFIG_SND_DYNAMIC_MINORS is used, assign /dev/snd/seq and
    /dev/snd/timer the usual static minors, and export specific
    module aliases to generate udev module on-demand loading
    instructions:

    $ cat /lib/modules/2.6.33.4-smp/modules.devname
    # Device nodes to trigger on-demand module loading.
    microcode cpu/microcode c10:184
    fuse fuse c10:229
    ppp_generic ppp c108:0
    tun net/tun c10:200
    uinput uinput c10:223
    dm_mod mapper/control c10:236
    snd_timer snd/timer c116:33
    snd_seq snd/seq c116:1

    The last two lines instruct udev to create device nodes, even
    when the modules are not loaded at that time.

    As soon as userspace accesses any of these nodes, the in-kernel
    module-loader will load the module, and the device can be used.

    The header file minor calculation needed to be simplified to
    make __stringify() (supports only two indirections) in
    the MODULE_ALIAS macro work.

    This is part of systemd's effort to get rid of unconditional
    module load instructions and needless init scripts.

    Cc: Lennart Poettering
    Signed-off-by: Kay Sievers
    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Kay Sievers
     

22 Nov, 2010

1 commit


20 May, 2010

1 commit


05 May, 2010

1 commit

  • We should disable irqs when we take the tu->qlock because it is used in
    the irq handler. The only place that doesn't is
    snd_timer_user_ccallback(). Most of the time snd_timer_user_ccallback()
    is called with interrupts disabled but the the first ti->ccallback()
    call in snd_timer_notify1() has interrupts enabled.

    This was caught by lockdep which generates the following message:

    > =================================
    > [ INFO: inconsistent lock state ]
    > 2.6.34-rc5 #5
    > ---------------------------------
    > inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage.
    > dolphin/4003 [HC1[1]:SC0[0]:HE0:SE1] takes:
    > (&(&tu->qlock)->rlock){?.+...}, at: [] snd_timer_user_tinterrupt+0x28/0x132 [snd_timer]
    > {HARDIRQ-ON-W} state was registered at:
    > [] __lock_acquire+0x654/0x1482
    > [] lock_acquire+0x5c/0x73
    > [] _raw_spin_lock+0x25/0x34
    > [] snd_timer_user_ccallback+0x55/0x95 [snd_timer]
    > [] snd_timer_notify1+0x53/0xca [snd_timer]

    Reported-by: Stefan Richter
    Signed-off-by: Dan Carpenter
    Signed-off-by: Takashi Iwai

    Dan Carpenter
     

13 Apr, 2010

1 commit

  • Set no_llseek to llseek file ops of each sound component (but for hwdep).
    This avoids the implicit BKL invocation via generic_file_llseek() used
    as default when fops.llseek is NULL.

    Also call nonseekable_open() at each open ops to ensure the file flags
    have no seek bit.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

04 Mar, 2010

1 commit


14 Apr, 2009

1 commit


16 Mar, 2009

1 commit

  • Most fasync implementations do something like:

    return fasync_helper(...);

    But fasync_helper() will return a positive value at times - a feature used
    in at least one place. Thus, a number of other drivers do:

    err = fasync_helper(...);
    if (err < 0)
    return err;
    return 0;

    In the interests of consistency and more concise code, it makes sense to
    map positive return values onto zero where ->fasync() is called.

    Cc: Al Viro
    Signed-off-by: Jonathan Corbet

    Jonathan Corbet
     

18 Dec, 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
     

15 Aug, 2008

1 commit


13 Aug, 2008

1 commit


10 Jul, 2008

1 commit


15 Feb, 2008

1 commit

  • The sound drivers and the pnpbios core test for current->root != NULL. This
    test seems to be unnecessary since we always have rootfs mounted before
    initializing the drivers.

    Signed-off-by: Jan Blunck
    Acked-by: Christoph Hellwig
    Cc: Bjorn Helgaas
    Cc: Jaroslav Kysela
    Acked-by: Takashi Iwai
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Blunck
     

01 Feb, 2008

2 commits

  • 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
     
  • We need an accurate and continuous (monotonic) time sources to do
    accurate synchronization among more timing sources. This patch allows
    to enable monotonic timestamps for ALSA PCM devices and enables monotonic
    timestamps for ALSA timer devices.

    Signed-off-by: Jaroslav Kysela

    Jaroslav Kysela
     

16 Oct, 2007

1 commit


20 Jul, 2007

1 commit


09 May, 2007

1 commit


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

2 commits


23 Sep, 2006

7 commits


13 Jul, 2006

1 commit


23 Jun, 2006

3 commits