07 Oct, 2020

1 commit


10 Sep, 2020

3 commits

  • The tasklet is an old API that should be deprecated, usually can be
    converted to another decent API. In aloop driver, a tasklet is still
    used for offloading the timer event task. It can be achieved
    gracefully with a work queued, too.

    This patch replaces the tasklet usage in aloop driver with a simple
    work.

    Link: https://lore.kernel.org/r/20200903104131.21097-6-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The tasklet is an old API that should be deprecated, usually can be
    converted to another decent API. This patch replaces the usage of
    tasklet in pcsp driver with a simple work. In pcsp driver, a global
    tasklet is used for offloading the period-elapse handling in the
    hrtimer callback (introduced in commit 96c7d478efad "ALSA: pcsp - Fix
    locking messes in snd-pcsp"). It can be achieved gracefully with a
    work queued in the high-prio system workqueue.

    This also changes tasklet_kill() with cancel_work_sync() in the
    sync_stop callback, which is anyway better to assure canceling the
    pending tasks.

    Link: https://lore.kernel.org/r/20200903104131.21097-2-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Back-merge to apply the tasklet conversion patches that are based
    on the already applied tasklet API changes on 5.9-rc4.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

03 Sep, 2020

3 commits

  • Fix cppcheck warning:

    sound/drivers/vx/vx_pcm.c:63:7: style: Variable 'buf' is assigned a
    value that is never used. [unreadVariable]
    buf = (unsigned char *)runtime->dma_area;
    ^

    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200902212133.30964-19-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Takashi Iwai

    Pierre-Louis Bossart
     
  • Fix cppcheck warning:

    sound/drivers/vx/vx_pcm.c:539:30: style: Variable
    'chip->playback_pipes[audio]' is reassigned a value before the old one
    has been used. [redundantAssignment]
    chip->playback_pipes[audio] = pipe;
    ^
    sound/drivers/vx/vx_pcm.c:533:31: note: chip->playback_pipes[audio] is
    assigned
    chip->playback_pipes[audio] = pipe;
    ^
    sound/drivers/vx/vx_pcm.c:539:30: note: chip->playback_pipes[audio] is
    overwritten
    chip->playback_pipes[audio] = pipe;
    ^

    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200902212133.30964-18-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Takashi Iwai

    Pierre-Louis Bossart
     
  • Fix cppcheck warning

    sound/drivers/vx/vx_core.c:600:49: style: Clarify calculation
    precedence for '&' and '?'. [clarifyCalculation]
    chip->chip_status & VX_STAT_XILINX_LOADED ? "Loaded" : "No");
    ^
    sound/drivers/vx/vx_core.c:602:47: style: Clarify calculation
    precedence for '&' and '?'. [clarifyCalculation]
    chip->chip_status & VX_STAT_DEVICE_INIT ? "Yes" : "No");
    ^

    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200902212133.30964-17-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Takashi Iwai

    Pierre-Louis Bossart
     

07 Aug, 2020

