26 Jul, 2016

1 commit


12 Jul, 2016

1 commit

  • Remove useless initialisation of variable whose value is reinitialised
    later.

    The Coccinelle semantic patch used to make this change is as follows:
    @@
    type T;
    identifier x;
    constant C;
    expression e;
    @@

    T x
    - = C
    ;
    x = e;

    Signed-off-by: Amitoj Kaur Chawla
    Signed-off-by: Takashi Iwai

    Amitoj Kaur Chawla
     

17 Jun, 2016

1 commit

  • We want to remove all time_t users from the kernel because of
    y2038 compatibility. This particular instance does not even
    use time_t to store a seconds value, so we can simply use
    'unsigned int', which seems more fitting anywhere.

    The same code is used in two OSS files.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Takashi Iwai

    Arnd Bergmann
     

15 Jun, 2016

1 commit

  • Replace the in order struct initialisation style with explicit field
    style.

    The Coccinelle semantic patch used to make this change is as follows:

    @decl@
    identifier i1,fld;
    type T;
    field list[n] fs;
    @@

    struct i1 {
    fs
    T fld;
    ...};

    @@
    identifier decl.i1,i2,decl.fld;
    expression e;
    position bad.p, bad.fix;
    @@

    struct i1 i2@p = { ...,
    + .fld = e
    - e@fix
    ,...};

    Signed-off-by: Amitoj Kaur Chawla
    Signed-off-by: Takashi Iwai

    Amitoj Kaur Chawla
     

18 May, 2016

1 commit

  • The function setup_timer combines the initialization of a timer with the
    initialization of the timer's function and data fields. The mulitiline
    code for timer initialization is now replaced with function setup_timer.

    Also, quoting the mod_timer() function comment:
    -> mod_timer() is a more efficient way to update the expire field of an
    active timer (if the timer is inactive it will be activated).

    Use setup_timer() and mod_timer() to setup and arm a timer, making the
    code compact and aid readablity.

    Signed-off-by: Muhammad Falak R Wani
    Signed-off-by: Takashi Iwai

    Muhammad Falak R Wani
     

09 Dec, 2015

1 commit

  • The OSS sound drivers used to rely on virt_to_bus(), but don't any more,
    so we can remove the Kconfig dependency.

    As a lot of architectures don't provide VIRT_TO_BUS any more, removing
    the dependency in sounds/oss/ would make the deprecated drivers appear
    there, which we probably don't want. Instead I'm replacing the
    simple dependency with 'VIRT_TO_BUS || RPC || NETWINDER' so we can
    still build these sound drivers for the platforms that need them,
    but don't change anything on other architectures.

    As a follow-up, we can remove the virt_to_bus() implementation
    and Kconfig symbol in the ARM architecture.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Takashi Iwai

    Arnd Bergmann
     

13 Jun, 2015

1 commit


29 May, 2015

1 commit

  • API consolidation with coccinelle found:
    ./sound/oss/msnd_pinnacle.c:1292:2-18:
    consolidation with schedule_timeout_*() recommended

    This is a 1:1 conversion of the current calls to an available helper
    only - so only an API consolidation to improve readability.

    Patch was compile tested with x86_64_defconfig

    Patch is against 4.1-rc5 (localversion-next is -next-20150529)

    Signed-off-by: Nicholas Mc Guire
    Signed-off-by: Takashi Iwai

    Nicholas Mc Guire
     

18 May, 2015

1 commit


18 Apr, 2015

1 commit

  • A deadlock can be initiated by userspace via ioctl(SNDCTL_SEQ_OUTOFBAND)
    on /dev/sequencer with TMR_ECHO midi event.

    In this case the control flow is:
    sound_ioctl()
    -> case SND_DEV_SEQ:
    case SND_DEV_SEQ2:
    sequencer_ioctl()
    -> case SNDCTL_SEQ_OUTOFBAND:
    spin_lock_irqsave(&lock,flags);
    play_event();
    -> case EV_TIMING:
    seq_timing_event()
    -> case TMR_ECHO:
    seq_copy_to_input()
    -> spin_lock_irqsave(&lock,flags);

    It seems that spin_lock_irqsave() around play_event() is not necessary,
    because the only other call location in seq_startplay() makes the call
    without acquiring spinlock.

    So, the patch just removes spinlocks around play_event().
    By the way, it removes unreachable code in seq_timing_event(),
    since (seq_mode == SEQ_2) case is handled in the beginning.

    Compile tested only.

    Found by Linux Driver Verification project (linuxtesting.org).

    Signed-off-by: Alexey Khoroshilov
    Signed-off-by: Takashi Iwai

    Alexey Khoroshilov
     

