19 Dec, 2011

1 commit

  • module_param(bool) used to counter-intuitively take an int. In
    fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
    trick.

    It's time to remove the int/unsigned int option. For this version
    it'll simply give a warning, but it'll break next kernel version.

    Signed-off-by: Rusty Russell
    Signed-off-by: Takashi Iwai

    Rusty Russell
     

21 Nov, 2011

1 commit


01 Nov, 2011

1 commit


22 Jul, 2011

1 commit


30 Jun, 2011

1 commit

  • Fix the wrongly converted short values:
    sound/pci/cs5535audio/cs5535audio_pcm.c:152: warning: large integer implicitly truncated to unsigned type
    sound/pci/cs5535audio/cs5535audio_pcm.c:160: warning: large integer implicitly truncated to unsigned type

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

10 Jun, 2011

2 commits

  • The name argument of request_irq() appears in /proc/interrupts, and
    it's quite ugly when the name entry contains a space or special letters.
    In general, it's simpler and more readable when the module name appears
    there, so let's replace all entries with KBUILD_MODNAME.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The convention for pci_driver.name entry in kernel drivers seem to be
    the module name or equivalent ones. But, so far, almost all PCI sound
    drivers use more verbose name like "ABC Xyz (12)", and these are fairly
    confusing when appearing as a file name.

    This patch converts the all pci_driver.name entries in sound/pci/* to
    use KBUILD_MODNAME for more unified appearance.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

24 Dec, 2010

1 commit

  • pci_restore_state only ever returns 0, thus there is no benefit in
    having it return any value. Also, a large majority of the callers do
    not check the return code of pci_restore_state. Make the
    pci_restore_state a void return and avoid the overhead.

    Acked-by: Mauro Carvalho Chehab
    Signed-off-by: Jon Mason
    Signed-off-by: Jesse Barnes

    Jon Mason
     

30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

09 Feb, 2010

1 commit


16 Dec, 2009

1 commit

  • Previously, OLPC support for the mic extensions was only enabled in the
    ALSA driver if CONFIG_OLPC and CONFIG_MGEODE_LX were both set. This was
    because the old geode GPIO code was written in a manner that assumed
    CONFIG_MGEODE_LX. With the new cs553x-gpio driver, this is no longer the
    case; as such, we can drop the requirement on CONFIG_MGEODE_LX and instead
    include a requirement on GPIOLIB.

    We use the generic GPIO API rather than the cs553x-specific API.

    Signed-off-by: Andres Salomon
    Cc: Takashi Iwai
    Cc: Jordan Crouse
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     

07 Apr, 2009

1 commit


24 Mar, 2009

1 commit


05 Feb, 2009

1 commit


12 Jan, 2009

1 commit


11 Dec, 2008

17 commits


01 Feb, 2008

3 commits

  • snd_cs5535audio_mixer() is only called by __devinit snd_cs5535audio_probe(),
    so the mixer function can also be __devinit.
    WARNING: vmlinux.o(.text+0xfdbba0): Section mismatch: reference to .init.data:ac97_quirks (between 'snd_cs5535audio_mixer' and 'process_bm0_irq')

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

    Randy Dunlap
     
  • The available sample rates on CS5535 depend on AC97 codec chip.
    Set the additional hw params limit.

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

    Takashi Iwai
     
  • 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
     

16 Oct, 2007

5 commits

  • We really only care about the first two bus masters (playback and capture).
    There's no need to have unused BM code lying around, so let's get rid of it.
    If for some reason we trigger an IRQ for some BM that we're not using.. well,
    that warrants spitting out an error message (imo).

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

    Andres Salomon
     
  • According to 6.3.2.7 of the cs5535/cs5536 data sheets, the ACC_BM[x]_CMD
    registers are only 8 bits wide. This driver treats them as 32 bits wide,
    and also has bits in the wrong place. Simple fix to the definitions.

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

    Andres Salomon
     
  • Save the PCI state before disabling the device, and add some error checking.

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

    Andres Salomon
     
  • In the suspend path, we currently save the PRD registers and then disable DMA.
    This is racy; the sound hardware might update the PRD register as it finishes
    processing some DMA pages between when we've saved the PRD registers and
    when DMA actually gets disabled. Furthermore, we actively check whether or
    not DMA is enabled before saving PRD registers; there's no reason to do that,
    as the PRD registers should not update when we twiddle the ACC_BM[x]_CMD
    register(s). Worst case, we save the PRD registers twice; even powering
    down the ACC shouldn't mess with the PRD registers (according to the 5536
    data sheet, section 5.3.7.4, power-down procedure). This patch reworks
    all that to first disable DMA, and then save PRD registers.

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

    Andres Salomon
     
  • We're never actually setting dma->substream to the current substream; that
    means the dma->substream checks that we do in the suspend/resume path
    are never satisfied, and the PRD registers are never correctly managed. This
    changes it so that we set the substream when constructing the specific
    bus master DMA, and unsetting it when we tear down the BM's DMA.

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

    Andres Salomon