1 commit

  • Pull sound updates from Takashi Iwai:
    "This became wide and scattered updates all over the sound tree as
    diffstat shows: lots of (still ongoing) refactoring works in ASoC,
    fixes and cleanups caught by static analysis, inclusive term
    conversions as well as lots of new drivers. Below are highlights:

    ASoC core:
    - API cleanups and conversions to the unified mute_stream() call
    - Simplify I/O helper functions
    - Use helper macros to retrieve RTD from substreams

    ASoC drivers:
    - Lots of fixes and cleanups in Intel ASoC drivers
    - Lots of new stuff: Freescale MQS and i.MX6sx, Intel KeemBay I2S,
    Maxim MAX98360A and MAX98373 SoundWire, various Mediatek boards,
    nVidia Tegra 186 and 210, RealTek RL6231, Samsung Midas and Aries
    boards, TI J721e EVM

    ALSA core:
    - Minor code refacotring for SG-buffer handling

    HD-audio:
    - Generalization of mute-LED handling with LED classdev
    - Intel silent stream support for HDMI
    - Device-specific fixes: CA0132, Loongson-3

    Others:
    - Usual USB- and HD-audio quirks for various devices
    - Fixes for echoaudio DMA position handling
    - Various documents and trivial fixes for sparse warnings
    - Conversion to adopt inclusive terms"

    * tag 'sound-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (479 commits)
    ALSA: pci: delete repeated words in comments
    ALSA: isa: delete repeated words in comments
    ALSA: hda/tegra: Add 100us dma stop delay
    ALSA: hda: Add dma stop delay variable
    ASoC: hda/tegra: Set buffer alignment to 128 bytes
    ALSA: seq: oss: Serialize ioctls
    ALSA: hda/hdmi: Add quirk to force connectivity
    ALSA: usb-audio: add startech usb audio dock name
    ALSA: usb-audio: Add support for Lenovo ThinkStation P620
    Revert "ALSA: hda: call runtime_allow() for all hda controllers"
    ALSA: hda/ca0132 - Fix AE-5 microphone selection commands.
    ALSA: hda/ca0132 - Add new quirk ID for Recon3D.
    ALSA: hda/ca0132 - Fix ZxR Headphone gain control get value.
    ALSA: hda/realtek: Add alc269/alc662 pin-tables for Loongson-3 laptops
    ALSA: docs: fix typo
    ALSA: doc: use correct config variable name
    ASoC: core: Two step component registration
    ASoC: core: Simplify snd_soc_component_initialize declaration
    ASoC: core: Relocate and expose snd_soc_component_initialize
    ASoC: sh: Replace 'select' DMADEVICES 'with depends on'
    ...

    Linus Torvalds
     

03 Aug, 2020

1 commit


31 Jul, 2020

1 commit

  • This converts all the existing DECLARE_TASKLET() (and ...DISABLED)
    macros with DECLARE_TASKLET_OLD() in preparation for refactoring the
    tasklet callback type. All existing DECLARE_TASKLET() users had a "0"
    data argument, it has been removed here as well.

    Reviewed-by: Greg Kroah-Hartman
    Acked-by: Thomas Gleixner
    Signed-off-by: Kees Cook

    Kees Cook
     

09 Jul, 2020

2 commits

  • Replace the existing /* fall through */ comments and its variants with
    the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
    fall-through markings when it is the case.

    [1] https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

    Signed-off-by: Gustavo A. R. Silva
    Link: https://lore.kernel.org/r/20200708203236.GA5112@embeddedor
    Signed-off-by: Takashi Iwai

    Gustavo A. R. Silva
     
  • Pull sound fixes from Takashi Iwai:
    "A collection of small, mostly device-specific fixes.

    The significant one is the regression fix for USB-audio implicit
    feedback devices due to the incorrect frame size calculation, which
    landed in 5.8 and stable trees.

    In addition, a few usual HD-audio and USB-audio quirks, Intel HDMI
    fixes, ASoC fsl and rt5682 fixes, as well as the fix in
    compress-offload partial drain operation"

    * tag 'sound-5.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: compress: fix partial_drain completion state
    ALSA: usb-audio: Add implicit feedback quirk for RTX6001
    ALSA: usb-audio: add quirk for MacroSilicon MS2109
    ALSA: hda/realtek: Enable headset mic of Acer Veriton N4660G with ALC269VC
    ALSA: hda/realtek: Enable headset mic of Acer C20-820 with ALC269VC
    ALSA: hda/realtek - Enable audio jacks of Acer vCopperbox with ALC269VC
    ALSA: hda/realtek - Fix Lenovo Thinkpad X1 Carbon 7th quirk subdevice id
    ALSA: hda/hdmi: improve debug traces for stream lookups
    ALSA: hda/hdmi: fix failures at PCM open on Intel ICL and later
    ALSA: opl3: fix infoleak in opl3
    ALSA: usb-audio: Replace s/frame/packet/ where appropriate
    ALSA: usb-audio: Fix packet size calculation
    AsoC: amd: add missing snd- module prefix to the acp3x-rn driver kernel module
    ALSA: hda - let hs_mic be picked ahead of hp_mic
    ASoC: rt5682: fix the pop noise while OMTP type headset plugin
    ASoC: fsl_mqs: Fix unchecked return value for clk_prepare_enable
    ASoC: fsl_mqs: Don't check clock is NULL before calling clk API

    Linus Torvalds
     

