[GIT PULL] RTC for 5.2
From: Alexandre Belloni
Date: Thu May 09 2019 - 17:04:58 EST
Hello Linus,
A huge series from me this cycle. I went through many drivers to set the
date and time range supported by the RTC which helps solving HW
limitation when the time comes (as early as next year for some). This
time, I focused on drivers using .set_mms and .set_mmss64, allowing me
to remove those callbacks. About a third of the patches got reviews, I
actually own the RTCs and I tested another third and the remaining one
are unlikely to cause any issues.
Other than that, a single new driver and the usual fixes here and there.
The following changes since commit 9e98c678c2d6ae3a17cb2de55d17f69dddaa231b:
Linux 5.1-rc1 (2019-03-17 14:22:26 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git tags/rtc-5.2
for you to fetch changes up to dacb6a4035a010e41abaf81c1cfe2beadfb05ec8:
rtc: snvs: Use __maybe_unused instead of #if CONFIG_PM_SLEEP (2019-05-08 22:14:36 +0200)
----------------------------------------------------------------
RTC for 5.2
Subsystem:
- set_mmss and set_mmss64 rtc_ops removal
- Fix timestamp value for RTC_TIMESTAMP_BEGIN_1900
- Use SPDX identifier for the core
- validate upper bound of tm->tm_year
New driver:
- Aspeed BMC SoC RTC
Drivers:
- abx80x: use rtc_add_group
- ds3232: nvram support
- pcf85063: add alarm, nvram, offset correction and microcrystal rv8263 support
- x1205: add of_match_table
- Use set_time instead of set_mms/set_mmss64 for: ab3100, coh901331, digicolor,
ds1672, ds2404, ep93xx, imxdi, jz4740, lpc32xx, mc13xxx, mxc, pcap, stmp3xxx,
test, wm831x, xgene.
- Set RTC range for: ab3100, at91sam9, coh901331, da9063, digicolor, dm355evm,
ds1672, ds2404, ep39xx, goldfish, imxdi, jz4740, lpc32xx, mc13xxx, mv, mxc,
omap, pcap, pcf85063, pcf85363, ps3, sh, stmp3xxx, sun4v, tegra, wm831x,
xgene.
- Switch to rtc_time64_to_tm/rtc_tm_to_time64 for the driver that properly set
the RTC range.
- Use dev_get_drvdata instead of multiple indirections.
----------------------------------------------------------------
Alexandre Belloni (150):
rtc: abx80x: convert to SPDX identifier
rtc: abx80x: use rtc_add_group
rtc: abx80x: remove useless .remove
rtc: zynqmp: convert to SPDX identifier
rtc: ab-b5ze-s3: remove mutex
rtc: ab-b5ze-s3: remove unnecessary gotos
rtc: ab-b5ze-s3: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: ab-b5ze-s3: convert to SPDX identifier
rtc: ab-b5ze-s3: remove unnecessary check
rtc: convert core to SPDX identifier
rtc: mv: convert to SPDX identifier
rtc: mv: convert to devm_rtc_allocate_device
rtc: mv: add range
rtc: omap: let the core handle range
rtc: core: correct trivial checkpatch warnings
rtc: ab-b5ze-s3: correct checkpatch issues
rtc: 88pm80x: convert to SPDX identifier
rtc: test: do not use assignment in if condition
rtc: xgene: fix possible race condition
rtc: xgene: set range
rtc: xgene: convert to SPDX identifier
rtc: xgene: correct checkpatch issues
rtc: xgene: stop caching alarm_time
rtc: xgene: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: xgene: use .set_time
rtc: goldfish: convert to devm_rtc_allocate_device
rtc: goldfish: add range
rtc: goldfish: sort headers
rtc: goldfish: allow building on more than MIPS
rtc: goldfish: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: goldfish: convert to SPDX identifier
rtc: dm355evm: convert to devm_rtc_allocate_device
rtc: dm355evm: set range
rtc: dm355evm: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: dm355evm: convert to SPDX identifier
rtc: sh: stop resetting time to epoch
rtc: sh: fix possible race condition
rtc: sh: set range
rtc: at91sam9: drop platform_data support
rtc: at91sam9: convert to devm_rtc_allocate_device
rtc: at91sam9: set range
rtc: at91sam9: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: at91sam9: convert to SPDX identifier
rtc: at91sam9: correct trivial checkpatch warnings
rtc: ps3: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: ps3: convert to SPDX identifier
rtc: ps3: convert to devm_rtc_allocate_device
rtc: ps3: set range
rtc: omap: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: omap: convert to SPDX identifier
rtc: sun4v: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: sun4v: set range
rtc: sun4v: switch to SPDX identifier
rtc: da9063: set range
rtc: da9063: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: wm831x: set range
rtc: wm831x: remove unnecessary goto
rtc: wm831x: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: wm831x: convert to SPDX identifier
rtc: brcmstb-waketimer: switch to rtc_time64_to_tm
rtc: pcf85063: switch to probe_new
rtc: pcf85063: convert to SPDX identifier
rtc: pcf85063: remove bogus i2c functionality check
rtc: pcf85063: convert to devm_rtc_allocate_device
rtc: pcf85063: set range
rtc: pcf85063: switch to regmap
rtc: pcf85063: differentiate pcf85063a and pcf85063tp
rtc: pcf85063: add alarm support
rtc: pcf85063: add Micro Crystal RV8263 support
rtc: pcf85063: add nvram support
rtc: pcf85063: add offset correction support
rtc: pcf85063: add RTC_VL_READ/RTC_VL_CLR support
rtc: remove unnecessary Kconfig dependencies
rtc: test: use .set_time
rtc: ds1672: set range
rtc: ds1672: move oscillator handling to .read_time
rtc: ds1672: remove sysfs debug interface
rtc: ds1672: remove useless indirection
rtc: ds1672: use rtc_time64_to_tm
rtc: ds1672: use .set_time
rtc: ds1672: convert to SPDX identifier
rtc: ds1672: switch debug message to %ptR
rtc: coh901331: set range
rtc: coh901331: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: coh901331: use .set_time
rtc: coh901331: convert to SPDX identifier
rtc: tegra: set range
rtc: tegra: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: tegra: convert to SPDX identifier
rtc: stmp3xxx: set range
rtc: stmp3xxx: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: stmp3xxx: use .set_time
rtc: stmp3xxx: convert to SPDX identifier
rtc: pcf85363: remove unused struct pcf85363 member
rtc: pcf85363: set range
rtc: pcf85363: remove bogus i2c functionality check
rtc: pcf85363: remove useless forward declaration
rtc: pcf85363: convert to SPDX identifier
rtc: ab3100: set range
rtc: ab3100: use .set_time
rtc: ab3100: convert to SPDX identifier
rtc: lpc32xx: convert to devm_rtc_allocate_device
rtc: lpc32xx: set range
rtc: lpc32xx: simplify IRQ setup
rtc: lpc32xx: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: lpc32xx: use .set_time
rtc: lpc32xx: convert to SPDX identifier
rtc: mc13xxx: set range
rtc: mc13xxx: use .set_time
rtc: mc13xxx: convert to SPDX identifier
rtc: mc13xxx: fix style issue
rtc: ep93xx: stop setting platform_data
rtc: ep93xx: convert to devm_rtc_allocate_device
rtc: ep93xx: use rtc_add_group
rtc: ep93xx: set range
rtc: ep93xx: switch to rtc_time64_to_tm
rtc: ep93xx: use .set_time
rtc: ep93xx: convert to SPDX identifier
rtc: ep93xx: fix checkpatch issues
rtc: ds2404: set range
rtc: ds2404: switch to rtc_time64_to_tm
rtc: ds2404: use .set_time
rtc: ds2404: convert to SPDX identifier
rtc: ds2404: remove ds2404_chip_ops
rtc: ds2404: simplify .probe and remove .remove
rtc: wm831x: use .set_time
rtc: mxc: fix possible race condition
rtc: mxc: set range
rtc: mxc: use .set_time
rtc: imxdi: set range
rtc: imxdi: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: imxdi: use .set_time
rtc: imxdi: remove unnecessary check
rtc: imxdi: convert to SPDX identifier
rtc: jz4740: set range
rtc: jz4740: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: jz4740: remove useless check
rtc: jz4740: use .set_time
rtc: jz4740: use dev_pm_set_wake_irq() to simplify code
rtc: jz4740: rework invalid time detection
rtc: jz4740: convert to SPDX identifier
rtc: digicolor: fix possible race condition
rtc: digicolor: set range
rtc: digicolor: use .set_time
rtc: digicolor: convert to SPDX identifier
rtc: pcap: set range
rtc: pcap: switch to rtc_time64_to_tm/rtc_tm_to_time64
rtc: pcap: use .set_time
rtc: pcap: convert to SPDX identifier
rtc: drop set_mms and set_mmss64
Anders Roxell (1):
rtc: imxdi: remove unused variable
Andy Shevchenko (1):
rtc: rx8025: Fix a parameter to %ptR in rx8025_read_alarm()
Anson Huang (6):
rtc: snvs: use dev_pm_set_wake_irq() to simplify code
rtc: mxc: use devm_platform_ioremap_resource() to simplify code
rtc: snvs: use devm_platform_ioremap_resource() to simplify code
rtc: mxc: use dev_pm_set_wake_irq() to simplify code
rtc: mxc_v2: use dev_pm_set_wake_irq() to simplify code
rtc: snvs: Use __maybe_unused instead of #if CONFIG_PM_SLEEP
Daniel Gomez (1):
rtc: rx6110: declare missing of table
Fabien Dessenne (1):
rtc: stm32: manage the get_irq probe defer case
Geert Uytterhoeven (1):
rtc: Fix timestamp value for RTC_TIMESTAMP_BEGIN_1900
Han Nandor (1):
rtc: ds3232: get SRAM access using NVMEM Framework
Joel Stanley (2):
dt-bindings: rtc: Add on-chip ASPEED RTC documentation
rtc: Add ASPEED RTC driver
Kefeng Wang (1):
rtc: Use dev_get_drvdata()
Linus Walleij (2):
rtc: x1205: Add DT bindings
rtc: x1205: Add DT probing support
Pi-Hsun Shih (1):
rtc: mt6397: Don't call irq_dispose_mapping.
Sven Van Asbroeck (1):
rtc: 88pm860x: prevent use-after-free on device remove
Thomas Bogendoerfer (3):
rtc: ds1685: fix crash caused by referencing wrong device struct
rtc: ds1685: remove dead code
rtc: ds1685: use threaded interrupt
Wolfram Sang (2):
rtc: da9063: convert header to SPDX
rtc: don't reference bogus function pointer in kdoc
Xuefeng Wang (1):
rtc: lib: check whether tm->tm_year in int32 range
YueHaibing (2):
rtc: opal: Make opal_tpo_alarm_irq_enable static
rtc: sirfsoc: Make sysrtc_regmap_config static
.../devicetree/bindings/rtc/nxp,pcf85063.txt | 6 +-
.../devicetree/bindings/rtc/rtc-aspeed.txt | 22 +
Documentation/devicetree/bindings/rtc/rtc.txt | 1 +
drivers/rtc/Kconfig | 19 +-
drivers/rtc/Makefile | 1 +
drivers/rtc/class.c | 21 +-
drivers/rtc/dev.c | 20 +-
drivers/rtc/hctosys.c | 10 +-
drivers/rtc/interface.c | 107 +++--
drivers/rtc/lib.c | 30 +-
drivers/rtc/nvmem.c | 7 +-
drivers/rtc/proc.c | 21 +-
drivers/rtc/rtc-88pm80x.c | 14 +-
drivers/rtc/rtc-88pm860x.c | 2 +-
drivers/rtc/rtc-ab-b5ze-s3.c | 189 +++------
drivers/rtc/rtc-ab3100.c | 24 +-
drivers/rtc/rtc-abx80x.c | 43 +-
drivers/rtc/rtc-aspeed.c | 136 +++++++
drivers/rtc/rtc-at91sam9.c | 108 ++---
drivers/rtc/rtc-brcmstb-waketimer.c | 2 +-
drivers/rtc/rtc-coh901331.c | 37 +-
drivers/rtc/rtc-da9063.c | 27 +-
drivers/rtc/rtc-digicolor.c | 25 +-
drivers/rtc/rtc-dm355evm.c | 24 +-
drivers/rtc/rtc-ds1672.c | 127 ++----
drivers/rtc/rtc-ds1685.c | 262 +++++-------
drivers/rtc/rtc-ds2404.c | 73 +---
drivers/rtc/rtc-ds3232.c | 40 +-
drivers/rtc/rtc-ep93xx.c | 70 ++--
drivers/rtc/rtc-goldfish.c | 50 +--
drivers/rtc/rtc-hid-sensor-time.c | 3 +-
drivers/rtc/rtc-imxdi.c | 50 +--
drivers/rtc/rtc-jz4740.c | 95 ++---
drivers/rtc/rtc-lpc32xx.c | 59 +--
drivers/rtc/rtc-mc13xxx.c | 25 +-
drivers/rtc/rtc-mt6397.c | 9 +-
drivers/rtc/rtc-mv.c | 33 +-
drivers/rtc/rtc-mxc.c | 86 ++--
drivers/rtc/rtc-mxc_v2.c | 29 +-
drivers/rtc/rtc-omap.c | 32 +-
drivers/rtc/rtc-opal.c | 2 +-
drivers/rtc/rtc-pcap.c | 28 +-
drivers/rtc/rtc-pcf85063.c | 446 ++++++++++++++++-----
drivers/rtc/rtc-pcf85363.c | 20 +-
drivers/rtc/rtc-ps3.c | 30 +-
drivers/rtc/rtc-pxa.c | 3 +-
drivers/rtc/rtc-rk808.c | 6 +-
drivers/rtc/rtc-rx6110.c | 9 +
drivers/rtc/rtc-rx8025.c | 2 +-
drivers/rtc/rtc-sh.c | 30 +-
drivers/rtc/rtc-sirfsoc.c | 2 +-
drivers/rtc/rtc-snvs.c | 48 +--
drivers/rtc/rtc-stm32.c | 9 +-
drivers/rtc/rtc-stmp3xxx.c | 34 +-
drivers/rtc/rtc-sun4v.c | 21 +-
drivers/rtc/rtc-tegra.c | 47 +--
drivers/rtc/rtc-test.c | 11 +-
drivers/rtc/rtc-tx4939.c | 17 +-
drivers/rtc/rtc-wm831x.c | 69 ++--
drivers/rtc/rtc-wm8350.c | 12 +-
drivers/rtc/rtc-x1205.c | 7 +
drivers/rtc/rtc-xgene.c | 61 ++-
drivers/rtc/rtc-zynqmp.c | 13 +-
drivers/rtc/sysfs.c | 23 +-
drivers/rtc/systohc.c | 13 +-
include/linux/rtc.h | 6 +-
include/linux/rtc/ds1685.h | 2 -
67 files changed, 1400 insertions(+), 1510 deletions(-)
create mode 100644 Documentation/devicetree/bindings/rtc/rtc-aspeed.txt
create mode 100644 drivers/rtc/rtc-aspeed.c
--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com