platform: cznic: turris-omnia-mcu: Make watchdog code optional
Make the watchdog part of the driver optional, under a boolean config
option. Move the dependency to WATCHDOG to this new option, and change
the WATCHDOG_CORE dependency to selection, as is done in most watchdog
drivers.
This makes the turris-omnia-mcu driver available for compilation even if
WATCHDOG is disabled.
Fixes: ed46f1f773 ("platform: cznic: turris-omnia-mcu: fix Kconfig dependencies")
Signed-off-by: Marek Behún <kabel@kernel.org>
Link: https://lore.kernel.org/r/20240719085756.30598-2-kabel@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
committed by
Arnd Bergmann
parent
8400291e28
commit
019f87f1ef
@@ -17,11 +17,9 @@ config TURRIS_OMNIA_MCU
|
||||
depends on MACH_ARMADA_38X || COMPILE_TEST
|
||||
depends on I2C
|
||||
depends on OF
|
||||
depends on WATCHDOG
|
||||
depends on GPIOLIB
|
||||
depends on HW_RANDOM
|
||||
depends on RTC_CLASS
|
||||
depends on WATCHDOG_CORE
|
||||
select GPIOLIB_IRQCHIP
|
||||
help
|
||||
Say Y here to add support for the features implemented by the
|
||||
@@ -31,7 +29,6 @@ config TURRIS_OMNIA_MCU
|
||||
disabled) and the ability to configure wake up from this mode (via
|
||||
rtcwake)
|
||||
- true random number generator (if available on the MCU)
|
||||
- MCU watchdog
|
||||
- GPIO pins
|
||||
- to get front button press events (the front button can be
|
||||
configured either to generate press events to the CPU or to change
|
||||
@@ -44,7 +41,21 @@ config TURRIS_OMNIA_MCU
|
||||
to be able to program SOC's OTP on board revisions 32+
|
||||
- to get input from the LED output pins of the WAN ethernet PHY, LAN
|
||||
switch and MiniPCIe ports
|
||||
Other features can be enabled by subsequent config options.
|
||||
To compile this driver as a module, choose M here; the module will be
|
||||
called turris-omnia-mcu.
|
||||
|
||||
if TURRIS_OMNIA_MCU
|
||||
|
||||
config TURRIS_OMNIA_MCU_WATCHDOG
|
||||
bool "Turris Omnia MCU watchdog"
|
||||
default y
|
||||
depends on WATCHDOG
|
||||
select WATCHDOG_CORE
|
||||
help
|
||||
Say Y here to add support for watchdog provided by CZ.NIC's Turris
|
||||
Omnia MCU.
|
||||
|
||||
endif # TURRIS_OMNIA_MCU
|
||||
|
||||
endif # CZNIC_PLATFORMS
|
||||
|
||||
@@ -5,4 +5,4 @@ turris-omnia-mcu-y := turris-omnia-mcu-base.o
|
||||
turris-omnia-mcu-y += turris-omnia-mcu-gpio.o
|
||||
turris-omnia-mcu-y += turris-omnia-mcu-sys-off-wakeup.o
|
||||
turris-omnia-mcu-y += turris-omnia-mcu-trng.o
|
||||
turris-omnia-mcu-y += turris-omnia-mcu-watchdog.o
|
||||
turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_WATCHDOG) += turris-omnia-mcu-watchdog.o
|
||||
|
||||
@@ -47,8 +47,10 @@ struct omnia_mcu {
|
||||
u32 rtc_alarm;
|
||||
bool front_button_poweron;
|
||||
|
||||
#ifdef CONFIG_TURRIS_OMNIA_MCU_WATCHDOG
|
||||
/* MCU watchdog */
|
||||
struct watchdog_device wdt;
|
||||
#endif
|
||||
|
||||
/* true random number generator */
|
||||
struct hwrng trng;
|
||||
@@ -189,6 +191,14 @@ extern const struct attribute_group omnia_mcu_poweroff_group;
|
||||
int omnia_mcu_register_gpiochip(struct omnia_mcu *mcu);
|
||||
int omnia_mcu_register_sys_off_and_wakeup(struct omnia_mcu *mcu);
|
||||
int omnia_mcu_register_trng(struct omnia_mcu *mcu);
|
||||
|
||||
#ifdef CONFIG_TURRIS_OMNIA_MCU_WATCHDOG
|
||||
int omnia_mcu_register_watchdog(struct omnia_mcu *mcu);
|
||||
#else
|
||||
static inline int omnia_mcu_register_watchdog(struct omnia_mcu *mcu)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __TURRIS_OMNIA_MCU_H */
|
||||
|
||||
Reference in New Issue
Block a user