07 Jul, 2020

2 commits

  • Fix W=1 warning.

    sound/drivers/vx/vx_core.c: In function ‘snd_vx_threaded_irq_handler’:
    sound/drivers/vx/vx_core.c:515:3: warning: suggest braces around empty
    body in an ‘if’ statement [-Wempty-body]
    515 | ; /* so far, nothing to do yet */
    | ^

    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200702193604.169059-23-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Takashi Iwai

    Pierre-Louis Bossart
     
  • The stack object “info” in snd_opl3_ioctl() has a leaking problem.
    It has 2 padding bytes which are not initialized and leaked via
    “copy_to_user”.

    Signed-off-by: xidongwang
    Cc:
    Link: https://lore.kernel.org/r/1594006058-30362-1-git-send-email-wangxidong_97@163.com
    Signed-off-by: Takashi Iwai

    xidongwang
     

06 Jun, 2020

1 commit

  • Pull powerpc updates from Michael Ellerman:

    - Support for userspace to send requests directly to the on-chip GZIP
    accelerator on Power9.

    - Rework of our lockless page table walking (__find_linux_pte()) to
    make it safe against parallel page table manipulations without
    relying on an IPI for serialisation.

    - A series of fixes & enhancements to make our machine check handling
    more robust.

    - Lots of plumbing to add support for "prefixed" (64-bit) instructions
    on Power10.

    - Support for using huge pages for the linear mapping on 8xx (32-bit).

    - Remove obsolete Xilinx PPC405/PPC440 support, and an associated sound
    driver.

    - Removal of some obsolete 40x platforms and associated cruft.

    - Initial support for booting on Power10.

    - Lots of other small features, cleanups & fixes.

    Thanks to: Alexey Kardashevskiy, Alistair Popple, Andrew Donnellan,
    Andrey Abramov, Aneesh Kumar K.V, Balamuruhan S, Bharata B Rao, Bulent
    Abali, Cédric Le Goater, Chen Zhou, Christian Zigotzky, Christophe
    JAILLET, Christophe Leroy, Dmitry Torokhov, Emmanuel Nicolet, Erhard F.,
    Gautham R. Shenoy, Geoff Levand, George Spelvin, Greg Kurz, Gustavo A.
    R. Silva, Gustavo Walbon, Haren Myneni, Hari Bathini, Joel Stanley,
    Jordan Niethe, Kajol Jain, Kees Cook, Leonardo Bras, Madhavan
    Srinivasan., Mahesh Salgaonkar, Markus Elfring, Michael Neuling, Michal
    Simek, Nathan Chancellor, Nathan Lynch, Naveen N. Rao, Nicholas Piggin,
    Oliver O'Halloran, Paul Mackerras, Pingfan Liu, Qian Cai, Ram Pai,
    Raphael Moreira Zinsly, Ravi Bangoria, Sam Bobroff, Sandipan Das, Segher
    Boessenkool, Stephen Rothwell, Sukadev Bhattiprolu, Tyrel Datwyler,
    Wolfram Sang, Xiongfeng Wang.

    * tag 'powerpc-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (299 commits)
    powerpc/pseries: Make vio and ibmebus initcalls pseries specific
    cxl: Remove dead Kconfig options
    powerpc: Add POWER10 architected mode
    powerpc/dt_cpu_ftrs: Add MMA feature
    powerpc/dt_cpu_ftrs: Enable Prefixed Instructions
    powerpc/dt_cpu_ftrs: Advertise support for ISA v3.1 if selected
    powerpc: Add support for ISA v3.1
    powerpc: Add new HWCAP bits
    powerpc/64s: Don't set FSCR bits in INIT_THREAD
    powerpc/64s: Save FSCR to init_task.thread.fscr after feature init
    powerpc/64s: Don't let DT CPU features set FSCR_DSCR
    powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
    powerpc/32s: Fix another build failure with CONFIG_PPC_KUAP_DEBUG
    powerpc/module_64: Use special stub for _mcount() with -mprofile-kernel
    powerpc/module_64: Simplify check for -mprofile-kernel ftrace relocations
    powerpc/module_64: Consolidate ftrace code
    powerpc/32: Disable KASAN with pages bigger than 16k
    powerpc/uaccess: Don't set KUEP by default on book3s/32
    powerpc/uaccess: Don't set KUAP by default on book3s/32
    powerpc/8xx: Reduce time spent in allow_user_access() and friends
    ...

    Linus Torvalds
     

