11 Aug, 2015
2 commits
-
The revision of the watchdog hardware in Sunrisepoint necessitates a new
"version" inside the TCO watchdog driver because some of the register
layouts have changed.Also update the Kconfig entry to select both the LPC and SMBus drivers
since the TCO device is on the SMBus in Sunrisepoint.Signed-off-by: Matt Fleming
Reviewed-by: Guenter Roeck
Signed-off-by: Lee Jones -
Intel Sunrisepoint (Skylake PCH) has the iTCO watchdog accessible across
the SMBus, unlike previous generations of PCH/ICH where it was on the
LPC bus. Because it's on the SMBus, it doesn't make sense to pass around
a 'struct lpc_ich_info', and leaking the type of bus into the iTCO
watchdog driver is kind of backwards anyway.This change introduces a new 'struct itco_wdt_platform_data' for use
inside the iTCO watchdog driver and by the upcoming Intel Sunrisepoint
code, which neatly avoids having to include lpc_ich headers in the i801
i2c driver.This change is overdue because lpc_ich_info has already found its way
into other TCO watchdog users, notably the intel_pmc_ipc driver where
the watchdog actually isn't on the LPC bus as far as I can see.A simple translation layer is provided for converting from the existing
'struct lpc_ich_info' inside the lpc_ich mfd driver.Signed-off-by: Matt Fleming
Acked-by: Darren Hart [drivers/x86 refactoring]
Reviewed-by: Guenter Roeck
Signed-off-by: Lee Jones
03 Apr, 2015
1 commit
-
If the target sleep state of the system is not an ACPI sleep state
(S1, S2 or S3), the TCO watchdog needs to be stopped during system
suspend, because it may not be possible to ping it any more after
timekeeping has been suspended (suspend-to-idle does that for
one example).For this reason, provide ->suspend_noirq and ->resume_noirq
callbacks for the iTCO watchdog driver and use them to stop
and restart the watchdog during system suspend and resume,
respectively, if the system is not going to enter an ACPI
sleep state (in which case the watchdog will be stopped
by the platform firmware before the state is entered).Reported-and-tested-by: Borun Fu
Signed-off-by: Rafael J. Wysocki
Reviewed-by: Guenter Roeck
20 Oct, 2014
1 commit
-
A platform_driver does not need to set an owner, it will be populated by the
driver core.Signed-off-by: Wolfram Sang
08 Apr, 2014
1 commit
-
Pull MFD updates from Lee Jones:
"Changes to existing drivers:
- Use of managed resources - omap, twl4030, ti_am335x_tscadc
- Advanced error handling - omap
- Rework clk management - omap
- Device Tree (re-)work - tc3589x, pm8921, da9055, sec
- IRC management overhaul and !BROKEN - pm8921
- Convert to regmap - ssbi, pm8921
- Use simple power-management ops - ucb1x00
- Include file clean-up - adp5520, cs5535, janz, lpc_ich,
- lpc_sch, max14577, mcp-sa11x0, pcf50633-adc, rc5t583,
rdc321x-southbridge, retu, smsc-ece1099, ti-ssp, ti_am335x_tscadc,
tps65912, vexpress-config, wm8350, ywm8350
- Various bug fixes across the subsystem
- NULL/invalid pointer dereference prevention
- Resource leak mitigation,
- Variable used initialised
- Staticise various containers
- Enforce return value checksNew drivers/supported devices:
- Add support for s2mps14 and s2mpa01 to sec
- Add support for da9063 (v5) to da9063
- Add support for atom-c2000 to gpio-ich
- Add support for come-{mbt10,cbt6,chl6} to kempld
- Add support for da9053 to da9052
- Add support for itco-wdt (v3) and baytrail to lpc_ich
- Add new drivers for tps65218, rtsx_usb, bcm590xx(Re-)moved drivers:
- twl4030 ==> drivers/iio
- ti-ssp ==> /dev/null"* tag 'mfd-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (103 commits)
mfd: wm5110: Correct default for HEADPHONE_DETECT_1
mfd: arizona: Correct small errors in the DT binding documentation
mfd: arizona: Mark DSP clocking register as volatile
mfd: devicetree: bindings: Add pm8xxx RTC description
mfd: kempld-core: Fix potential hang-up during boot
mfd: sec-core: Fix uninitialized 'regmap_rtc' on S2MPA01
mfd: tps65910: Fix regmap_irq_chip_data leak on mfd_add_devices fail
mfd: tps65910: Fix possible invalid pointer dereference on regmap_add_irq_chip fail
mfd: sec-core: Fix I2C dummy device resource leak on probe failure
mfd: sec-core: Add of_compatible strings for clock MFD cells
mfd: Remove obsolete ti-ssp driver
Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks
mfd: bcm590xx: Fix type argument for module device table
mfd: lpc_ich: Add support for Intel Bay Trail SoC
mfd: lpc_ich: Add support for NM10 GPIO
mfd: lpc_ich: Change Avoton to iTCO v3
watchdog: iTCO_wdt: Add support for v3 silicon
mfd: lpc_ich: Add support for iTCO v3
mfd: lpc_ich: Remove lpc_ich_cfg struct use
mfd: lpc_ich: Only configure watchdog or GPIO when present
...
31 Mar, 2014
2 commits
-
The watchdog's parent is iTCO_wdt (the platform device) not lpc_ich
(the PCI device.) Setting the parent right makes it much easier for
the user to figure out which driver/module is handling the watchdog
device node.Signed-off-by: Jean Delvare
Reviewed-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Fix the following checkpatch warnings and error:
WARNING: quoted string split across lines
WARNING: braces {} are not necessary for single statement blocks
WARNING: __initdata should be placed after ibmasr_id_table[]
WARNING: please, no space before tabs
ERROR: do not initialise statics to 0 or NULLSigned-off-by: Jingoo Han
Reviewed-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
19 Mar, 2014
1 commit
-
Some new Atom's, eg Avoton and Bay Trail, have slightly different iTCO
functionality:
- The watchdog timer ticks at 1 second instead of .6 seconds- Some 8 and 16-bit registers were combined into 32-bit registers
- Some registers were removed (DAT_IN, DAT_OUT, MESSAGE)
- The BOOT_STS field in TCO_STS was removed
- The NO_REBOOT bit is in the PMC area instead of GCS
Update the driver to support the above changes and bump the version to
1.11.Signed-off-by: Peter Tyser
Tested-by: Rajat Jain
Reviewed-by: Guenter Roeck
Signed-off-by: Lee Jones
18 Nov, 2013
2 commits
-
I just can't find any value in MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR)
and MODULE_ALIAS_MISCDEV(TEMP_MINOR) statements.Either the device is enumerated and the driver already has a module
alias (e.g. PCI, USB etc.) that will get the right driver loaded
automatically.Or the device is not enumerated and loading its driver will lead to
more or less intrusive hardware poking. Such hardware poking should be
limited to a bare minimum, so the user should really decide which
drivers should be tried and in what order. Trying them all in
arbitrary order can't do any good.On top of that, loading that many drivers at once bloats the kernel
log. Also many drivers will stay loaded afterward, bloating the output
of "lsmod" and wasting memory. Some modules (cs5535_mfgpt which gets
loaded as a dependency) can't even be unloaded!If defining char-major-10-130 is needed then it should happen in
user-space.Signed-off-by: Jean Delvare
Acked-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
Cc: Stephen Warren
Cc: Mike Frysinger
Cc: Wan ZongShun
Cc: Ben Dooks
Cc: Kukjin Kim
Cc: Zwane Mwaikambo
Cc: Jim Cromie -
Use the wrapper function for retrieving the platform data instead of
accessing dev->platform_data directly.Signed-off-by: Jingoo Han
Reviewed-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
29 Nov, 2012
3 commits
-
CONFIG_HOTPLUG is going away as an option so __devexit is no
longer needed.Signed-off-by: Bill Pemberton
Cc: Wim Van Sebroeck
Cc: Wan ZongShun
Cc: Ben Dooks
Cc: Kukjin Kim
Acked-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman -
CONFIG_HOTPLUG is going away as an option so __devinit is no longer
needed.Signed-off-by: Bill Pemberton
Cc: Wim Van Sebroeck
Cc: Wan ZongShun
Cc: Ben Dooks
Cc: Kukjin Kim
Acked-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman -
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
needed.Signed-off-by: Bill Pemberton
Cc: Wim Van Sebroeck
Cc: Wan ZongShun
Cc: Ben Dooks
Cc: Kukjin Kim
Acked-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman
16 Sep, 2012
1 commit
-
This patch adds the Watchdog Timer Device IDs for the Intel Lynx Point-LP PCH.
The Device IDs are defined in drivers/mfd/lpc_ich.cSigned-off-by: James Ralston
Acked-by: Wim Van Sebroeck
Signed-off-by: Samuel Ortiz
23 Jul, 2012
1 commit
-
This patch converts the iTCO_wdt watchdog driver to use the
generic watchdog framework.Signed-off-by: Wim Van Sebroeck
29 Jun, 2012
1 commit
-
The recent conversion of iTCO_wdt resulted in the driver no longer
getting loaded automatically, since it no longer has a
MODULE_DEVICE_TABLE() included. As the lpc_ich driver now creates a
platform device, auto-loading can easily be done by having a respective
module alias in place.Signed-off-by: Jan Beulich
Cc: Aaron Sierra
Acked-by: Guenter Roeck
Cc: Samuel Ortiz
Signed-off-by: Wim Van Sebroeck
30 May, 2012
1 commit
-
Fix printk format warnings:
drivers/watchdog/iTCO_wdt.c:577:3: warning: format '%04llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t'
drivers/watchdog/iTCO_wdt.c:594:3: warning: format '%04llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t'
drivers/watchdog/iTCO_wdt.c:600:2: warning: format '%04llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'Signed-off-by: Randy Dunlap
Signed-off-by: Wim Van Sebroeck
09 May, 2012
1 commit
-
This patch converts the iTCO_wdt driver to use the multi-function device
driver model. It uses resources discovered by the lpc_ich driver, so that
it no longer does its own PCI scanning.Signed-off-by: Aaron Sierra
Signed-off-by: Guenter Roeck
Signed-off-by: Samuel Ortiz
28 Mar, 2012
2 commits
-
nowayout is actually a boolean value.
So make it bool for all watchdog device drivers.Signed-off-by: Wim Van Sebroeck
-
Use the current logging styles.
Make sure all output has a prefix.
Add missing newlines.
Remove now unnecessary PFX, NAME, and miscellaneous other #defines.
Coalesce formats.Signed-off-by: Joe Perches
Signed-off-by: Wim Van Sebroeck
27 Jan, 2012
1 commit
-
This patch adds the TCO Watchdog DeviceIDs for the Intel Lynx Point PCH.
Signed-off-by: Seth Heasley
Signed-off-by: Wim Van Sebroeck
28 Dec, 2011
1 commit
-
Redhat Bugzilla: Bug 727875 - TCO_EN bit is disabled by TCO driver
The previous patch breaks reset watchdog behaviour on the older hardware.
It is therefor better to make sure that the behaviour for older hardware ( Do not turn off SMI clearing watchdog.
turn_SMI_watchdog_clear_off=1 -> Turn off SMI clearing watchdog when iTCO_version=1
(ICHO till ICH5 + 6300ESB only)
turn_SMI_watchdog_clear_off=2 -> Turn off SMI clearing watchdog.Signed-off-by: Wim Van Sebroeck
06 Nov, 2011
1 commit
-
Redhat Bugzilla: Bug 727875 - TCO_EN bit is disabled by TCO driver
Jiri Slaby: 28d41f53f broke temperature sensors on a ICH10 chipsetThe iTCO_wdt driver disables the SMI. This breaks good working of newer hardware.
The disabling of the SMI by the TCO logic dates back from the i810-tco driver
from Nils Faerber (around 28 July 2000). The reason for this was that some BIOSes
install handlers reset or disable the watchdog timer instead of resetting the system.
The trick to fix this was to disable the SMI (by clearing the SMI_TCO_EN bit of the
SMI_EN register) to prevent this from happening.This however has strange effects on newer hardware. So we are in a situation that
a fix for broken old hardware affects newer hardware.The correct solution is to make this fix an option (with the new module parameter:
turn_SMI_watchdog_clear_off) so that the default behaviour is the unfixed version.the next patch will be to move this in the start and stop functions of the driver
and to add a new module parameter for the global_smi_en bit and to get rid of the
vendor_support code.This fix can have an effect on old (typical ICH & ICH2 chipsets) motherboards that
have a broken BIOS implementation concerning TCO logic. In these case the module
parameter turn_SMI_watchdog_clear_off=1 will need to be added.Signed-off-by: Wim Van Sebroeck
27 Jul, 2011
1 commit
-
While checking what watchdog drivers usually do in suspend/resume to
spot common behaviour for the watchdog framework, I found these drivers
which do nothing but add some cruft. Remove it, it is superfluous. New
approaches should probably be done with pm_ops anyway.Signed-off-by: Wolfram Sang
Signed-off-by: Wim Van Sebroeck
22 Jul, 2011
1 commit
-
Clean up of the iTCO_wdt PCI device ID's.
Own macro is replaced by the PCI_VDEVICE macro.Signed-off-by: Wim Van Sebroeck
26 Apr, 2011
1 commit
-
This patch adds the TCO Watchdog DeviceIDs for the Intel Panther Point PCH.
Signed-off-by: Seth Heasley
Signed-off-by: Wim Van Sebroeck
16 Mar, 2011
2 commits
-
cleanup spaces before tabs in drivers/watchdog/
Signed-off-by: Wim Van Sebroeck
-
Convert static struct pci_device_id *[] to static DEFINE_PCI_DEVICE_TABLE tables.
Signed-off-by: Wim Van Sebroeck
12 Jan, 2011
2 commits
-
This patch adds the DeviceIDs for TCO Watchdog on the Intel DH89xxCC PCH.
Signed-off-by: Seth Heasley
Signed-off-by: Wim Van Sebroeck -
This patch adds the Intel NM10 DeviceIDs for iTCO Watchdog.
Reported-by: Dan Weinlader
Signed-off-by: Wim Van Sebroeck
02 Dec, 2010
1 commit
-
This patch adds an additional LPC Controller DeviceID for the Intel Patsburg PCH for TCO Watchdog.
Signed-off-by: Seth Heasley
Signed-off-by: Wim Van Sebroeck
29 Oct, 2010
3 commits
-
The iTCO_wdt driver erroneously releases the pci_dev, and causes PCI hotremove
to fail because of an incorrect usage count.The probe for this driver does a for_each_pci_dev() which gets a reference for
a pci_dev when iTCO_wdt_init() is successful. The for_each_pci_dev() loop
puts a reference for a pci_dev when iTCO_wdt_init() fails, so the
iTCO_wdt_init() does not need to do any pci_dev_put()'s.The only pci_dev_put() that is required is in the iTCO_wdt_cleanup() function.
Signed-off-by: Prarit Bhargava
Signed-off-by: Wim Van Sebroeck -
The current iTCO_wdt driver warnings are confusing. Currently when the device
driver returns an error the console contains:iTCO_vendor_support: vendor-support=0
iTCO_wdt: Intel TCO WatchDog Timer Driver v1.05
iTCO_wdt: failed to reset NO_REBOOT flag, reboot disabled by hardware
iTCO_wdt: No card detectedAfter the patch,
iTCO_vendor_support: vendor-support=0
iTCO_wdt: Intel TCO WatchDog Timer Driver v1.05
iTCO_wdt: failed to reset NO_REBOOT flag, device disabled by hardware/BIOSClean this up and use the word "device" to describe the device.
Signed-off-by: Prarit Bhargava
Signed-off-by: Wim Van Sebroeck -
This patch adds the Intel Patsburg (PCH) DeviceIDs for iTCO Watchdog.
Signed-off-by: Seth Heasley
Signed-off-by: Wim Van Sebroeck
25 May, 2010
1 commit
-
For TCO V1 devices the programmed timeout was twice too long
because the fact that the TCO V1 timer needs to count down
twice before triggering the watchdog, wasn't accounted for.
Also the timeout values in the module description and error
message were clarified. And the _STS registers are 16 bit
instead of 8 bit.Signed-off-by: Pádraig Brady
Tested-by: Simon Kagstrom
Signed-off-by: Wim Van Sebroeck
06 Apr, 2010
1 commit
-
This patch adds the Intel Cougar Point PCH LPC Controller DeviceIDs for iTCO Watchdog.
Signed-off-by: Seth Heasley
Signed-off-by: Wim Van Sebroeck
Cc: stable
07 Mar, 2010
1 commit
-
make the watchdog_info struct const where possible.
Signed-off-by: Wim Van Sebroeck
06 Mar, 2010
1 commit
-
It's possible that the platform is not allowing reboot via TCO timer
expiration.Also, differentiate between not finding a chipset that has TCO, and the case
where TCO is present but the driver fails to initialize for some reason.Signed-off-by: Naga Chumbalkar
Signed-off-by: Wim Van Sebroeck
19 Jan, 2010
1 commit
-
This patch adds the Intel Cougar Point and PCH DeviceIDs for iTCO Watchdog.
Signed-off-by: Seth Heasley
Signed-off-by: Wim Van Sebroeck
24 Dec, 2009
1 commit
-
add PCI ID for the Intel EP80579 (Tolapai) SoC
Signed-off-by: Imre Kaloz
Signed-off-by: Wim Van Sebroeck