1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for the WatchDog device drivers.
4#
5
6# The WatchDog Timer Driver Core.
7obj-$(CONFIG_WATCHDOG_CORE)	+= watchdog.o
8
9watchdog-objs	+= watchdog_core.o watchdog_dev.o
10
11watchdog-$(CONFIG_WATCHDOG_PRETIMEOUT_GOV)	+= watchdog_pretimeout.o
12watchdog-$(CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT)	+= watchdog_hrtimer_pretimeout.o
13
14obj-$(CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP)	+= pretimeout_noop.o
15obj-$(CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC)	+= pretimeout_panic.o
16
17# Only one watchdog can succeed. We probe the ISA/PCI/USB based
18# watchdog-cards first, then the architecture specific watchdog
19# drivers and then the architecture independent "softdog" driver.
20# This means that if your ISA/PCI/USB card isn't detected that
21# you can fall back to an architecture specific driver and if
22# that also fails then you can fall back to the software watchdog
23# to give you some cover.
24
25# ISA-based Watchdog Cards
26obj-$(CONFIG_PCWATCHDOG) += pcwd.o
27obj-$(CONFIG_MIXCOMWD) += mixcomwd.o
28obj-$(CONFIG_WDT) += wdt.o
29
30# PCI-based Watchdog Cards
31obj-$(CONFIG_PCIPCWATCHDOG) += pcwd_pci.o
32obj-$(CONFIG_WDTPCI) += wdt_pci.o
33
34# USB-based Watchdog Cards
35obj-$(CONFIG_USBPCWATCHDOG) += pcwd_usb.o
36
37# ALPHA Architecture
38
39# ARM Architecture
40obj-$(CONFIG_ARM_SP805_WATCHDOG) += sp805_wdt.o
41obj-$(CONFIG_ARM_SBSA_WATCHDOG) += sbsa_gwdt.o
42obj-$(CONFIG_ARMADA_37XX_WATCHDOG) += armada_37xx_wdt.o
43obj-$(CONFIG_ASM9260_WATCHDOG) += asm9260_wdt.o
44obj-$(CONFIG_AT91RM9200_WATCHDOG) += at91rm9200_wdt.o
45obj-$(CONFIG_AT91SAM9X_WATCHDOG) += at91sam9_wdt.o
46obj-$(CONFIG_CADENCE_WATCHDOG) += cadence_wdt.o
47obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
48obj-$(CONFIG_TWL4030_WATCHDOG) += twl4030_wdt.o
49obj-$(CONFIG_21285_WATCHDOG) += wdt285.o
50obj-$(CONFIG_977_WATCHDOG) += wdt977.o
51obj-$(CONFIG_FTWDT010_WATCHDOG) += ftwdt010_wdt.o
52obj-$(CONFIG_IXP4XX_WATCHDOG) += ixp4xx_wdt.o
53obj-$(CONFIG_S3C2410_WATCHDOG) += s3c2410_wdt.o
54obj-$(CONFIG_SA1100_WATCHDOG) += sa1100_wdt.o
55obj-$(CONFIG_SAMA5D4_WATCHDOG) += sama5d4_wdt.o
56obj-$(CONFIG_DW_WATCHDOG) += dw_wdt.o
57obj-$(CONFIG_EP93XX_WATCHDOG) += ep93xx_wdt.o
58obj-$(CONFIG_PNX4008_WATCHDOG) += pnx4008_wdt.o
59obj-$(CONFIG_DAVINCI_WATCHDOG) += davinci_wdt.o
60obj-$(CONFIG_K3_RTI_WATCHDOG) += rti_wdt.o
61obj-$(CONFIG_ORION_WATCHDOG) += orion_wdt.o
62obj-$(CONFIG_SUNXI_WATCHDOG) += sunxi_wdt.o
63obj-$(CONFIG_RN5T618_WATCHDOG) += rn5t618_wdt.o
64obj-$(CONFIG_NPCM7XX_WATCHDOG) += npcm_wdt.o
65obj-$(CONFIG_STMP3XXX_RTC_WATCHDOG) += stmp3xxx_rtc_wdt.o
66obj-$(CONFIG_TS4800_WATCHDOG) += ts4800_wdt.o
67obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o
68obj-$(CONFIG_IMX2_WDT) += imx2_wdt.o
69obj-$(CONFIG_IMX_SC_WDT) += imx_sc_wdt.o
70obj-$(CONFIG_IMX7ULP_WDT) += imx7ulp_wdt.o
71obj-$(CONFIG_DB500_WATCHDOG) += db8500_wdt.o
72obj-$(CONFIG_RETU_WATCHDOG) += retu_wdt.o
73obj-$(CONFIG_BCM2835_WDT) += bcm2835_wdt.o
74obj-$(CONFIG_MOXART_WDT) += moxart_wdt.o
75obj-$(CONFIG_ST_LPC_WATCHDOG) += st_lpc_wdt.o
76obj-$(CONFIG_QCOM_WDT) += qcom-wdt.o
77obj-$(CONFIG_BCM_KONA_WDT) += bcm_kona_wdt.o
78obj-$(CONFIG_TEGRA_WATCHDOG) += tegra_wdt.o
79obj-$(CONFIG_MESON_GXBB_WATCHDOG) += meson_gxbb_wdt.o
80obj-$(CONFIG_MESON_WATCHDOG) += meson_wdt.o
81obj-$(CONFIG_MEDIATEK_WATCHDOG) += mtk_wdt.o
82obj-$(CONFIG_DIGICOLOR_WATCHDOG) += digicolor_wdt.o
83obj-$(CONFIG_LPC18XX_WATCHDOG) += lpc18xx_wdt.o
84obj-$(CONFIG_BCM7038_WDT) += bcm7038_wdt.o
85obj-$(CONFIG_RENESAS_WDT) += renesas_wdt.o
86obj-$(CONFIG_RENESAS_RZAWDT) += rza_wdt.o
87obj-$(CONFIG_RENESAS_RZN1WDT) += rzn1_wdt.o
88obj-$(CONFIG_RENESAS_RZG2LWDT) += rzg2l_wdt.o
89obj-$(CONFIG_ASPEED_WATCHDOG) += aspeed_wdt.o
90obj-$(CONFIG_STM32_WATCHDOG) += stm32_iwdg.o
91obj-$(CONFIG_UNIPHIER_WATCHDOG) += uniphier_wdt.o
92obj-$(CONFIG_RTD119X_WATCHDOG) += rtd119x_wdt.o
93obj-$(CONFIG_SPRD_WATCHDOG) += sprd_wdt.o
94obj-$(CONFIG_PM8916_WATCHDOG) += pm8916_wdt.o
95obj-$(CONFIG_ARM_SMC_WATCHDOG) += arm_smc_wdt.o
96obj-$(CONFIG_GXP_WATCHDOG) += gxp-wdt.o
97obj-$(CONFIG_VISCONTI_WATCHDOG) += visconti_wdt.o
98obj-$(CONFIG_MSC313E_WATCHDOG) += msc313e_wdt.o
99obj-$(CONFIG_APPLE_WATCHDOG) += apple_wdt.o
100obj-$(CONFIG_SUNPLUS_WATCHDOG) += sunplus_wdt.o
101
102# X86 (i386 + ia64 + x86_64) Architecture
103obj-$(CONFIG_ACQUIRE_WDT) += acquirewdt.o
104obj-$(CONFIG_ADVANTECH_WDT) += advantechwdt.o
105obj-$(CONFIG_ALIM1535_WDT) += alim1535_wdt.o
106obj-$(CONFIG_ALIM7101_WDT) += alim7101_wdt.o
107obj-$(CONFIG_EBC_C384_WDT) += ebc-c384_wdt.o
108obj-$(CONFIG_EXAR_WDT) += exar_wdt.o
109obj-$(CONFIG_F71808E_WDT) += f71808e_wdt.o
110obj-$(CONFIG_SP5100_TCO) += sp5100_tco.o
111obj-$(CONFIG_GEODE_WDT) += geodewdt.o
112obj-$(CONFIG_SC520_WDT) += sc520_wdt.o
113obj-$(CONFIG_SBC_FITPC2_WATCHDOG) += sbc_fitpc2_wdt.o
114obj-$(CONFIG_EUROTECH_WDT) += eurotechwdt.o
115obj-$(CONFIG_IB700_WDT) += ib700wdt.o
116obj-$(CONFIG_IBMASR) += ibmasr.o
117obj-$(CONFIG_WAFER_WDT) += wafer5823wdt.o
118obj-$(CONFIG_I6300ESB_WDT) += i6300esb.o
119obj-$(CONFIG_IE6XX_WDT) += ie6xx_wdt.o
120obj-$(CONFIG_ITCO_WDT) += iTCO_wdt.o
121ifeq ($(CONFIG_ITCO_VENDOR_SUPPORT),y)
122obj-$(CONFIG_ITCO_WDT) += iTCO_vendor_support.o
123endif
124obj-$(CONFIG_IT8712F_WDT) += it8712f_wdt.o
125obj-$(CONFIG_IT87_WDT) += it87_wdt.o
126obj-$(CONFIG_HP_WATCHDOG) += hpwdt.o
127obj-$(CONFIG_KEMPLD_WDT) += kempld_wdt.o
128obj-$(CONFIG_SC1200_WDT) += sc1200wdt.o
129obj-$(CONFIG_SCx200_WDT) += scx200_wdt.o
130obj-$(CONFIG_PC87413_WDT) += pc87413_wdt.o
131obj-$(CONFIG_NV_TCO) += nv_tco.o
132obj-$(CONFIG_RDC321X_WDT) += rdc321x_wdt.o
133obj-$(CONFIG_60XX_WDT) += sbc60xxwdt.o
134obj-$(CONFIG_SBC8360_WDT) += sbc8360.o
135obj-$(CONFIG_SBC7240_WDT) += sbc7240_wdt.o
136obj-$(CONFIG_CPU5_WDT) += cpu5wdt.o
137obj-$(CONFIG_SMSC_SCH311X_WDT) += sch311x_wdt.o
138obj-$(CONFIG_SMSC37B787_WDT) += smsc37b787_wdt.o
139obj-$(CONFIG_TQMX86_WDT) += tqmx86_wdt.o
140obj-$(CONFIG_VIA_WDT) += via_wdt.o
141obj-$(CONFIG_W83627HF_WDT) += w83627hf_wdt.o
142obj-$(CONFIG_W83877F_WDT) += w83877f_wdt.o
143obj-$(CONFIG_W83977F_WDT) += w83977f_wdt.o
144obj-$(CONFIG_MACHZ_WDT) += machzwd.o
145obj-$(CONFIG_SBC_EPX_C3_WATCHDOG) += sbc_epx_c3.o
146obj-$(CONFIG_INTEL_MID_WATCHDOG) += intel-mid_wdt.o
147obj-$(CONFIG_INTEL_MEI_WDT) += mei_wdt.o
148obj-$(CONFIG_NI903X_WDT) += ni903x_wdt.o
149obj-$(CONFIG_NIC7018_WDT) += nic7018_wdt.o
150obj-$(CONFIG_MLX_WDT) += mlx_wdt.o
151obj-$(CONFIG_KEEMBAY_WATCHDOG) += keembay_wdt.o
152obj-$(CONFIG_SIEMENS_SIMATIC_IPC_WDT) += simatic-ipc-wdt.o
153
154# M68K Architecture
155obj-$(CONFIG_M54xx_WATCHDOG) += m54xx_wdt.o
156
157# MicroBlaze Architecture
158obj-$(CONFIG_XILINX_WATCHDOG) += of_xilinx_wdt.o
159
160# MIPS Architecture
161obj-$(CONFIG_ATH79_WDT) += ath79_wdt.o
162obj-$(CONFIG_BCM47XX_WDT) += bcm47xx_wdt.o
163obj-$(CONFIG_RC32434_WDT) += rc32434_wdt.o
164obj-$(CONFIG_INDYDOG) += indydog.o
165obj-$(CONFIG_JZ4740_WDT) += jz4740_wdt.o
166obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
167obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
168obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
169obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
170obj-$(CONFIG_OCTEON_WDT) += octeon-wdt.o
171octeon-wdt-y := octeon-wdt-main.o octeon-wdt-nmi.o
172obj-$(CONFIG_LANTIQ_WDT) += lantiq_wdt.o
173obj-$(CONFIG_LOONGSON1_WDT) += loongson1_wdt.o
174obj-$(CONFIG_RALINK_WDT) += rt2880_wdt.o
175obj-$(CONFIG_IMGPDC_WDT) += imgpdc_wdt.o
176obj-$(CONFIG_MT7621_WDT) += mt7621_wdt.o
177obj-$(CONFIG_PIC32_WDT) += pic32-wdt.o
178obj-$(CONFIG_PIC32_DMT) += pic32-dmt.o
179obj-$(CONFIG_REALTEK_OTTO_WDT) += realtek_otto_wdt.o
180
181# PARISC Architecture
182
183# POWERPC Architecture
184obj-$(CONFIG_GEF_WDT) += gef_wdt.o
185obj-$(CONFIG_8xxx_WDT) += mpc8xxx_wdt.o
186obj-$(CONFIG_PIKA_WDT) += pika_wdt.o
187obj-$(CONFIG_BOOKE_WDT) += booke_wdt.o
188obj-$(CONFIG_MEN_A21_WDT) += mena21_wdt.o
189
190# PPC64 Architecture
191obj-$(CONFIG_PSERIES_WDT) += pseries-wdt.o
192obj-$(CONFIG_WATCHDOG_RTAS) += wdrtas.o
193
194# S390 Architecture
195obj-$(CONFIG_DIAG288_WATCHDOG) += diag288_wdt.o
196
197# SUPERH (sh + sh64) Architecture
198obj-$(CONFIG_SH_WDT) += shwdt.o
199
200# SPARC Architecture
201
202# SPARC64 Architecture
203
204obj-$(CONFIG_WATCHDOG_RIO)		+= riowd.o
205obj-$(CONFIG_WATCHDOG_CP1XXX)		+= cpwd.o
206obj-$(CONFIG_WATCHDOG_SUN4V)		+= sun4v_wdt.o
207
208# XTENSA Architecture
209
210# Xen
211obj-$(CONFIG_XEN_WDT) += xen_wdt.o
212
213# Architecture Independent
214obj-$(CONFIG_BD957XMUF_WATCHDOG) += bd9576_wdt.o
215obj-$(CONFIG_DA9052_WATCHDOG) += da9052_wdt.o
216obj-$(CONFIG_DA9055_WATCHDOG) += da9055_wdt.o
217obj-$(CONFIG_DA9062_WATCHDOG) += da9062_wdt.o
218obj-$(CONFIG_DA9063_WATCHDOG) += da9063_wdt.o
219obj-$(CONFIG_GPIO_WATCHDOG)	+= gpio_wdt.o
220obj-$(CONFIG_WDAT_WDT) += wdat_wdt.o
221obj-$(CONFIG_WM831X_WATCHDOG) += wm831x_wdt.o
222obj-$(CONFIG_WM8350_WATCHDOG) += wm8350_wdt.o
223obj-$(CONFIG_MAX63XX_WATCHDOG) += max63xx_wdt.o
224obj-$(CONFIG_MAX77620_WATCHDOG) += max77620_wdt.o
225obj-$(CONFIG_ZIIRAVE_WATCHDOG) += ziirave_wdt.o
226obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o
227obj-$(CONFIG_MENF21BMC_WATCHDOG) += menf21bmc_wdt.o
228obj-$(CONFIG_MENZ069_WATCHDOG) += menz69_wdt.o
229obj-$(CONFIG_RAVE_SP_WATCHDOG) += rave-sp-wdt.o
230obj-$(CONFIG_STPMIC1_WATCHDOG) += stpmic1_wdt.o
231obj-$(CONFIG_SL28CPLD_WATCHDOG) += sl28cpld_wdt.o
232