28 May, 2020

1 commit

  • Xilinx PowerPC platforms are no longer supported and none is really testing
    these platforms that's why remove them. If someone has any issue with it
    these patches can be reverted.

    Signed-off-by: Michal Simek
    Acked-by: Takashi Iwai
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/31a3b884dde2c47a30bb2b92355978b97ea70f86.1585575111.git.michal.simek@xilinx.com

    Michal Simek
     

07 May, 2020

1 commit


10 Feb, 2020

2 commits

  • Simplify the code with the new macros for PCM format type iterations.
    This fixes the sparse warnings nicely:
    sound/drivers/dummy.c:906:25: warning: restricted snd_pcm_format_t degrades to integer
    sound/drivers/dummy.c:908:25: warning: incorrect type in argument 1 (different base types)
    sound/drivers/dummy.c:908:25: expected restricted snd_pcm_format_t [usertype] format
    sound/drivers/dummy.c:908:25: got int [assigned] i

    No functional changes, just sparse warning fixes.

    Link: https://lore.kernel.org/r/20200206163945.6797-5-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Fix sparse warnings about PCM format assignment regarding the strong
    typed snd_pcm_format_t:
    sound/drivers/aloop.c:352:45: warning: restricted snd_pcm_format_t degrades to integer
    sound/drivers/aloop.c:355:39: warning: incorrect type in assignment (different base types)
    sound/drivers/aloop.c:355:39: expected unsigned int format
    sound/drivers/aloop.c:355:39: got restricted snd_pcm_format_t [usertype] format
    sound/drivers/aloop.c:1435:34: warning: incorrect type in assignment (different base types)
    sound/drivers/aloop.c:1435:34: expected long max
    sound/drivers/aloop.c:1435:34: got restricted snd_pcm_format_t [usertype]
    sound/drivers/aloop.c:1565:39: warning: incorrect type in assignment (different base types)
    sound/drivers/aloop.c:1565:39: expected unsigned int format
    sound/drivers/aloop.c:1565:39: got restricted snd_pcm_format_t [usertype]

    Some code in this driver assigns an integer value to snd_pcm_format_t
    via control API, and they need to be with the explicit cast.

    No functional changes, just sparse warning fixes.

    Link: https://lore.kernel.org/r/20200206163945.6797-2-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

06 Feb, 2020

1 commit

  • Pull sound fixes from Takashi Iwai:
    "A collection of pending small fixes:

    ALSA core:
    - PCM memory leak fix

    ASoC:
    - Lots of SOF and Intel driver fixes
    - Addition of COMMON_CLK for wcd934x
    - Regression fixes for AMD and Tegra platforms

    HD-audio:
    - DP-MST HDMI regression fix, Tegra workarounds, HP quirk fix

    Others:
    - A few fixes relevant with the recent uapi-updates
    - Sparse warnings and endianness fixes"

    * tag 'sound-fix-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (35 commits)
    ALSA: hda: Clear RIRB status before reading WP
    ALSA: hda/realtek - Fixed one of HP ALC671 platform Headset Mic supported
    ASoC: wcd934x: Add missing COMMON_CLK dependency to SND_SOC_ALL_CODECS
    ALSA: hda - Fix DP-MST support for NVIDIA codecs
    ASoC: wcd934x: Add missing COMMON_CLK dependency
    MAINTAINERS: Remove the Bard Liao from the MAINTAINERS of Realtek CODECs
    ASoC: tegra: Revert 24 and 32 bit support
    ASoC: SOF: Intel: add PCI ID for JasperLake
    ALSA: hdsp: Make the firmware loading ioctl a bit more readable
    ALSA: emu10k1: Fix annotation and cast for the recent uapi header change
    ALSA: dummy: Fix PCM format loop in proc output
    ALSA: usb-audio: Annotate endianess in Scarlett gen2 quirk
    ALSA: usb-audio: Fix endianess in descriptor validation
    ALSA: hda: Add JasperLake PCI ID and codec vid
    ALSA: pcm: Fix sparse warnings wrt snd_pcm_state_t
    ALSA: pcm: Fix memory leak at closing a stream without hw_free
    ALSA: uapi: Fix sparse warning
    ASoC: rt715: Add __maybe_unused to PM callbacks
    ASoC: rt711: Add __maybe_unused to PM callbacks
    ASoC: rt700: Add __maybe_unused to PM callbacks
    ...

    Linus Torvalds
     

