linux-pinenote/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 watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
advantechwdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
alim1535_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
alim7101_wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
ar7_wdt.c watchdog: ar7_wdt.c: use devm_request_and_ioremap 2012-05-23 16:16:43 +02:00
at32ap700x_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
at91rm9200_wdt.c Merge git://www.linux-watchdog.org/linux-watchdog 2012-03-28 13:03:26 -07:00
at91sam9_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
at91sam9_wdt.h ARM: at91: make watchdog drivers soc independent 2011-11-28 22:50:39 +08:00
ath79_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
bcm47xx_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
bcm63xx_wdt.c watchdog: bcm63xx_wdt: fix driver section mismatch 2012-07-23 12:49:24 +02:00
bfin_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
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 watchdog: Use pr_<fmt> and pr_<level> 2012-03-27 19:59:26 +02:00
cpwd.c watchdog: Use pr_<fmt> and pr_<level> 2012-03-27 19:59:26 +02:00
da9052_wdt.c watchdog: da9052: Remove duplicate inclusion of delay.h 2012-08-29 17:13:06 +02:00
davinci_wdt.c watchdog: convert drivers/watchdog/* to use module_platform_driver() 2012-01-06 15:17:25 +01:00
dw_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
ep93xx_wdt.c watchdog: ep93xx_wdt: timeout is an unsigned int value. 2012-03-27 20:15:24 +02:00
eurotechwdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
f71808e_wdt.c watchdog: f71808e_wdt: Add support for Jetway JNF99 motherboard 2012-07-23 12:46:38 +02:00
gef_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
geodewdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
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 Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
ibmasr.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
ie6xx_wdt.c watchdog: ie6xx_wdt: section mismatch in ie6xx_wdt_probe() 2012-07-23 12:49:44 +02:00
imx2_wdt.c watchdog imx2: prepare clk before enabling it 2012-04-25 17:03:42 +02:00
indydog.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
intel_scu_watchdog.c watchdog: Use pr_<fmt> and pr_<level> 2012-03-27 19:59:26 +02:00
intel_scu_watchdog.h watchdog: Use pr_<fmt> and pr_<level> 2012-03-27 19:59:26 +02:00
iop_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
it87_wdt.c watchdog: it87_wdt: Add support for IT8728F watchdog. 2012-05-23 16:24:43 +02:00
it8712f_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
iTCO_vendor.h watchdog: Convert iTCO_wdt driver to mfd model 2012-05-09 17:20:09 +02:00
iTCO_vendor_support.c watchdog: Convert iTCO_wdt driver to mfd model 2012-05-09 17:20:09 +02:00
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 watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
jz4740_wdt.c watchdog: fix set_timeout operations 2012-03-27 20:08:09 +02:00
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 Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
Makefile Watchdog: DA9052/53 PMIC watchdog support 2012-05-30 07:56:12 +02:00
max63xx_wdt.c watchdog: Convert max63xx_wdt driver to watchdog framework 2012-03-27 20:06:59 +02:00
mixcomwd.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
mpc8xxx_wdt.c watchdog/mpc8xxx: add a const qualifier 2012-09-11 08:57:20 +02:00
mpcore_wdt.c watchdog: mpcore_wdt: Allow platform_get_irq() to fail 2012-03-27 20:14:20 +02:00
mtx-1_wdt.c watchdog: convert drivers/watchdog/* to use module_platform_driver() 2012-01-06 15:17:25 +01:00
mv64x60_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
nuc900_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
nv_tco.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
nv_tco.h watchdog: Add TCO support for nVidia chipsets 2011-01-12 13:51:23 +00:00
octeon-wdt-main.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
octeon-wdt-nmi.S WATCHDOG: Add watchdog driver for OCTEON SOCs 2010-08-05 13:26:22 +01:00
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 watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
orion_wdt.c ARM: arm-soc Marvell Orion device-tree updates 2012-08-02 11:50:24 -07:00
pc87413_wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
pcwd.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
pcwd_pci.c watchdog: Use module_pci_driver 2012-05-23 16:23:53 +02:00
pcwd_usb.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
pika_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
pnx833x_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
pnx4008_wdt.c watchdog: Device tree support for pnx4008-wdt 2012-05-23 16:16:55 +02:00
rc32434_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
rdc321x_wdt.c watchdog: convert drivers/watchdog/* to use module_platform_driver() 2012-01-06 15:17:25 +01:00
riowd.c watchdog: Use pr_<fmt> and pr_<level> 2012-03-27 19:59:26 +02:00
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 watchdog: Use pr_<fmt> and pr_<level> 2012-03-27 19:59:26 +02:00
sbc60xxwdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
sbc7240_wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
sbc8360.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
sbc_epx_c3.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
sbc_fitpc2_wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
sc520_wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
sc1200wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
sch311x_wdt.c watchdog: sch311x_wdt: Fix Polarity when starting watchdog 2012-07-23 12:50:30 +02:00
scx200_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
shwdt.c watchdog: shwdt: Use finer grained clock control. 2012-05-10 16:14:40 +09:00
smsc37b787_wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
softdog.c watchdog: softdog: convert to watchdog core 2012-03-27 20:07:21 +02:00
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 watchdog: Add support for sp5100 chipset TCO 2011-01-12 13:51:16 +00:00
stmp3xxx_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
ts72xx_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
twl4030_wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
txx9wdt.c watchdog: txx9wdt: fix timeout 2012-03-27 20:16:13 +02:00
via_wdt.c watchdog: Add watchdog_active() routine 2012-05-30 07:53:46 +02:00
w83627hf_wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
w83697hf_wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
w83697ug_wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
w83877f_wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
w83977f_wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
wafer5823wdt.c watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
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 watchdog: nowayout is bool 2012-03-27 20:06:02 +02:00
wdt.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
wdt285.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
wdt977.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
wdt_pci.c watchdog: Use module_pci_driver 2012-05-23 16:23:53 +02:00
wm831x_wdt.c watchdog: wm831x: Convert to gpio_request_one() 2012-05-23 16:26:07 +02:00
wm8350_wdt.c watchdog: fix set_timeout operations 2012-03-27 20:08:09 +02:00
xen_wdt.c watchdog: xen: don't clear is_active when xen_wdt_stop() failed 2012-03-27 20:13:55 +02:00