- 23 3月, 2013 2 次提交
-
-
由 Takahisa Tanaka 提交于
The AcpiMmioSel bit is bit 1 in the AcpiMmioEn register, but the current sp5100_tco driver is using bit 2. See 2.3.3 Power Management (PM) Registers page 150 of the AMD SB800-Series Southbridges Register Reference Guide [1]. AcpiMmioEn - RW – 8/16/32 bits - [PM_Reg: 24h] Field Name Bits Default Description AcpiMMioDecodeEn 0 0b Set to 1 to enable AcpiMMio space. AcpiMMIoSel 1 0b Set AcpiMMio registers to be memory-mapped or IO-mapped space. 0: Memory-mapped space 1: I/O-mapped space The sp5100_tco driver expects zero as a value of AcpiMmioSel (bit 1). Fortunately, no problems were caused by this typo, because the default value of the undocumented misused bit 2 seems to be zero. However, the sp5100_tco driver should use the correct bitmask value. [1] http://support.amd.com/us/Embedded_TechDocs/45482.pdfSigned-off-by: NTakahisa Tanaka <mc74hc00@gmail.com> Signed-off-by: NPaul Menzel <paulepanter@users.sourceforge.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be> Cc: stable <stable@vger.kernel.org>
-
由 Takahisa Tanaka 提交于
A problem was found on PC's with the SB700 chipset: The PC fails to load BIOS after running the 3.8.x kernel until the power is completely cut off. It occurs in all 3.8.x versions and the mainline version as of 2/4. The issue does not occur with the 3.7.x builds. There are two methods for accessing the watchdog registers. 1. Re-programming a resource address obtained by allocate_resource() to chipset. 2. Use the direct memory-mapped IO access. The method 1 can be used by all the chipsets (SP5100, SB7x0, SB8x0 or later). However, experience shows that only PC with the SB8x0 (or later) chipsets can use the method 2. This patch removes the method 1, because the critical problem was found. That's why the watchdog timer was able to be used on SP5100 and SB7x0 chipsets until now. Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1116835 Link: https://lkml.org/lkml/2013/2/14/271Signed-off-by: NTakahisa Tanaka <mc74hc00@gmail.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be> Cc: stable <stable@vger.kernel.org>
-
- 01 3月, 2013 28 次提交
-
-
由 Alessandro Rubini 提交于
The SP805 driver is only used by the Spear machines, and uses writel_relaxed, which is not available on all architectures. The dependency from CONFIG_ARM avoids compilation problems under randomconfig when CONFIG_ARM_AMBA is enabled for x86 builds. Signed-off-by: NAlessandro Rubini <rubini@gnudd.com> Acked-by: NGiancarlo Asnaghi <giancarlo.asnaghi@st.com> Signed-off-by: NDavide Ciminaghi <ciminaghi@gnudd.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Kumar, Anil 提交于
Update the code to use devm_* API so that driver core will manage resources. Signed-off-by: NKumar, Anil <anilkumar.v@ti.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Mrugesh Katepallewar 提交于
Get the clock using devm_clk_get(). Signed-off-by: NMrugesh Katepallewar <mrugesh.mk@ti.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Joachim Eastwood 提交于
Add DT support for at91rm9200_wdt. Signed-off-by: NJoachim Eastwood <manabian@gmail.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Fabio Porcedda 提交于
this patchset add the timeout-sec property to the following drivers: orion_wdt, pnx4008_wdt, s3c2410_wdt and at91sam9_wdt. The at91sam9_wdt is tested on evk-pr3, the other drivers are compile tested only. Signed-off-by: NFabio Porcedda <fabio.porcedda@gmail.com> Cc: Andrew Lunn <andrew@lunn.ch> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Wolfram Sang <w.sang@pengutronix.de> Cc: Masanari Iida <standby24x7@gmail.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Kukjin Kim <kgene.kim@samsung.com> Cc: Andrew Victor <linux@maxim.org.za> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Wenyou Yang 提交于
According to Documentation/watchdog/convert_drivers_to_kernel_api.txt, remove the file_operations struct, miscdevice, and obsolete includes Since the at91sam watchdog inherent characteristics, add the watchdog operations: at91wdt_start, at91wdt_stop and at91wdt_ping. Signed-off-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be> Cc: linux-watchdog@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
由 Pali Rohár 提交于
Like other watchdog drivers, this patch adds new option nowayout which overwrite WATCHDOG_NOWAYOUT. Signed-off-by: NPali Rohar <pali.rohar@gmail.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Fabio Porcedda 提交于
Add support for watchdog drivers to initialize/set the timeout field of the watchdog_device structure. The timeout field is initialised either with the module timeout parameter value (if valid) or with the timeout-sec dt property (if valid). If both are invalid the initial value is unchanged. Signed-off-by: NFabio Porcedda <fabio.porcedda@gmail.com> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Hauke Mehrtens 提交于
The more recent devices have a watchdog timer which could be configured for over 2 hours and not just 2 seconds like the first generation devices. For those devices do not use the extra software timer, but directly program the time into the register. This will automatically be used if the timer supports more than a minute. Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Hauke Mehrtens 提交于
Rename wdt_time to timeout to name it like the other watchdog driver do it. Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Hauke Mehrtens 提交于
Rename the methods registered to struct watchdog_ops bcm47xx_wdt_ops in order to add an other struct watchdog_ops using different ops in the next patch. Also rename WDT_MAX_TIME to WDT_SOFTTIMER_MAX. Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Hauke Mehrtens 提交于
Instead of accessing the function to set the watchdog timer directly, register a platform driver the platform could register to use this watchdog driver. Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Hauke Mehrtens 提交于
Convert the bcm47xx_wdt.c driver to the new watchdog core api. The nowayout parameter is now added unconditionally to the module. Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Guenter Roeck 提交于
Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Jingoo Han 提交于
Use devm_* functions to make cleanup paths more simple. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Wolfram Sang 提交于
Now that the new driver is in place, we can remove the old one. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Wolfram Sang 提交于
Replace the existing STMP3xxx driver because it has enough drawbacks that a rewrite is apropriate. The new driver is designed to use the watchdog framework which makes it a lot smaller and avoids open coding the watchdog API again. It also uses now an explicitly exported function from the RTC driver to set up its registers (the old driver silently reused the hopefully(!) already remapped RTC registers). Also, this driver is mach independent, while the old one depends on a mach replaced by another one a year ago. Since the user interface is still the standard watchdog API, users don't need to adapt. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Aaro Koskinen 提交于
Introduce Retu watchdog driver. Cc: linux-watchdog@vger.kernel.org Acked-by: NFelipe Balbi <balbi@ti.com> Acked-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Wim Van Sebroeck 提交于
Kernel symbol X86_MRST has been removed from the kernel. INTEL_SCU_WATCHDOG driver can never be compiled due dependence of X86_MRST which remained in the drivers/watchdog/Kconfig. Reported-by: NAlexander Shiyan <shc_work@mail.ru> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Lubomir Rintel 提交于
...so that it's automatically picked up on relevant platforms. Tested on Kirkwood-based GuruPlug. Signed-off-by: NLubomir Rintel <lkundrak@v3.sk> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Gabor Juhos 提交于
Cc: Grant Likely <grant.likely@secretlab.ca> Cc: devicetree-discuss@lists.ozlabs.org Signed-off-by: NGabor Juhos <juhosg@openwrt.org> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Gabor Juhos 提交于
The ath79_wdt driver uses a fixed memory address currently. Although this is working with each currently supported SoCs, but this may change in the future. Additionally, the driver includes platform specific header files in order to be able to get the memory base of the watchdog device. The patch adds a memory resource to the platform device, and converts the driver to get the base address of the watchdog device from that. Signed-off-by: NGabor Juhos <juhosg@openwrt.org> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Gabor Juhos 提交于
Use the managed version of clk_get. This allows to simplify the probe/remove functions a bit. Signed-off-by: NGabor Juhos <juhosg@openwrt.org> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Takahisa Tanaka 提交于
In case of SP5100 or SB7x0 chipsets, the sp5100_tco module writes zero to reserved bits. The module, however, shouldn't depend on specific default value, and should perform a read-merge-write operation for the reserved bits. This patch makes the sp5100_tco module perform a read-merge-write operation on all the chipset (sp5100, sb7x0, sb8x0 or later). Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43176Signed-off-by: NTakahisa Tanaka <mc74hc00@gmail.com> Tested-by: NPaul Menzel <paulepanter@users.sourceforge.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be> Cc: stable <stable@vger.kernel.org>
-
由 Takahisa Tanaka 提交于
In case of SB800 or later chipset and re-programming MMIO address(*), sp5100_tco module may read incorrect value of reserved bit, because the module reads a value from an incorrect I/O address. However, this bug doesn't cause a problem, because when re-programming MMIO address, by chance the module writes zero (this is BIOS's default value) to the low three bits of register. * In most cases, PC with SB8x0 or later chipset doesn't need to re-programming MMIO address, because such PC can enable AcpiMmio and can use 0xfed80b00 for watchdog register base address. This patch fixes this bug. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43176Signed-off-by: NTakahisa Tanaka <mc74hc00@gmail.com> Tested-by: NPaul Menzel <paulepanter@users.sourceforge.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be> Cc: stable <stable@vger.kernel.org>
-
由 Devendra Naga 提交于
this module missed a remove callback in the platform ops. Signed-off-by: NDevendra Naga <devendra.aaru@gmail.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Arnd Bergmann 提交于
The device IDs are referenced by the driver and potentially used beyond the init time, as kbuild correctly warns about. Remove the __initconst annotation. Without this patch, building at91_dt_defconfig results in: WARNING: drivers/watchdog/built-in.o(.data+0x28): Section mismatch in reference from the variable at91wdt_driver to the (unknown reference) .init.rodata:(unknown) The variable at91wdt_driver references the (unknown reference) __initconst (unknown) Signed-off-by: NArnd Bergmann <arnd@arndb.de> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Tested-by: NFabio Porcedda <fabio.porcedda@gmail.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be> Cc: linux-watchdog@vger.kernel.org
-
由 Randy Dunlap 提交于
DA9055_WATCHDOG (introduced in v3.8) needs to select WATCHDOG_CORE so that it will build cleanly. Fixes these build errors: da9055_wdt.c:(.text+0xe9bc7): undefined reference to `watchdog_unregister_device' da9055_wdt.c:(.text+0xe9f4b): undefined reference to `watchdog_register_device' Signed-off-by: NRandy Dunlap <rdunlap@infradead.org> Cc: David Dajun Chen <dchen@diasemi.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be> Cc: linux-watchdog@vger.kernel.org Cc: stable <stable@vger.kernel.org>
-
- 23 2月, 2013 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
-
- 14 2月, 2013 1 次提交
-
-
由 Fabio Baltieri 提交于
This patch adds support for the ux500_wdt watchdog that is found in ST-Ericsson Ux500 platform. The driver is based on PRCMU APIs. Acked-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NLee Jones <lee.jones@linaro.org> Acked-by: NWim Van Sebroeck <wim@iguana.be> Signed-off-by: NFabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
- 26 1月, 2013 1 次提交
-
-
由 Thierry Reding 提交于
Convert all uses of devm_request_and_ioremap() to the newly introduced devm_ioremap_resource() which provides more consistent error handling. devm_ioremap_resource() provides its own error messages so all explicit error messages can be removed from the failure code paths. Signed-off-by: NThierry Reding <thierry.reding@avionic-design.de> Cc: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 18 1月, 2013 1 次提交
-
-
由 Fabio Porcedda 提交于
This makes the code a bit smaller by getting rid of some boilerplate code. Signed-off-by: NFabio Porcedda <fabio.porcedda@gmail.com> Cc: Wim Van Sebroeck <wim@iguana.be> Cc: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 02 1月, 2013 4 次提交
-
-
由 Aaro Koskinen 提交于
Add DT support for twl4030_wdt. This is needed to get twl4030_wdt to probe when booting with DT. Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Aaro Koskinen 提交于
We forgot to delete this in the commit 4f4753d9 (watchdog: omap_wdt: convert to devm_ functions), and as a result the following compilation warning was introduced: drivers/watchdog/omap_wdt.c: In function 'omap_wdt_remove': drivers/watchdog/omap_wdt.c:299:19: warning: unused variable 'res' [-Wunused-variable] Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi> Reviewed-by: NPaul Walmsley <paul@pwsan.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Axel Lin 提交于
Otherwise, WDIOC_GETTIMEOUT returns wrong value if set_timeout fails. This patch also removes unnecessary ret variable in da9055_wdt_ping function. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Axel Lin 提交于
It is not required to free devm_ allocated data. Since kref_put needs a valid release function, da9055_wdt_release_resources() is not deleted. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
- 20 12月, 2012 2 次提交
-
-
由 Jason Gunthorpe 提交于
If the DT does not include a regs parameter then the null res would be dereferenced. Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Takahisa Tanaka 提交于
The current sp5100_tco driver only supports SP5100/SB7x0 chipset, doesn't support SB8x0 chipset, because current sp5100_tco driver doesn't know that the offset address for watchdog timer was changed from SB8x0 chipset. The offset address of SP5100 and SB7x0 chipsets are as follows, quote from the AMD SB700/710/750 Register Reference Guide (Page 164) and the AMD SP5100 Register Reference Guide (Page 166). WatchDogTimerControl 69h WatchDogTimerBase0 6Ch WatchDogTimerBase1 6Dh WatchDogTimerBase2 6Eh WatchDogTimerBase3 6Fh In contrast, the offset address of SB8x0 chipset is as follows, quote from AMD SB800-Series Southbridges Register Reference Guide (Page 147). WatchDogTimerEn 48h WatchDogTimerConfig 4Ch So, In the case of SB8x0 chipset, sp5100_tco reads meaningless MMIO address (for example, 0xbafe00) from wrong offset address, and the following message is logged. SP5100 TCO timer: mmio address 0xbafe00 already in use With this patch, sp5100_tco driver supports SB8x0 chipset, and can avoid iomem resource conflict. The processing of this patch is as follows. Step 1) Attempt to get the watchdog base address from indirect I/O (0xCD6 and 0xCD7). - Go to the step 7 if obtained address hasn't conflicted with other resource. But, currently, the address (0xfec000f0) conflicts with the IOAPIC MMIO address, and the following message is logged. SP5100 TCO timer: mmio address 0xfec000f0 already in use 0xfec000f0 is recommended by AMD BIOS Developer's Guide. So, go to the next step. Step 2) Attempt to get the SBResource_MMIO base address from AcpiMmioEN (for SB8x0, PM_Reg:24h) or SBResource_MMIO (SP5100/SB7x0, PCI_Reg:9Ch) register. - Go to the step 7 if these register has enabled by BIOS, and obtained address hasn't conflicted with other resource. - If above condition isn't true, go to the next step. Step 3) Attempt to get the free MMIO address from allocate_resource(). - Go to the step 7 if these register has enabled by BIOS, and obtained address hasn't conflicted with other resource. - Driver initialization has failed if obtained address has conflicted with other resource, and no 'force_addr' parameter is specified. Step 4) Use the specified address If 'force_addr' parameter is specified. - allocate_resource() function may fail, when the PCI bridge device occupies iomem resource from 0xf0000000 to 0xffffffff. To handle such a case, I added 'force_addr' parameter to sp5100_tco driver. With 'force_addr' parameter, sp5100_tco driver directly can assign MMIO address for watchdog timer from free iomem region. Note that It's dangerous to specify wrong address in the 'force_addr' parameter. Example of force_addr parameter use # cat /proc/iomem ...snip... fec00000-fec003ff : IOAPIC 0 <--- free MMIO region fec10000-fec1001f : pnp 00:0b fec20000-fec203ff : IOAPIC 1 ...snip... # cat /etc/modprobe.d/sp5100_tco.conf options sp5100_tco force_addr=0xfec00800 # modprobe sp5100_tco # cat /proc/iomem ...snip... fec00000-fec003ff : IOAPIC 0 fec00800-fec00807 : SP5100 TCO <--- watchdog timer MMIO address fec10000-fec1001f : pnp 00:0b fec20000-fec203ff : IOAPIC 1 ...snip... # - Driver initialization has failed if specified address has conflicted with other resource. Step 5) Disable the watchdog timer - To rewrite the watchdog timer register of the chipset, absolutely guarantee that the watchdog timer is disabled. Step 6) Re-program the watchdog timer MMIO address to chipset. - Re-program the obtained MMIO address in Step 3 or Step 4 to chipset via indirect I/O (0xCD6 and 0xCD7). Step 7) Enable and setup the watchdog timer This patch has worked fine on my test environment (ASUS M4A89GTD-PRO/USB3 and DL165G7). therefore I believe that it's no problem to re-program the MMIO address for watchdog timer to chipset during disabled watchdog. However, I'm not sure about it, because I don't know much about chipset programming. So, any comments will be welcome. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43176Tested-by: NArkadiusz Miskiewicz <arekm@maven.pl> Tested-by: NPaul Menzel <paulepanter@users.sourceforge.net> Signed-off-by: NTakahisa Tanaka <mc74hc00@gmail.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-