1. 28 Jun, 2021 1 commit
  2. 24 Jun, 2021 1 commit
    • Shuah Khan's avatar
      media: Fix Media Controller API config checks · 50e7a31d
      Shuah Khan authored
      Smatch static checker warns that "mdev" can be null:
      
      sound/usb/media.c:287 snd_media_device_create()
          warn: 'mdev' can also be NULL
      
      If CONFIG_MEDIA_CONTROLLER is disabled, this file should not be included
      in the build.
      
      The below conditions in the sound/usb/Makefile are in place to ensure that
      media.c isn't included in the build.
      
      sound/usb/Makefile:
      snd-usb-audio-$(CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER) += media.o
      
      select SND_USB_AUDIO_USE_MEDIA_CONTROLLER if MEDIA_CONTROLLER &&
             (MEDIA_SUPPORT=y || MEDIA_SUPPORT=SND_USB_AUDIO)
      
      The following config check in include/media/media-dev-allocator.h is
      in place to enable the API only when CONFIG_MEDIA_CONTROLLER and
      CONFIG_USB are enabled.
      
       #if defined(CONFIG_MEDIA_CONTROLLER) && defined(CONFIG_USB)
      
      This check doesn't work as intended when CONFIG_USB=m. When CONFIG_USB=m,
      CONFIG_USB_MODULE is defined and CONFIG_USB is not. The above config check
      doesn't catch that CONFIG_USB is defined as a module and disables the API.
      This results in sound/usb enabling Media Controller specific ALSA driver
      code, while Media disables the Media Controller API.
      
      Fix the problem requires two changes:
      
      1. Change the check to use IS_ENABLED to detect when CONFIG_USB is enabled
         as a module or static. Since CONFIG_MEDIA_CONTROLLER is a bool, leave
         the check unchanged to be consistent with drivers/media/Makefile.
      
      2. Change the drivers/media/mc/Makefile to include mc-dev-allocator.o
         in mc-objs when CONFIG_USB is enabled.
      
      Link: https://lore.kernel.org/alsa-devel/YLeAvT+R22FQ%2FEyw@mwanda/Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
      50e7a31d
  3. 17 Jun, 2021 38 commits