02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

15 Sep, 2017

1 commit


20 Apr, 2017

1 commit

  • When the kernel is running in secure boot mode, we lock down the kernel to
    prevent userspace from modifying the running kernel image. Whilst this
    includes prohibiting access to things like /dev/mem, it must also prevent
    access by means of configuring driver modules in such a way as to cause a
    device to access or modify the kernel image.

    To this end, annotate module_param* statements that refer to hardware
    configuration and indicate for future reference what type of parameter they
    specify. The parameter parser in the core sees this information and can
    skip such parameters with an error message if the kernel is locked down.
    The module initialisation then runs as normal, but just sees whatever the
    default values for those parameters is.

    Note that we do still need to do the module initialisation because some
    drivers have viable defaults set in case parameters aren't specified and
    some drivers support automatic configuration (e.g. PNP or PCI) in addition
    to manually coded parameters.

    This patch annotates drivers in sound/oss/.

    Suggested-by: Alan Cox
    Signed-off-by: David Howells
    cc: Jaroslav Kysela
    cc: Takashi Iwai
    cc: Andrew Veliath
    cc: alsa-devel@alsa-project.org

    David Howells
     

02 Mar, 2017

1 commit


01 Feb, 2017

1 commit


25 Dec, 2016

1 commit


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