| ce5c7c17 | 26-Feb-2026 |
Josua Mayer <josua@solid-run.com> |
mux: add visible config symbol to enable multiplexer subsystem
The multiplexer subsystem was initially designed to be completely hidden, relying on consumers to "select MULTIPLEXER" explicitly.
Dri
mux: add visible config symbol to enable multiplexer subsystem
The multiplexer subsystem was initially designed to be completely hidden, relying on consumers to "select MULTIPLEXER" explicitly.
Drivers implementing multiplexers depend on this hidden symbol.
This prevents users from manually enabling both the mux core and any of the multiplexer drivers.
All multiplexer drivers in drivers/mux/ can operate standalone without a consumer. This is particularly useful in a device-tree, where a default state can be set through the idle-state property.
Over time, several drivers have added "select MULTIPLEXER" dependencies, some of which require a mux and some consider it optional. v7.0-rc1 shows 15 such occurrences in Kconfig files, in a variety of subsystems.
The natural step forward to allow enabling mux core and drivers would be adding a prompt and help text to the existing symbol.
This violates the general Kbuild advice to avoid selecting visible symbols for all existing consumers of the mux core.
Add the new config symbol MUX_CORE with a prompt and help text as a wrapper for users to enable manually. This avoids existing consumers automatically selecting a visible symbol.
Change the MULTIPLEXER symbol from tristate to bool. This avoids complex dependencies if users were to attempt a configuration where the mux is a module but one of its consumers is built-in, as well as difficulties keeping the state of visible and invisible symbols in sync.
Further convert the "menu ... depends on ..." structure to "if ... menu ... endmenu endif". These are functionally equivalent, but the new structure is more efficient and can support future source statements within the conditional block.
Signed-off-by: Josua Mayer <josua@solid-run.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
show more ...
|
| 9761037d | 01-May-2025 |
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> |
mux: adgs1408: fix Wvoid-pointer-to-enum-cast warning
'chip_id' is an enum, thus cast of pointer on 64-bit compile test with W=1 causes:
adgs1408.c:63:12: error: cast to smaller integer type 'enu
mux: adgs1408: fix Wvoid-pointer-to-enum-cast warning
'chip_id' is an enum, thus cast of pointer on 64-bit compile test with W=1 causes:
adgs1408.c:63:12: error: cast to smaller integer type 'enum adgs1408_chip_id' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]
Reviewed-by: Nuno Sá <nuno.sa@analog.com> Link: https://lore.kernel.org/r/20250501181819.164207-2-krzysztof.kozlowski@linaro.org Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
show more ...
|
| 12d3c69b | 27-Mar-2025 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
mux: gpio: add optional regulator support
Some of the external muxes needs powering up using a regulator. This is the case with Lenovo T14s laptop which has a external audio mux to handle US/EURO he
mux: gpio: add optional regulator support
Some of the external muxes needs powering up using a regulator. This is the case with Lenovo T14s laptop which has a external audio mux to handle US/EURO headsets.
Add support to the driver to handle this optional regulator.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Tested-by: Christopher Obbard <christopher.obbard@linaro.org> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Johan Hovold <johan+linaro@kernel.org> Link: https://lore.kernel.org/r/20250327100633.11530-3-srinivas.kandagatla@linaro.org [krzk: Adjust dev_err message per Johan's review] Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
show more ...
|
| 61de83fd | 23-Jan-2025 |
Andrew Davis <afd@ti.com> |
mux: mmio: Do not use syscon helper to build regmap
The syscon helper device_node_to_regmap() is used to fetch a regmap registered to a device node. It also currently creates this regmap if the node
mux: mmio: Do not use syscon helper to build regmap
The syscon helper device_node_to_regmap() is used to fetch a regmap registered to a device node. It also currently creates this regmap if the node did not already have a regmap associated with it. This should only be used on "syscon" nodes. This driver is not such a device and instead uses device_node_to_regmap() on its own node as a hacky way to create a regmap for itself.
This will not work going forward and so we should create our regmap the normal way by defining our regmap_config, fetching our memory resource, then using the normal regmap_init_mmio() function.
Signed-off-by: Andrew Davis <afd@ti.com> Tested-by: Nishanth Menon <nm@ti.com> Link: https://lore.kernel.org/r/20250123182059.597491-1-afd@ti.com Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
show more ...
|
| 7ea3876a | 09-Apr-2025 |
Arnd Bergmann <arnd@arndb.de> |
mux: adg792a: remove incorrect of_match_ptr annotation
Building with W=1 shows a warning about adg792a_of_match being unused when CONFIG_OF is disabled:
drivers/mux/adg792a.c:134:34: error: unused
mux: adg792a: remove incorrect of_match_ptr annotation
Building with W=1 shows a warning about adg792a_of_match being unused when CONFIG_OF is disabled:
drivers/mux/adg792a.c:134:34: error: unused variable 'adg792a_of_match' [-Werror,-Wunused-const-variable]
Acked-by: Peter Rosin <peda@axentia.se> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20250409122314.2848028-4-arnd@kernel.org Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
show more ...
|
| 702a0950 | 06-Jun-2024 |
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> |
mux: adgs1408: simplify with spi_get_device_match_data()
Use spi_get_device_match_data() helper to simplify a bit the driver.
Link: https://lore.kernel.org/r/20240606142443.130517-1-krzysztof.kozlo
mux: adgs1408: simplify with spi_get_device_match_data()
Use spi_get_device_match_data() helper to simplify a bit the driver.
Link: https://lore.kernel.org/r/20240606142443.130517-1-krzysztof.kozlowski@linaro.org Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
show more ...
|