24 Mar, 2015

1 commit


26 Feb, 2015

4 commits


12 Feb, 2015

1 commit

  • Pull sound updates from Takashi Iwai:
    "In this batch, you can find lots of cleanups through the whole
    subsystem, as our good New Year's resolution. Lots of LOCs and
    commits are about LINE6 driver that was promoted finally from staging
    tree, and as usual, there've been widely spread ASoC changes.

    Here some highlights:

    ALSA core changes
    - Embedding struct device into ALSA core structures
    - sequencer core cleanups / fixes
    - PCM msbits constraints cleanups / fixes
    - New SNDRV_PCM_TRIGGER_DRAIN command
    - PCM kerneldoc fixes, header cleanups
    - PCM code cleanups using more standard codes
    - Control notification ID fixes

    Driver cleanups
    - Cleanups of PCI PM callbacks
    - Timer helper usages cleanups
    - Simplification (e.g. argument reduction) of many driver codes

    HD-audio
    - Hotkey and LED support on HP laptops with Realtek codecs
    - Dock station support on HP laptops
    - Toshiba Satellite S50D fixup
    - Enhanced wallclock timestamp handling for HD-audio
    - Componentization to simplify the linkage between i915 and hd-audio
    drivers for Intel HDMI/DP

    USB-audio
    - Akai MPC Element support
    - Enhanced timestamp handling

    ASoC
    - Lots of refactoringin ASoC core, moving drivers to more data driven
    initialization and rationalizing a lot of DAPM usage
    - Much improved handling of CDCLK clocks on Samsung I2S controllers
    - Lots of driver specific cleanups and feature improvements
    - CODEC support for TI PCM514x and TLV320AIC3104 devices
    - Board support for Tegra systems with Realtek RT5677
    - New driver for Maxim max98357a
    - More enhancements / fixes for Intel SST driver

    Others
    - Promotion of LINE6 driver from staging along with lots of rewrites
    and cleanups
    - DT support for old non-ASoC atmel driver
    - oxygen cleanups, XIO2001 init, Studio Evolution SE6x support
    - Emu8000 DRAM size detection fix on ISA(!!) AWE64 boards
    - A few more ak411x fixes for ice1724 boards"

    * tag 'sound-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (542 commits)
    ALSA: line6: toneport: Use explicit type for firmware version
    ALSA: line6: Use explicit type for serial number
    ALSA: line6: Return EIO if read/write not successful
    ALSA: line6: Return error if device not responding
    ALSA: line6: Add delay before reading status
    ASoC: Intel: Clean data after SST fw fetch
    ALSA: hda - Add docking station support for another HP machine
    ALSA: control: fix failure to return new numerical ID in 'replace' event data
    ALSA: usb: update trigger timestamp on first non-zero URB submitted
    ALSA: hda: read trigger_timestamp immediately after starting DMA
    ALSA: pcm: allow for trigger_tstamp snapshot in .trigger
    ALSA: pcm: don't override timestamp unconditionally
    ALSA: off by one bug in snd_riptide_joystick_probe()
    ASoC: rt5670: Set use_single_rw flag for regmap
    ASoC: rt286: Add rt288 codec support
    ASoC: max98357a: Fix build in !CONFIG_OF case
    ASoC: Intel: fix platform_no_drv_owner.cocci warnings
    ARM: dts: Switch Odroid X2/U2 to simple-audio-card
    ARM: dts: Exynos4 and Odroid X2/U3 sound device nodes update
    ALSA: control: fix failure to return numerical ID in 'add' event
    ...

    Linus Torvalds
     

15 Jan, 2015

2 commits

  • IRQ_TYPE_SLOW is no longer used by the Atari platform interrupt code
    since commit 734085651c9b80aa ("[PATCH] m68k: convert atari irq code")
    in v2.6.18-rc1, so drop it.

    Note that its value has been reused for a different purpose
    (IRQ_TYPE_NONE) since commit 6a6de9ef5850d063 ("[PATCH] genirq: core")
    in v2.6.18-rc1.

    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Takashi Iwai

    Geert Uytterhoeven
     
  • Call __set_current_state() instead of assigning the new state directly.
    These interfaces also aid CONFIG_DEBUG_ATOMIC_SLEEP environments, keeping
    track of who changed the state.

    Signed-off-by: Davidlohr Bueso
    Signed-off-by: Takashi Iwai

    Davidlohr Bueso
     

