linux/drivers/watchdog
Paul Walmsley 129f557723 watchdog: OMAP: use standard GETBOOTSTATUS interface; use platform_data fn ptr
Previously the OMAP watchdog driver used a non-standard way to report
the chip reset source via the GETBOOTSTATUS ioctl.  This patch
converts the driver to use the standard WDIOF_* flags for this
purpose.

This patch may break existing userspace code that uses the existing
non-standard data format returned by the OMAP watchdog driver's
GETBOOTSTATUS ioctl.  To fetch detailed reset source information,
userspace code will need to retrieve it directly from the CGRM or PRM
drivers when those are completed.

Previously, to fetch the reset source, the driver either read a
register outside the watchdog IP block (OMAP1), or called a function
exported directly from arch/arm/mach-omap2.  Both approaches are
broken.  This patch also converts the driver to use a platform_data
function pointer.  This approach is temporary, and is due to the lack
of drivers for the OMAP16xx+ Clock Generation and Reset Management IP
block and the OMAP2+ Power and Reset Management IP block.  Once
drivers are available for those IP blocks, the watchdog driver can be
converted to call exported functions from those drivers directly.
At that point, the platform_data function pointer can be removed.

In the short term, this patch is needed to allow the PRM code to be
removed from arch/arm/mach-omap2 (it is being moved to a driver).