01 Feb, 2020

1 commit


29 Jan, 2020

1 commit

  • Pull sound updates from Takashi Iwai:
    "As the diffstat shows we've had again a lot of works done for this
    cycle: the majority of changes are the continued componentization and
    code refactoring in ASoC, the tree-wide PCM API updates and cleanups
    and SOF updates while a few ASoC driver updates are seen, too.

    Here we go, some highlights:

    Core:
    - Finally y2038 support landed to ALSA ABI; some ioctls have been
    extended and lots of tricks were applied
    - Applying the new managed PCM buffer API to all drivers; the API
    itself was already merged in 5.5
    - The already deprecated dimension support in ALSA control API is
    dropped completely now
    - Verification of ALSA control elements to catch API misuses

    ASoC:
    - Further code refactorings and moving things to the component level
    - Lots of updates and improvements on SOF / Intel drivers; now
    including common HDMI driver and SoundWire support
    - New driver support for Ingenic JZ4770, Mediatek MT6660, Qualcomm
    WCD934x and WSA881x, and Realtek RT700, RT711, RT715, RT1011,
    RT1015 and RT1308

    HD-audio:
    - Improved ring-buffer communications using waitqueue
    - Drop the superfluous buffer preallocation on x86

    Others:
    - Many code cleanups, mostly constifications over the whole tree
    - USB-audio: quirks for MOTU, Corsair Virtuoso, Line6 Helix
    - FireWire: code refactoring for oxfw and dice drivers"

    * tag 'sound-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (638 commits)
    ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82
    ALSA: hda: Add Clevo W65_67SB the power_save blacklist
    ASoC: soc-core: remove null_snd_soc_ops
    ASoC: soc-pcm: add soc_rtd_trigger()
    ASoC: soc-pcm: add soc_rtd_hw_free()
    ASoC: soc-pcm: add soc_rtd_hw_params()
    ASoC: soc-pcm: add soc_rtd_prepare()
    ASoC: soc-pcm: add soc_rtd_shutdown()
    ASoC: soc-pcm: add soc_rtd_startup()
    ASoC: rt1015: add rt1015 amplifier driver
    ASoC: madera: Correct some kernel doc
    ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj initialization order
    ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug
    ASoC: madera: Correct DMIC only input hook ups
    ALSA: cs46xx: fix spelling mistake "to" -> "too"
    ALSA: hda - Add docking station support for Lenovo Thinkpad T420s
    ASoC: Add MediaTek MT6660 Speaker Amp Driver
    ASoC: dt-bindings: rt5645: add suppliers
    ASoC: max98090: fix deadlock in max98090_dapm_put_enum_double()
    ASoC: dapm: add snd_soc_dapm_put_enum_double_locked
    ...

    Linus Torvalds
     

06 Jan, 2020

1 commit


05 Jan, 2020

6 commits

  • Apply const prefix to the string array.

    Just for minor optimization and no functional changes.

    Link: https://lore.kernel.org/r/20200105144823.29547-59-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Apply const prefix to the static volume table.

    Just for minor optimization and no functional changes.

    Link: https://lore.kernel.org/r/20200105144823.29547-58-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Apply const prefix to the static mapping tables.

    Just for minor optimization and no functional changes.

    Link: https://lore.kernel.org/r/20200105144823.29547-54-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Apply const prefix to the static tables for drum, volume and notes.

    Just for minor optimization and no functional changes.

    Link: https://lore.kernel.org/r/20200105144823.29547-43-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Apply const prefix to every possible place: the static tables for DSP
    commands, the string tables, and register/offset tables.

    Just for minor optimization and no functional changes.

    Link: https://lore.kernel.org/r/20200105144823.29547-8-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Apply const prefix to every possible place: mostly for declaring the
    dummy hardware models.

    Just for minor optimization and no functional changes.

    Link: https://lore.kernel.org/r/20200105144823.29547-5-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