04 Jan, 2015

1 commit


15 Dec, 2014

1 commit

  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     

23 Nov, 2014

1 commit


20 Oct, 2014

1 commit


16 Aug, 2014

1 commit

  • Pull sound fixes from Takashi Iwai:
    "Here is the additional fix patches that have been queued up since the
    previous pull request. A few HD-audio fixes, a USB-audio quirk
    addition, and a couple of trivial cleanup for the legacy OSS codes"

    * tag 'sound-fix-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Set TLV_DB_SCALE_MUTE bit for cx5051 vmaster
    ALSA: hda/ca0132 - Don't try loading firmware at resume when already failed
    ALSA: hda - Fix pop noises on reboot for Dell XPS 13 9333
    ALSA: hda - Set internal mic as default input source on Dell XPS 13 9333
    ALSA: usb-audio: fix BOSS ME-25 MIDI regression
    ALSA: hda - Fix parsing of CMI8888 codec
    ALSA: hda - Fix probing and stuttering on CMI8888 HD-audio controller
    ALSA: hda/realtek - Fixed ALC286/ALC288 recording delay for Headset Mic
    sound: oss: Remove typedefs wanc_info and wavnc_port_info
    sound: oss: uart401: Remove typedef uart401_devc

    Linus Torvalds
     

13 Aug, 2014

