Uploaded image for project: 'CKI Project'
  1. CKI Project
  2. CKI-6761

Enabled CONFIG silently ignored if dependencies are missing

XMLWordPrintable

      For the purpose of enabling a configuration option for a requested device driver in https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/3854, I added some new config files to the kernel repo:
      ```patch
      diff --git a/redhat/configs/rhel/generic/CONFIG_BT_HCIUART_QCA b/redhat/configs/rhel/generic/CONFIG_BT_HCIUART_QCA
      new file mode 100644
      index 000000000000..59d4f58cb0e7
      — /dev/null
      +++ b/redhat/configs/rhel/generic/CONFIG_BT_HCIUART_QCA
      @@ -0,0 +1 @@
      +CONFIG_BT_HCIUART_QCA=y
      diff --git a/redhat/configs/rhel/generic/CONFIG_BT_QCA b/redhat/configs/rhel/generic/CONFIG_BT_QCA
      new file mode 100644
      index 000000000000..8eff84da60dc
      — /dev/null
      +++ b/redhat/configs/rhel/generic/CONFIG_BT_QCA
      @@ -0,0 +1 @@
      +CONFIG_BT_QCA=m
      ```

      But the CKI CI tests would not build those drivers at all. It took me a while to realise that there were configuration dependencies missing:
      ```
      config BT_HCIUART_QCA
      bool "Qualcomm Atheros protocol support"
      depends on BT_HCIUART
      depends on BT_HCIUART_SERDEV
      select BT_HCIUART_H4
      select BT_QCA
      help
      The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
      over serial port interface(H4) between controller and host.
      This protocol is required for UART clock control for QCA Bluetooth
      devices.

      Say Y here to compile support for QCA protocol.
      ```

      Manually finding and enabling the configuration option in `make menuconfig` showed the missing configuration option:
      ```
      +CONFIG_BT_HCIUART_SERDEV=y
      ```

      I would expect `process_configs.sh`/`make dist-configs` to warn about enabled (`m` or `y`) CONFIG options that don't actually end up being enabled in the builds because a dependency was never enabled, or a new dependency appeared that silently disabled the configuration option.

      Jira: CKI-6761(https://issues.redhat.com/browse/CKI-6761)

              Unassigned Unassigned
              rh-ee-tdaapare Tales Lelo da Aparecida
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: