37c67d0398
The OMAP watchdog timer driver directly calls a function exported by code in arch/arm/mach-omap2. This is not good; it tightly couples this driver to the mach-omap2 integration code. Instead, add a temporary platform_data function pointer to abstract this function call. A subsequent patch will convert the watchdog driver to use this function pointer. This patch also moves the device creation code out of arch/arm/mach-omap2/devices.c and into arch/arm/mach-omap2/wd_timer.c. This is another step towards the removal of arch/arm/mach-omap2/devices.c. Cc: Wim Van Sebroeck <wim@iguana.be> Acked-by: Wim Van Sebroeck <wim@iguana.be> [paul@pwsan.com: skip wd_timer device creation when DT blob is present] Signed-off-by: Paul Walmsley <paul@pwsan.com>
39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
/*
|
|
* OMAP2+ WDTIMER-specific function prototypes
|
|
*
|
|
* Copyright (C) 2012 Texas Instruments, Inc.
|
|
* Paul Walmsley
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*/
|
|
|
|
#ifndef __LINUX_PLATFORM_DATA_OMAP_WD_TIMER_H
|
|
#define __LINUX_PLATFORM_DATA_OMAP_WD_TIMER_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
/*
|
|
* Standardized OMAP reset source bits
|
|
*
|
|
* This is a subset of the ones listed in arch/arm/mach-omap2/prm.h
|
|
* and are the only ones needed in the watchdog driver.
|
|
*/
|
|
#define OMAP_MPU_WD_RST_SRC_ID_SHIFT 3
|
|
|
|
/**
|
|
* struct omap_wd_timer_platform_data - WDTIMER integration to the host SoC
|
|
* @read_reset_sources - fn ptr for the SoC to indicate the last reset cause
|
|
*
|
|
* The function pointed to by @read_reset_sources must return its data
|
|
* in a standard format - search for RST_SRC_ID_SHIFT in
|
|
* arch/arm/mach-omap2
|
|
*/
|
|
struct omap_wd_timer_platform_data {
|
|
u32 (*read_reset_sources)(void);
|
|
};
|
|
|
|
#endif
|