diff mbox series

hwmon: (surface_fan) Change dependency on SURFACE_AGGREGATOR_BUS to 'select'

Message ID 20240810214709.425095-1-luzmaximilian@gmail.com (mailing list archive)
State Not Applicable
Headers show
Series hwmon: (surface_fan) Change dependency on SURFACE_AGGREGATOR_BUS to 'select' | expand

Commit Message

Maximilian Luz Aug. 10, 2024, 9:47 p.m. UTC
The SURFACE_AGGREGATOR_BUS option specifies whether SAM bus support is
build into the SAM controller driver or not. The surface_fan module
requires this, due to which it has a dependency on the option.

However, from an end-user perspective, it makes more sense to
automatically enable the option when choosing to include the fan driver,
rather than requiring the user to know that they have to enable bus
support first before they get shown the option for the fan driver.

Therefore change the 'depends on' to 'select'.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---
 drivers/hwmon/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Maximilian Luz Aug. 10, 2024, 11:20 p.m. UTC | #1
On 8/10/24 11:47 PM, Maximilian Luz wrote:
> The SURFACE_AGGREGATOR_BUS option specifies whether SAM bus support is
> build into the SAM controller driver or not. The surface_fan module
> requires this, due to which it has a dependency on the option.
> 
> However, from an end-user perspective, it makes more sense to
> automatically enable the option when choosing to include the fan driver,
> rather than requiring the user to know that they have to enable bus
> support first before they get shown the option for the fan driver.
> 
> Therefore change the 'depends on' to 'select'.
> 
> Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
> ---
>   drivers/hwmon/Kconfig | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
> index b60fe2e58ad6..e4d9a035a57a 100644
> --- a/drivers/hwmon/Kconfig
> +++ b/drivers/hwmon/Kconfig
> @@ -2069,7 +2069,7 @@ config SENSORS_SFCTEMP
>   config SENSORS_SURFACE_FAN
>   	tristate "Surface Fan Driver"
>   	depends on SURFACE_AGGREGATOR
> -	depends on SURFACE_AGGREGATOR_BUS
> +	select SURFACE_AGGREGATOR_BUS
>   	help
>   	  Driver that provides monitoring of the fan on Surface Pro devices that
>   	  have a fan, like the Surface Pro 9.

I should have properly build-tested this, sorry. It seems that it
creates a recursion in Kconfig. So please disregard this, and let's
stick to "depends on" until I have figured this out.

Best regards,
Max
kernel test robot Aug. 10, 2024, 11:53 p.m. UTC | #2
Hi Maximilian,

kernel test robot noticed the following build errors:

