1. 27 Jul, 2018 21 commits
    • Takashi Iwai's avatar
      ALSA: bt87x: Proper endian notations · 58578d18
      Takashi Iwai authored
      The RISC data in bt87x is in little-endian, hence we should define it
      with __le32 properly.
      
      Spotted by sparse, a warning like:
        sound/pci/bt87x.c:240:17: warning: incorrect type in assignment (different base types)
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      58578d18
    • Takashi Iwai's avatar
      ALSA: echoaudio: Proper endian notations · 2a833a02
      Takashi Iwai authored
      Many data fields defined in echoaudio drivers are in little-endian,
      hence they should be defined with __le16 or __le32.  This makes it
      easier to catch the forgotten conversions.
      
      Spotted by sparse, a warning like:
        sound/pci/echoaudio/echoaudio_dsp.c:990:36: warning: incorrect type in assignment (different base types)
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      2a833a02
    • Takashi Iwai's avatar
      ALSA: maestro3: Proper endian notations · 8c0ab942
      Takashi Iwai authored
      The ASSP data passed to maestro3 driver is in little-endian format,
      hence the data pointer should be with __le16.
      
      Spotted by sparse, warnings like:
        sound/pci/maestro3.c:2128:35: warning: cast to restricted __le16
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      8c0ab942
    • Takashi Iwai's avatar
      ALSA: intel8x0m: Proper endian notations · 7752a7de
      Takashi Iwai authored
      The BD address tables in intel8x0m driver are in little-endian, hence
      they should be represented as __le32 instead u32.
      
      Spotted by sparse, warnings like:
        sound/pci/intel8x0m.c:406:40: warning: incorrect type in assignment (different base types)
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      7752a7de
    • Takashi Iwai's avatar
      ALSA: intel8x0: Proper endian notations · 3c164e2c
      Takashi Iwai authored
      The BD address tables in intel8x0 driver are in little-endian, hence
      they should be represented as __le32 instead u32.
      
      Spotted by sparse, warnings like:
        sound/pci/intel8x0.c:688:40: warning: incorrect type in assignment (different base types)
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3c164e2c
    • Takashi Iwai's avatar
      ALSA: lola: Proper endian notations · 0d9a26fc
      Takashi Iwai authored
      The BDL entries in lola driver are little-endian while we code them as
      u32.  This leads to sparse warnings like:
        sound/pci/lola/lola.c:105:40: warning: incorrect type in assignment (different base types)
        sound/pci/lola/lola.c:105:40:    expected unsigned int [unsigned] [usertype] <noident>
        sound/pci/lola/lola.c:105:40:    got restricted __le32 [usertype] <noident>
      
      This patch fixes the declarations to the proper __le32 type.
      
      Also, there was a typo in the original code, where __user was used
      that was intended as __iomem.  This was caused also by sparse:
        sound/pci/lola/lola_mixer.c:132:27: warning: incorrect type in assignment (different address spaces)
      Fixed in this patch as well.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0d9a26fc
    • Takashi Iwai's avatar
      ALSA: mixart: Proper endian notations · 0e7ca66a
      Takashi Iwai authored
      The miXart driver deals with big-endian values as raw data, while it
      declares most of variables as u32.  This leads to sparse warnings like
        sound/pci/mixart/mixart.c:1203:23: warning: cast to restricted __be32
      
      Fix them by properly defining the structs and add the explicit cast to
      macros.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0e7ca66a
    • Takashi Iwai's avatar
      ALSA: riptide: Properly endian notations · be05e3de
      Takashi Iwai authored
      The SG descriptor of Riptide contains the little-endian values, hence
      we need to define with __le32 properly.  This fixes sparse warnings
      like:
        sound/pci/riptide/riptide.c:1112:40: warning: cast to restricted __le32
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      be05e3de
    • Takashi Iwai's avatar
      ALSA: hda: Proper endian notations for BDL pointers · 7362b0fc
      Takashi Iwai authored
      The BDL pointer used in snd_hdac_dsp_prepare() should be declared as
      __le32, as warned by sparse:
        sound/hda/hdac_stream.c:655:47: warning: incorrect type in argument 4 (different base types)
        sound/hda/hdac_stream.c:655:47:    expected restricted __le32 [usertype] **bdlp
        sound/hda/hdac_stream.c:655:47:    got unsigned int [usertype] **<noident>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      7362b0fc
    • Takashi Iwai's avatar
      ALSA: trident: Proper endian notations · 752089fe
      Takashi Iwai authored
      The TLB entries in Trident driver are represented in little-endian,
      hence they should be declared as __le32.
      
      This patch fixes the sparse warnings like:
        sound/pci/trident/trident_memory.c:226:17: warning: incorrect type in assignment (different base types)
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      752089fe
    • Takashi Iwai's avatar
      ALSA: ymfpci: Proper endian notations · d3c63763
      Takashi Iwai authored
      The bank values are all little-endians, so they should be defined with
      __le32.  This fixes lots of sparse warnings like:
        sound/pci/ymfpci/ymfpci_main.c:315:23: warning: cast to restricted __le32
        sound/pci/ymfpci/ymfpci_main.c:342:32: warning: incorrect type in assignment (different base types)
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d3c63763
    • Takashi Iwai's avatar
      ALSA: xen: Use standard pcm_format_to_bits() for ALSA format bits · 3ac14b39
      Takashi Iwai authored
      The open codes with the bit shift in xen_snd_front_alsa.c give sparse
      warnings as the PCM format type is with __bitwise.
      There is already a standard macro to get the format bits, so let's use
      it instead.
      
      This fixes sparse warnings like:
        sound/xen/xen_snd_front_alsa.c:191:47: warning: restricted snd_pcm_format_t degrades to integer
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3ac14b39
    • Takashi Iwai's avatar
      ALSA: sb: Fix sparse warning wrt PCM format type · e5d3765b
      Takashi Iwai authored
      The PCM format type is with __bitwise, and it can't be converted from
      integer implicitly.  Instead of an ugly cast, declare the function
      argument of snd_sb_csp_autoload() with the proper snd_pcm_format_t
      type.
      
      This fixes the sparse warnings like:
        sound/isa/sb/sb16_csp.c:743:22: warning: restricted snd_pcm_format_t degrades to integer
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e5d3765b
    • Takashi Iwai's avatar
      ALSA: sb: Fix PCM format bit calculation · 55ff2d1e
      Takashi Iwai authored
      The PCM format type in snd_pcm_format_t can't be treated as integer
      implicitly since it's with __bitwise.  We have already a helper
      function to get the bit index of the given type, and use it in each
      place instead.
      
      This fixes sparse warnings like:
        sound/isa/sb/sb16_main.c:61:44: warning: restricted snd_pcm_format_t degrades to integer
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      55ff2d1e
    • Takashi Iwai's avatar
      ALSA: wss: Fix sparse warning wrt PCM format type · 6be9a60e
      Takashi Iwai authored
      The PCM format type is with __bitwise, and it can't be converted from
      integer implicitly.  Instead of an ugly cast, declare the function
      argument of snd_wss_get_format() with the proper snd_pcm_format_t
      type.
      
      This fixes the sparse warnings like:
        sound/isa/wss/wss_lib.c:551:14: warning: restricted snd_pcm_format_t degrades to integer
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6be9a60e
    • Takashi Iwai's avatar
      ALSA: asihpi: Fix PCM format notations · a91a0e77
      Takashi Iwai authored
      asihpi driver treats -1 as an own invalid PCM format, but this needs
      a proper cast with __force prefix since PCM format type is __bitwise.
      Define a constant with the proper type and use it allover.
      
      This fixes sparse warnings like:
        sound/pci/asihpi/asihpi.c:315:9: warning: incorrect type in initializer (different base types)
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a91a0e77
    • Takashi Iwai's avatar
      ALSA: au88x0: Fix sparse warning wrt PCM format type · 10d3d91e
      Takashi Iwai authored
      The PCM format type is with __bitwise, and it can't be converted from
      integer implicitly.  Instead of an ugly cast, declare the function
      argument of vortex_alsafmt_aspfmt() with the proper snd_pcm_format_t
      type.
      
      This fixes the sparse warning like:
        sound/pci/au88x0/au88x0_core.c:2778:14: warning: restricted snd_pcm_format_t degrades to integer
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      10d3d91e
    • Takashi Iwai's avatar
      ALSA: ad1816a: Fix sparse warning wrt PCM format type · d63f33d3
      Takashi Iwai authored
      The PCM format type is with __bitwise, and it can't be converted from
      integer implicitly.  Instead of an ugly cast, declare the function
      argument of snd_ad1816a_get_format() with the proper snd_pcm_format_t
      type.
      
      This fixes the sparse warning like:
        sound/isa/ad1816a/ad1816a_lib.c:93:14: warning: restricted snd_pcm_format_t degrades to integer
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d63f33d3
    • Takashi Iwai's avatar
      ALSA: pcm: Fix sparse warning wrt PCM format type · f8b6c0cf
      Takashi Iwai authored
      The PCM format type is with __bitwise, hence it needs the explicit
      cast with __force.  It's ugly, but there is a reason for that cost...
      
      This fixes the sparse warning:
        sound/core/oss/pcm_oss.c:1854:55: warning: incorrect type in argument 1 (different base types)
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      f8b6c0cf
    • Takashi Iwai's avatar
      ALSA: riptide: Fix PCM format type conversion · 94dfee0c
      Takashi Iwai authored
      The PCM format type is with __bitwise, hence it needs to be explicitly
      declared as snd_pcm_format_t, as warned by sparse:
        sound/pci/riptide/riptide.c:1028:34: warning: incorrect type in argument 1 (different base types)
        sound/pci/riptide/riptide.c:1028:34:    expected restricted snd_pcm_format_t [usertype] format
        sound/pci/riptide/riptide.c:1028:34:    got unsigned char [unsigned] format
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      94dfee0c
    • Takashi Iwai's avatar
      ALSA: hda: Fix implicit PCM format type conversion · a6ea5fe9
      Takashi Iwai authored
      The PCM format type is defined with __bitwise, hence it can't be
      passed as integer but needs an explicit cast.  In this patch, instead
      of the messy cast flood, define the format argument of
      snd_hdac_calc_stream_format() to be the proper snd_pcm_format_t type.
      
      This fixes sparse warnings like:
        sound/hda/hdac_device.c:760:38: warning: incorrect type in argument 1 (different base types)
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a6ea5fe9
  2. 26 Jul, 2018 14 commits
  3. 24 Jul, 2018 1 commit
    • Takashi Iwai's avatar
      ALSA: hda/i915: Allow delayed i915 audio component binding · f9b54e19
      Takashi Iwai authored
      Currently HD-audio i915 audio binding doesn't support any delayed
      binding, and supposes that the i915 driver registers the component
      immediately.  This has been OK, so far, but the work-in-progress
      change in i915 may introduce the asynchronous binding, which
      effectively delays the component registration.
      
      For addressing it, implement a completion to be synced with the master
      binding.  The timeout is set to 10 seconds which should be long enough
      and hopefully be not too annoying if anyone boots up a debugging
      session with i915 KMS turned off.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      f9b54e19
  4. 23 Jul, 2018 1 commit
  5. 22 Jul, 2018 1 commit
    • Srikanth K H's avatar
      ALSA: timer: catch invalid timer object creation · d10ee9c5
      Srikanth K H authored
      A timer object for the classes SNDRV_TIMER_CLASS_CARD and
      SNDRV_TIMER_CLASS_PCM has to be associated with a card object, but we
      have no check at creation time.  Such a timer object with NULL card
      causes various unexpected problems, e.g. NULL dereference at reading
      the sound timer proc file.
      
      So as preventive measure while the creating the sound timer object is
      created the card information availability is checked for the mentioned
      entries and returned error if its NULL.
      Signed-off-by: default avatarSrikanth K H <srikanth.h@samsung.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d10ee9c5
  6. 19 Jul, 2018 2 commits