On 8/7/24 13:11, Maximilian Luz wrote:
On 8/7/24 9:50 PM, Guenter Roeck wrote:
On 8/7/24 12:25, Maximilian Luz wrote:
On 8/7/24 2:32 AM, Guenter Roeck wrote:
On 8/4/24 16:08, Maximilian Luz wrote:
[...]
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index b60fe2e58ad6..70c6385f0ed6 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -2080,6 +2080,16 @@ config SENSORS_SURFACE_FAN
Select M or Y here, if you want to be able to read the fan's speed.
+config SENSORS_SURFACE_TEMP
+ tristate "Microsoft Surface Thermal Sensor Driver"
+ depends on SURFACE_AGGREGATOR
As the kernel test robot points out, this dependency is wrong.
__ssam_device_driver_register() is only available
if SURFACE_AGGREGATOR_BUS is enabled.
Right, I should have spotted this before submission, sorry. This should
be
depends on SURFACE_AGGREGATOR
depends on SURFACE_AGGREGATOR_BUS
SURFACE_AGGREGATOR_BUS already depends on SURFACE_AGGREGATOR, so the extra
dependency is not needed.
Unfortunately, SURFACE_AGGREGATOR_BUS is a bool and SURFACE_AGGREGATOR
tri-state, and the inference of whether SURFACE_AGGREGATOR needs to be
built in or not breaks because of that. Meaning we could have something
like
SENSORS_SURFACE_TEMP=y (tri-state, module)
SURFACE_AGGREGATOR_BUS=y (bool, optional-code-flag)
SURFACE_AGGREGATOR=m (tri-state, module)
because SURFACE_AGGREGATOR_BUS is fine with either m or y. But in
reality, SENSORS_SURFACE_TEMP=y would require SURFACE_AGGREGATOR=y.
Ah yes, I can see that the double dependency is there everywhere. Normally I'd
have assumed that to be handled with SURFACE_AGGREGATOR_BUS as non-configurable
option and its users selecting it, i.e.,
depends on SURFACE_AGGREGATOR
select SURFACE_AGGREGATOR_BUS
but, sure, it is your call to make SURFACE_AGGREGATOR_BUS a configurable
(instead of selectable) option. I don't understand the benefit of being able
to enable SURFACE_AGGREGATOR_BUS without any users, but then maybe I just
don't have sufficient understanding of the context.
Thanks,
Guenter