1 commit

  • We should prefer `struct pci_device_id` over `DEFINE_PCI_DEVICE_TABLE` to
    meet kernel coding style guidelines. This issue was reported by checkpatch.

    A simplified version of the semantic patch that makes this change is as
    follows (http://coccinelle.lip6.fr/):

    //

    @@
    identifier i;
    declarer name DEFINE_PCI_DEVICE_TABLE;
    initializer z;
    @@

    - DEFINE_PCI_DEVICE_TABLE(i)
    + const struct pci_device_id i[]
    = z;

    //

    [bhelgaas: add semantic patch]
    Signed-off-by: Benoit Taine
    Signed-off-by: Bjorn Helgaas

    Benoit Taine
     

06 Aug, 2014

4 commits

  • The Linux kernel coding style guidelines suggest not using typedefs
    for structure types. This patch gets rid of the typedefs for wanc_info and
    wavnc_port_info.

    A simplified version of the Coccinelle semantic patch that finds the case is:

    @tn@
    identifier i;
    type td;
    @@

    -typedef
    struct i { ... }
    -td
    ;

    @@
    type tn.td;
    identifier tn.i;
    @@

    -td
    + struct i

    Signed-off-by: Himangi Saraogi
    Acked-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Himangi Saraogi
     
  • The Linux kernel coding style guidelines suggest not using typedefs
    for structure types. This patch gets rid of the typedef for uart401_devc.

    The following Coccinelle semantic patch detects the case.

    @tn@
    identifier i;
    type td;
    @@

    -typedef
    struct i { ... }
    -td
    ;

    @@
    type tn.td;
    identifier tn.i;
    @@

    -td
    + struct i

    Signed-off-by: Himangi Saraogi
    Acked-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Himangi Saraogi
     
  • The Linux kernel coding style guidelines suggest not using typedefs
    for structure types. This patch gets rid of the typedefs for pss_mixerdata
    and pss_confdata.

    The following Coccinelle semantic patch is used to make the change.

    @tn@
    identifier i;
    type td;
    @@

    -typedef
    struct i { ... }
    -td
    ;

    @@
    type tn.td;
    identifier tn.i;
    @@

    -td
    + struct i

    Signed-off-by: Himangi Saraogi
    Acked-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Himangi Saraogi
     
  • This typedef is unnecessary and should just be removed as they are
    never used.

    The following Coccinelle semantic patch detects the case.

    @tn@
    identifier i;
    type td;
    @@

    -typedef
    struct i { ... }
    -td
    ;

    @@
    type tn.td;
    identifier tn.i;
    @@

    -td
    + struct i

    Signed-off-by: Himangi Saraogi
    Acked-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Himangi Saraogi
     

25 Jun, 2014

1 commit


24 Jun, 2014

1 commit


30 May, 2014

1 commit


19 May, 2014

1 commit

  • Delete unnecessary local variable whose value is always 0 and that hides
    the fact that the result is always 0.

    A simplified version of the semantic patch that fixes this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @r exists@
    local idexpression ret;
    expression e;
    position p;
    @@

    -ret = 0;
    ... when != ret = e
    return
    - ret
    + 0
    ;
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     

11 Apr, 2014

1 commit

  • Pull sound fixes from Takashi Iwai:
    "Here is a bunch of small fixes that have been collected since the
    previous pull request. In addition to various misc fixes, the
    following are included:

    - HD-audio quirks for Dell, HP, Chromebook, and ALC28x codecs
    - HD-audio AMD HDMI regression fix
    - Continued PM support/fixes for ice1712 driver
    - Multiplatform fixes for ASoC samsung drivers
    - Addition of device id tables to a few ASoC drivers
    - Bit clock polarity config and error flag fixes in ASoC fsl_sai"

    * tag 'sound-fix-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (32 commits)
    ALSA: usb-audio: Suppress repetitive debug messages from retire_playback_urb()
    ALSA: hda - Make full_reset boolean
    ALSA: hda - add headset mic detect quirk for a Dell laptop
    sound: dmasound: use module_platform_driver_probe()
    ALSA: au1x00: use module_platform_driver()
    ALSA: hda - Use runtime helper to check active state.
    ALSA: ice1712: Fix boundary checks in PCM pointer ops
    ASoC: davinci-mcasp: Fix bit clock polarity settings
    ASoC: samsung: Fix build on multiplatform
    ASoC: fsl_sai: Fix Bit Clock Polarity configurations
    ALSA: hda - Do not assign streams in reverse order
    ALSA: hda/realtek - Add eapd shutup to ALC283
    ALSA: hda/realtek - Change model name alias for ChromeOS
    ASoC: da732x: Print correct major id
    ALSA: hda/realtek - Improve HP depop when system change power state on Chromebook
    ASoC: cs42l52: Fix mask for REVID
    sound/oss: Remove uncompilable DBG macro use
    ALSA: ice1712: Save/restore routing and rate registers
    ALSA: ice1712: restore AK4xxx volumes on resume
    ASoC: alc56(23|32): fix undefined return value of probing code
    ...

    Linus Torvalds
     

09 Apr, 2014

1 commit


05 Apr, 2014

1 commit

  • Most of it duplicates function tracing and one
    of them has an uncompilable printf %P use.
    Others have format/argument mismatches.

    Remove unused DBG1 macro definition

    Neaten uart401.c use of ok test around this
    DBG macro removal.

    Signed-off-by: Joe Perches
    Signed-off-by: Takashi Iwai

    Joe Perches
     

03 Apr, 2014

1 commit

  • Pull x86 old platform removal from Peter Anvin:
    "This patchset removes support for several completely obsolete
    platforms, where the maintainers either have completely vanished or
    acked the removal. For some of them it is questionable if there even
    exists functional specimens of the hardware"

    Geert Uytterhoeven apparently thought this was a April Fool's pull request ;)

    * 'x86-nuke-platforms-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, platforms: Remove NUMAQ
    x86, platforms: Remove SGI Visual Workstation
    x86, apic: Remove support for IBM Summit/EXA chipset
    x86, apic: Remove support for ia32-based Unisys ES7000

    Linus Torvalds
     

28 Feb, 2014

1 commit


08 Feb, 2014

1 commit


14 Jan, 2014

2 commits

  • There are three files in oss for which I could not find an easy way to
    replace interruptible_sleep_on_timeout with a non-racy version. This
    patch instead just adds a private implementation of the function, now
    named oss_broken_sleep_on, and changes over the remaining users in
    sound/oss/ so we can remove the global interface.

    [fixed coding style warnings by tiwai]

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Takashi Iwai

    Arnd Bergmann
     
  • The use of interruptible_sleep_on_timeout in the dmasound driver
    is questionable and we want to kill off all sleep_on variants.
    This replaces the calls with wait_event_interruptible_timeout
    where possible, to wait for a particular event instead of blocking
    in a racy way. In the sq_write function, the easiest solution is
    an open-coded prepare_to_wait loop.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Takashi Iwai

    Arnd Bergmann