This version integrates a fix from Jon Hunter <jon-hunter@ti.com>
that avoids a NULL pointer dereference in a DT-only boot, and integrates
a patch commit message fix from Felipe Balbi <balbi@ti.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Wim Van Sebroeck <wim@iguana.be>
Acked-by: Wim Van Sebroeck <wim@iguana.be>
[paul@pwsan.com: integrated pdata fix from Jon Hunter]
Cc: Jon Hunter <jon-hunter@ti.com>
[paul@pwsan.com: integrated changelog fix from Felipe Balbi]
Cc: Felipe Balbi <balbi@ti.com>
2012-11-08 12:33:07 -07:00
..
acquirewdt.c
advantechwdt.c
alim1535_wdt.c
alim7101_wdt.c
ar7_wdt.c watchdog: ar7_wdt.c: use devm_request_and_ioremap 2012-05-23 16:16:43 +02:00
at32ap700x_wdt.c
at91rm9200_wdt.c
at91sam9_wdt.c
at91sam9_wdt.h
ath79_wdt.c
bcm47xx_wdt.c
bcm63xx_wdt.c watchdog: bcm63xx_wdt: fix driver section mismatch 2012-07-23 12:49:24 +02:00
bfin_wdt.c
booke_wdt.c booke/wdt: some ioctls do not return values properly 2012-08-17 09:03:51 -05:00
coh901327_wdt.c watchdog: coh901327_wdt: use clk_prepare/unprepare 2012-07-23 12:46:49 +02:00
cpu5wdt.c
cpwd.c
da9052_wdt.c watchdog: da9052: Remove duplicate inclusion of delay.h 2012-08-29 17:13:06 +02:00
davinci_wdt.c
dw_wdt.c
ep93xx_wdt.c
eurotechwdt.c
f71808e_wdt.c watchdog: f71808e_wdt: Add support for Jetway JNF99 motherboard 2012-07-23 12:46:38 +02:00
gef_wdt.c
geodewdt.c
hpwdt.c hpwdt: Fix kdump issue in hpwdt 2012-09-10 17:28:08 +02:00
i6300esb.c watchdog: Use module_pci_driver 2012-05-23 16:23:53 +02:00
ib700wdt.c
ibmasr.c
ie6xx_wdt.c watchdog: ie6xx_wdt: section mismatch in ie6xx_wdt_probe() 2012-07-23 12:49:44 +02:00
imx2_wdt.c
indydog.c
intel_scu_watchdog.c
intel_scu_watchdog.h
iop_wdt.c
it87_wdt.c watchdog: it87_wdt: Add support for IT8728F watchdog. 2012-05-23 16:24:43 +02:00
it8712f_wdt.c
iTCO_vendor_support.c
iTCO_vendor.h
iTCO_wdt.c mfd: lpc_ich: Add Device IDs for Intel Lynx Point-LP PCH 2012-09-16 00:39:47 +02:00
ixp4xx_wdt.c
jz4740_wdt.c
Kconfig ARM: mach-pnx4008: Remove architecture 2012-08-26 16:30:37 +02:00
ks8695_wdt.c watchdog: ks8695: sink registers into driver 2012-09-11 22:40:32 -07:00
lantiq_wdt.c watchdog: MIPS: lantiq: implement OF support and minor fixes 2012-05-21 14:31:54 +01:00
m54xx_wdt.c m68knommu: clean up ColdFire 54xx General Timer definitions 2012-09-27 23:34:03 +10:00
machzwd.c
Makefile Watchdog: DA9052/53 PMIC watchdog support 2012-05-30 07:56:12 +02:00
max63xx_wdt.c
mixcomwd.c
mpc8xxx_wdt.c watchdog/mpc8xxx: add a const qualifier 2012-09-11 08:57:20 +02:00
mpcore_wdt.c
mtx-1_wdt.c
mv64x60_wdt.c
nuc900_wdt.c
nv_tco.c
nv_tco.h
octeon-wdt-main.c
octeon-wdt-nmi.S
of_xilinx_wdt.c watchdog: xilinx: Read clock frequency directly from DT node 2012-07-23 12:47:00 +02:00
omap_wdt.c watchdog: OMAP: use standard GETBOOTSTATUS interface; use platform_data fn ptr 2012-11-08 12:33:07 -07:00
omap_wdt.h
orion_wdt.c ARM: arm-soc Marvell Orion device-tree updates 2012-08-02 11:50:24 -07:00
pc87413_wdt.c
pcwd_pci.c watchdog: Use module_pci_driver 2012-05-23 16:23:53 +02:00
pcwd_usb.c
pcwd.c
pika_wdt.c
pnx833x_wdt.c
pnx4008_wdt.c watchdog: Device tree support for pnx4008-wdt 2012-05-23 16:16:55 +02:00
rc32434_wdt.c
rdc321x_wdt.c
riowd.c
s3c2410_wdt.c watchdog: s3c2410_wdt: Use module_platform_driver() 2012-07-23 12:50:51 +02:00
sa1100_wdt.c ARM: sa11x0/pxa: convert OS timer registers to IOMEM 2012-07-09 17:37:35 +01:00
sb_wdog.c
sbc60xxwdt.c
sbc7240_wdt.c
sbc8360.c
sbc_epx_c3.c
sbc_fitpc2_wdt.c
sc520_wdt.c
sc1200wdt.c
sch311x_wdt.c watchdog: sch311x_wdt: Fix Polarity when starting watchdog 2012-07-23 12:50:30 +02:00
scx200_wdt.c
shwdt.c watchdog: shwdt: Use finer grained clock control. 2012-05-10 16:14:40 +09:00
smsc37b787_wdt.c
softdog.c
sp805_wdt.c Viresh has moved 2012-06-20 14:39:36 -07:00
sp5100_tco.c watchdog: sp5100_tco.c: quiet sparse noise about using plain integer was NULL pointer 2012-05-23 16:16:21 +02:00
sp5100_tco.h
stmp3xxx_wdt.c
ts72xx_wdt.c
twl4030_wdt.c
txx9wdt.c
via_wdt.c watchdog: Add watchdog_active() routine 2012-05-30 07:53:46 +02:00
w83627hf_wdt.c
w83697hf_wdt.c
w83697ug_wdt.c
w83877f_wdt.c
w83977f_wdt.c
wafer5823wdt.c
watchdog_core.c watchdog: move the dereference below the NULL test 2012-09-10 17:33:17 +02:00
watchdog_core.h watchdog: Add multiple device support 2012-05-30 07:54:25 +02:00
watchdog_dev.c watchdog: core: fix WDIOC_GETSTATUS return value 2012-06-28 20:40:56 +02:00
wd501p.h
wdrtas.c
wdt285.c
wdt977.c
wdt_pci.c watchdog: Use module_pci_driver 2012-05-23 16:23:53 +02:00
wdt.c
wm831x_wdt.c watchdog: wm831x: Convert to gpio_request_one() 2012-05-23 16:26:07 +02:00
wm8350_wdt.c
xen_wdt.c