03 Jan, 2020

10 commits


18 Dec, 2019

1 commit

  • …it/arnd/playground into for-next

    ALSA: Fix year 2038 issue for sound subsystem

    This is a series I worked on with Baolin in 2017 and 2018, but we
    never quite managed to finish up the last pieces. During the
    ALSA developer meetup at ELC-E 2018 in Edinburgh, a decision was
    made to go with this approach for keeping best compatibility
    with existing source code, and then I failed to follow up by
    resending the patches.

    Now I have patches for all remaining time_t uses in the kernel,
    so it's absolutely time to revisit them. I have done more
    review of the patches myself and found a couple of minor issues
    that I have fixed up, otherwise the series is still the same as
    before.

    Conceptually, the idea of these patches is:

    - 64-bit applications should see no changes at all, neither
    compile-time nor run-time.

    - 32-bit code compiled with a 64-bit time_t currently
    does not work with ALSA, and requires kernel changes and/or
    sound/asound.h changes

    - Most 32-bit code using these interfaces will work correctly
    on a modified kernel, with or without the uapi header changes.

    - 32-bit code using SNDRV_TIMER_IOCTL_TREAD requires the
    updated header file for 64-bit time_t support

    - 32-bit i386 user space with 64-bit time_t is broken for
    SNDRV_PCM_IOCTL_STATUS, SNDRV_RAWMIDI_IOCTL_STATUS and
    SNDRV_PCM_IOCTL_SYNC_PTR because of i386 alignment. This is also
    addressed by the updated uapi header.

    - PCM mmap is currently supported on native x86 kernels
    (both 32-bit and 64-bit) but not for compat mode. This series breaks
    the 32-bit native mmap support for 32-bit time_t, but instead allows
    it for 64-bit time_t on both native and compat kernels. This seems to
    be the best trade-off, as mmap support is optional already, and most
    32-bit code runs in compat mode anyway.

    - I've tried to avoid breaking compilation of 32-bit code
    as much as possible. Anything that does break however is likely code
    that is already broken on 64-bit time_t and needs source changes to
    fix them.

    [1] https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git y2038-alsa-v8
    [2] https://lore.kernel.org/lkml/CAK8P3a2Os66+iwQYf97qh05W2JP8rmWao8zmKoHiXqVHvyYAJA@mail.gmail.com/T/#m6519cb07cfda08adf1dedea6596bb98892b4d5dc

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Changes since v7: (Arnd):
    - Fix a typo found by Ben Hutchings

    Changes since v6: (Arnd):
    - Add a patch to update the API versions
    - Hide a timespec reference in #ifndef __KERNEL__ to remove the
    last reference to time_t
    - Use a more readable way to do padding and describe it in the
    changelog
    - Rebase to linux-5.5-rc1, changing include/sound/soc-component.h
    and sound/drivers/aloop.c as needed.

    Changes since v5 (Arnd):
    - Rebased to linux-5.4-rc4
    - Updated to completely remove timespec and time_t references from alsa
    - found and fixed a few bugs

    Changes since v4 (Baolin):
    - Add patch 5 to change trigger_tstamp member of struct snd_pcm_runtime.
    - Add patch 8 to change internal timespec.
    - Add more explanation in commit message.
    - Use ktime_get_real_ts64() in patch 6.
    - Split common code out into a separate function in patch 6.
    - Fix tu->tread bug in patch 6 and remove #if __BITS_PER_LONG == 64 macro.

    Changes since v3:
    - Move struct snd_pcm_status32 to pcm.h file.
    - Modify comments and commit message.
    - Add new patch2 ~ patch6.

    Changes since v2:
    - Renamed all structures to make clear.
    - Remove CONFIG_X86_X32 macro and introduced new compat_snd_pcm_status64_x86_32.

    Changes since v1:
    - Add one macro for struct snd_pcm_status_32 which only active in 32bits kernel.
    - Convert pcm_compat.c to use struct snd_pcm_status_64.
    - Convert pcm_native.c to use struct snd_pcm_status_64.

    Takashi Iwai