[auto build test ERROR on groeck-staging/hwmon-next]
[also build test ERROR on linus/master v6.11-rc2 next-20240809]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Maximilian-Luz/hwmon-surface_fan-Change-dependency-on-SURFACE_AGGREGATOR_BUS-to-select/20240811-054808
base:   https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
patch link:    https://lore.kernel.org/r/20240810214709.425095-1-luzmaximilian%40gmail.com
patch subject: [PATCH] hwmon: (surface_fan) Change dependency on SURFACE_AGGREGATOR_BUS to 'select'
config: x86_64-rhel-8.3-rust (attached as .config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240811/202408110753.1wxzPUwV-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408110753.1wxzPUwV-lkp@intel.com/

All errors (new ones prefixed by >>):

>> error: recursive dependency detected!
   symbol GPIOLIB is selected by I2C_MUX_LTC4306
   symbol I2C_MUX_LTC4306 depends on I2C_MUX
   symbol I2C_MUX is selected by MPU3050_I2C
   symbol MPU3050_I2C depends on IIO
   symbol IIO is implied by HID_MCP2221
   symbol HID_MCP2221 depends on HID
   symbol HID is selected by SURFACE_HID_CORE
   symbol SURFACE_HID_CORE is selected by SURFACE_HID
   symbol SURFACE_HID depends on SURFACE_AGGREGATOR_REGISTRY
   symbol SURFACE_AGGREGATOR_REGISTRY depends on SURFACE_AGGREGATOR_BUS
   symbol SURFACE_AGGREGATOR_BUS is selected by SENSORS_SURFACE_FAN
   symbol SENSORS_SURFACE_FAN depends on HWMON
   symbol HWMON is selected by EEEPC_LAPTOP
   symbol EEEPC_LAPTOP depends on ACPI_VIDEO
   symbol ACPI_VIDEO depends on BACKLIGHT_CLASS_DEVICE
   symbol BACKLIGHT_CLASS_DEVICE is selected by FB_BACKLIGHT
   symbol FB_BACKLIGHT is selected by FB_SSD1307
   symbol FB_SSD1307 depends on GPIOLIB
   For a resolution refer to Documentation/kbuild/kconfig-language.rst
   subsection "Kconfig recursive dependency limitations"
Guenter Roeck Aug. 12, 2024, 4:44 a.m. UTC | #3
On 8/10/24 16:20, Maximilian Luz wrote:
> On 8/10/24 11:47 PM, Maximilian Luz wrote:
>> The SURFACE_AGGREGATOR_BUS option specifies whether SAM bus support is
>> build into the SAM controller driver or not. The surface_fan module
>> requires this, due to which it has a dependency on the option.
>>
>> However, from an end-user perspective, it makes more sense to
>> automatically enable the option when choosing to include the fan driver,
>> rather than requiring the user to know that they have to enable bus
>> support first before they get shown the option for the fan driver.
>>
>> Therefore change the 'depends on' to 'select'.
>>
>> Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
>> ---
>>   drivers/hwmon/Kconfig | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
>> index b60fe2e58ad6..e4d9a035a57a 100644
>> --- a/drivers/hwmon/Kconfig
>> +++ b/drivers/hwmon/Kconfig
>> @@ -2069,7 +2069,7 @@ config SENSORS_SFCTEMP
>>   config SENSORS_SURFACE_FAN
>>       tristate "Surface Fan Driver"
>>       depends on SURFACE_AGGREGATOR
>> -    depends on SURFACE_AGGREGATOR_BUS
>> +    select SURFACE_AGGREGATOR_BUS
>>       help
>>         Driver that provides monitoring of the fan on Surface Pro devices that
>>         have a fan, like the Surface Pro 9.
> 
> I should have properly build-tested this, sorry. It seems that it
> creates a recursion in Kconfig. So please disregard this, and let's
> stick to "depends on" until I have figured this out.
> 

You'd probably have to change all of them at the same time.

Guenter
Maximilian Luz Aug. 13, 2024, 6:43 p.m. UTC | #4
On 8/12/24 6:44 AM, Guenter Roeck wrote:
> On 8/10/24 16:20, Maximilian Luz wrote:
>> On 8/10/24 11:47 PM, Maximilian Luz wrote:
>>> The SURFACE_AGGREGATOR_BUS option specifies whether SAM bus support is
>>> build into the SAM controller driver or not. The surface_fan module
>>> requires this, due to which it has a dependency on the option.
>>>
>>> However, from an end-user perspective, it makes more sense to
>>> automatically enable the option when choosing to include the fan driver,
>>> rather than requiring the user to know that they have to enable bus
>>> support first before they get shown the option for the fan driver.
>>>
>>> Therefore change the 'depends on' to 'select'.
>>>
>>> Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
>>> ---
>>>   drivers/hwmon/Kconfig | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
>>> index b60fe2e58ad6..e4d9a035a57a 100644
>>> --- a/drivers/hwmon/Kconfig
>>> +++ b/drivers/hwmon/Kconfig
>>> @@ -2069,7 +2069,7 @@ config SENSORS_SFCTEMP
>>>   config SENSORS_SURFACE_FAN
>>>       tristate "Surface Fan Driver"
>>>       depends on SURFACE_AGGREGATOR
>>> -    depends on SURFACE_AGGREGATOR_BUS
>>> +    select SURFACE_AGGREGATOR_BUS
>>>       help
>>>         Driver that provides monitoring of the fan on Surface Pro devices that
>>>         have a fan, like the Surface Pro 9.
>>
>> I should have properly build-tested this, sorry. It seems that it
>> creates a recursion in Kconfig. So please disregard this, and let's
>> stick to "depends on" until I have figured this out.
>>
> 
> You'd probably have to change all of them at the same time.

Right, I'll see if I can give that a try on the weekend.

Best regards,
Max
diff mbox series

Patch

diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index b60fe2e58ad6..e4d9a035a57a 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -2069,7 +2069,7 @@  config SENSORS_SFCTEMP
 config SENSORS_SURFACE_FAN
 	tristate "Surface Fan Driver"
 	depends on SURFACE_AGGREGATOR
-	depends on SURFACE_AGGREGATOR_BUS
+	select SURFACE_AGGREGATOR_BUS
 	help
 	  Driver that provides monitoring of the fan on Surface Pro devices that
 	  have a fan, like the Surface Pro 9.