mbox series

[GIT,PULL] RTC for 4.17

Message ID 20180409220235.GA27487@piout.net
State Accepted
Headers show
Series [GIT,PULL] RTC for 4.17 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git tags/rtc-4.17

Message

Alexandre Belloni April 9, 2018, 10:02 p.m. UTC
Hi Linus,

Here is the pull-request for the RTC subsystem for 4.17.

It contains a few series that have been in preparation for a while and
that will help systems with RTCs that will fail in 2038, 2069 or 2100.

The following changes since commit 7928b2cbe55b2a410a0f5c1f154610059c57b1b2:

  Linux 4.16-rc1 (2018-02-11 15:04:29 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git tags/rtc-4.17

for you to fetch changes up to 1485991c024603b2fb4ae77beb7a0d741128a48e:

  rtc: snvs: Fix usage of snvs_rtc_enable (2018-04-03 16:43:36 +0200)

----------------------------------------------------------------
RTC for 4.17

Subsystem:
 - Add tracepoints
 - Rework of the RTC/nvmem API to allow drivers to discard struct nvmem_config
   after registration
 - New range API, drivers can now expose the useful range of the RTC
 - New offset API the core is now able to add an offset to the RTC time,
   modifying the supported range.
 - Multiple rtc_time64_to_tm fixes
 - Handle time_t overflow on 32 bit platforms in the core instead of letting
   drivers do crazy things.
 - remove rtc_control API

New driver:
 - Intersil ISL12026

Drivers:
 - Drivers exposing the RTC non volatile memory have been converted to use nvmem
 - Removed useless time and date validation
 - Removed an indirection pattern that was a cargo cult from ancient drivers
 - Removed VLA usage
 - Fixed a possible race condition in probe functions
 - AB8540 support is dropped from ab8500
 - pcf85363 now has alarm support

----------------------------------------------------------------
Alexandre Belloni (100):
      rtc: documentation: correct nvmem date and version
      rtc: nvmem: pass nvmem_config to rtc_nvmem_register()
      rtc: nvmem: return error values
      rtc: nvmem: disallow registering nvmem more than once
      rtc: nvmem: allow registering the nvmem device before the rtc
      rtc: export rtc_nvmem_register() to drivers
      rtc: ds1305: call rtc_nvmem_register()
      rtc: ds1305: put ds1305_nvmem_cfg on the stack
      rtc: ds1307: call rtc_nvmem_register()
      rtc: ds1307: put struct nvmem_config on the stack
      rtc: ds1511: call rtc_nvmem_register()
      rtc: ds1511: put ds1511_nvmem_cfg on the stack
      rtc: m48t86: call rtc_nvmem_register()
      rtc: m48t86: put m48t86_nvmem_cfg on the stack
      rtc: omap: call rtc_nvmem_register()
      rtc: pcf85363: call rtc_nvmem_register()
      rtc: pcf85363: put struct nvmem_config on the stack
      rtc: rv8803: call rtc_nvmem_register()
      rtc: rv8803: put struct nvmem_config on the stack
      rtc: rv8803: fix possible race condition
      rtc: remove nvmem_config
      rtc: ds1343: simplify regmap initialization
      rtc: ds1343: switch to rtc_register_device
      rtc: ds1343: remove undocumented and useless sysfs files
      rtc: ds1343: use generic nvmem
      rtc: m48t59: switch to rtc_register_device
      rtc: m48t59: use generic nvmem
      rtc: sirfsoc: remove useless sirfsoc_rtc_ioctl
      rtc: ds1553: switch to rtc_register_device
      rtc: ds1553: use generic nvmem
      rtc: ds1553: make alarms useful
      rtc: cmos: fix possible race condition
      rtc: cmos: use generic nvmem
      rtc: ds1742: switch to rtc_register_device
      rtc: ds1742: use generic nvmem
      rtc: rp5c01: fix possible race condition
      rtc: rp5c01: use generic nvmem
      rtc: stk17ta8: make alarms useful
      rtc: stk17ta8: switch to rtc_register_device
      rtc: stk17ta8: fix possible race condition
      rtc: stk17ta8: use generic nvmem
      rtc: tx4939: remove arch/mips dependency
      rtc: tx4939: extend test coverage
      rtc: tx4939: switch to rtc_register_device
      rtc: tx4939: fix possible race condition
      rtc: tx4939: use generic nvmem
      char: rtc: remove unused rtc_control() API
      MAINTAINERS: rtc: update my email address
      rtc: ds1511: let the core handle invalid time
      rtc: ds1553: let the core handle invalid time
      rtc: cmos: let the core handle invalid time
      rtc: rs5c348: let the core handle invalid time
      rtc: stk17ta8: let the core handle invalid time
      rtc: stop validating rtc_time after rtc_time64_to_tm
      rtc: stop validating rtc_time after rtc_time_to_tm
      rtc: stop validating rtc_time in .read_time
      rtc: ab-b5ze-s3: stop validating rtc_time in .read_time
      rtc: cpcap: stop validating rtc_time in .read_time
      rtc: diasemi: stop validating rtc_time in .read_time
      rtc: nuc900: stop validating rtc_time in .read_time
      rtc: r7301: stop validating rtc_time in .read_time
      rtc: sc27xx: stop validating rtc_time in .read_time
      rtc: isl12022: remove useless indirection
      rtc: m41t93: stop validating rtc_time in .read_time
      rtc: max77686: stop validating rtc_time in .read_time
      rtc: omap: stop validating rtc_time in .set_time and .set_alarm
      rtc: spear: stop validating rtc_time in .set_time and .set_alarm
      rtc: tegra: stop validating rtc_time in .set_time
      rtc: abx80x: remove useless message
      rtc: pm8xxx: remove useless message
      rtc: rx4581: remove useless message
      rtc: rx8581: remove useless message
      rtc: rk808: remove useless debug message
      rtc: rk808: fix possible race condition
      rtc: s35390a: remove useless message
      rtc: s35390a: stop validating rtc_time in .read_time
      rtc: s35390a: remove useless indirection
      rtc: rs5c372: remove useless message
      rtc: rs5c372: stop validating rtc_time in .read_time
      rtc: rs5c372: remove useless indirection
      rtc: max6900: stop validating rtc_time in .read_time
      rtc: max6900: remove useless indirection
      rtc: pcf85063: stop validating rtc_time in .read_time
      rtc: pcf85063: remove useless indirection
      rtc: m41t80: fix race conditions
      rtc: m41t80: remove useless indirection
      rtc: pcf85363: add .max_register in regmap_config
      rtc: pcf85363: add alarm support
      rtc: pcf85363: set time accurately
      rtc: fix rtc_time64_to_tm for 3477
      rtc: isl12026: fixup nvmem registration
      rtc: Add RTC range
      rtc: Add useful timestamp definitions
      parisc: time: stop validating rtc_time in .read_time
      rtc: hctosys: Ensure system time doesn't overflow time_t
      rtc: mv: remove artificial limitation
      rtc: mrst: remove artificial limitation
      rtc: st-lpc: remove artificial limitation
      rtc: 88pm80x: remove artificial limitation
      rtc: 88pm860x: remove artificial limitation

Baolin Wang (4):
      rtc: Add tracepoints for RTC system
      rtc: Fix overflow when converting time64_t to rtc_time
      rtc: Factor out the RTC range validation into rtc_valid_range()
      rtc: Add one offset seconds to expand RTC range

Bryan O'Donoghue (1):
      rtc: snvs: Fix usage of snvs_rtc_enable

Colin Ian King (2):
      rtc: ds1302: remove redundant initializations of pointer bp
      rtc: tx4939: avoid unintended sign extension on a 24 bit shift

David Daney (1):
      rtc: isl12026: new driver.

Denis Osterland (2):
      rtc: isl1208: Fix unintended clear of SR bits
      rtc: isl1208: switch to rtc_register_device

Fabio Estevam (1):
      rtc: mxc_v2: Fix _iomem pointer notation

Gustavo A. R. Silva (4):
      rtc: remove VLA usage
      rtc: s5m: Move enum from rtc.h to rtc-s5m.c
      rtc: s5m: Remove VLA usage
      rtc: isl12022: use true and false for boolean values

James Hogan (1):
      rtc: goldfish: Add missing MODULE_LICENSE

Jeffy Chen (2):
      rtc: cros-ec: return -ETIME when refused to set alarms in the past
      rtc: at91sam9: Set name of regmap_config

Justin Chen (1):
      rtc: brcmstb-waketimer: Set wktmr prescaler

Linus Walleij (1):
      rtc: ab8500: Drop AB8540 support

Masahiro Yamada (1):
      rtc: at91sam: add 'depends on HAS_IOMEM' to fix unmet dependency

Mathieu Malaterre (1):
      rtc: remove a warning during scripts/kernel-doc step

Michael Grzeschik (1):
      rtc: isl1208: enable interrupt after context preparation

Michael McCormick (1):
      rtc: pcf85063: fix clearing bits in pcf85063_start_clock

Mohit Aggarwal (1):
      rtc: pm8xxx: Fix issue in RTC write path

Philipp Rossak (1):
      rtc: ac100: Fix ac100 determine rate bug

Sean Wang (1):
      rtc: mt7622: fix module autoloading for OF platform drivers

Sebastian Andrzej Siewior (1):
      rtc: m41t80: move m41t80_rtc_mutex to the block where it is used

 Documentation/ABI/testing/sysfs-class-rtc          |  16 +-
 .../devicetree/bindings/rtc/isil,isl12026.txt      |  28 ++
 MAINTAINERS                                        |   2 +-
 arch/parisc/kernel/time.c                          |   2 +-
 drivers/char/rtc.c                                 |  83 ----
 drivers/rtc/Kconfig                                |  13 +-
 drivers/rtc/Makefile                               |   1 +
 drivers/rtc/class.c                                |  77 +++-
 drivers/rtc/hctosys.c                              |   5 +
 drivers/rtc/interface.c                            | 107 +++++
 drivers/rtc/nvmem.c                                |  29 +-
 drivers/rtc/rtc-88pm80x.c                          |   4 +-
 drivers/rtc/rtc-88pm860x.c                         |   4 +-
 drivers/rtc/rtc-ab-b5ze-s3.c                       |   4 +-
 drivers/rtc/rtc-ab3100.c                           |   2 +-
 drivers/rtc/rtc-ab8500.c                           |  57 +--
 drivers/rtc/rtc-abx80x.c                           |   6 +-
 drivers/rtc/rtc-ac100.c                            |  26 +-
 drivers/rtc/rtc-at91sam9.c                         |   1 +
 drivers/rtc/rtc-au1xxx.c                           |   2 +-
 drivers/rtc/rtc-bq32k.c                            |   8 +-
 drivers/rtc/rtc-brcmstb-waketimer.c                |   3 +
 drivers/rtc/rtc-cmos.c                             |  87 ++--
 drivers/rtc/rtc-coh901331.c                        |   2 +-
 drivers/rtc/rtc-core.h                             |   8 -
 drivers/rtc/rtc-cpcap.c                            |   2 +-
 drivers/rtc/rtc-cros-ec.c                          |   8 +-
 drivers/rtc/rtc-da9052.c                           |   3 +-
 drivers/rtc/rtc-da9055.c                           |   2 +-
 drivers/rtc/rtc-da9063.c                           |   2 +-
 drivers/rtc/rtc-ds1216.c                           |   2 +-
 drivers/rtc/rtc-ds1286.c                           |   2 +-
 drivers/rtc/rtc-ds1302.c                           |   7 +-
 drivers/rtc/rtc-ds1305.c                           |  24 +-
 drivers/rtc/rtc-ds1307.c                           |  32 +-
 drivers/rtc/rtc-ds1343.c                           | 185 ++------
 drivers/rtc/rtc-ds1347.c                           |   2 +-
 drivers/rtc/rtc-ds1390.c                           |   2 +-
 drivers/rtc/rtc-ds1511.c                           |  26 +-
 drivers/rtc/rtc-ds1553.c                           |  78 ++--
 drivers/rtc/rtc-ds1685.c                           |   2 +-
 drivers/rtc/rtc-ds1742.c                           |  75 ++-
 drivers/rtc/rtc-ds2404.c                           |   2 +-
 drivers/rtc/rtc-ds3232.c                           |   2 +-
 drivers/rtc/rtc-efi.c                              |   2 +-
 drivers/rtc/rtc-fm3130.c                           |   3 +-
 drivers/rtc/rtc-goldfish.c                         |   2 +
 drivers/rtc/rtc-isl12022.c                         |  20 +-
 drivers/rtc/rtc-isl12026.c                         | 501 +++++++++++++++++++++
 drivers/rtc/rtc-isl1208.c                          |  47 +-
 drivers/rtc/rtc-jz4740.c                           |   2 +-
 drivers/rtc/rtc-lib.c                              |   8 +-
 drivers/rtc/rtc-lpc24xx.c                          |   2 +-
 drivers/rtc/rtc-lpc32xx.c                          |   2 +-
 drivers/rtc/rtc-ls1x.c                             |   2 +-
 drivers/rtc/rtc-m41t80.c                           |  42 +-
 drivers/rtc/rtc-m41t93.c                           |   2 +-
 drivers/rtc/rtc-m41t94.c                           |   3 +-
 drivers/rtc/rtc-m48t35.c                           |   2 +-
 drivers/rtc/rtc-m48t59.c                           |  61 ++-
 drivers/rtc/rtc-m48t86.c                           |  25 +-
 drivers/rtc/rtc-max6900.c                          |  19 +-
 drivers/rtc/rtc-max6902.c                          |   2 +-
 drivers/rtc/rtc-max6916.c                          |   2 +-
 drivers/rtc/rtc-max77686.c                         |   4 +-
 drivers/rtc/rtc-max8997.c                          |   2 +-
 drivers/rtc/rtc-max8998.c                          |   2 +-
 drivers/rtc/rtc-mc13xxx.c                          |   2 +-
 drivers/rtc/rtc-mcp795.c                           |   4 +-
 drivers/rtc/rtc-mpc5121.c                          |   2 +-
 drivers/rtc/rtc-mrst.c                             |   4 +-
 drivers/rtc/rtc-msm6242.c                          |   2 +-
 drivers/rtc/rtc-mt7622.c                           |   3 +-
 drivers/rtc/rtc-mv.c                               |  14 +-
 drivers/rtc/rtc-mxc_v2.c                           |   2 +-
 drivers/rtc/rtc-nuc900.c                           |  14 +-
 drivers/rtc/rtc-omap.c                             |   6 +-
 drivers/rtc/rtc-pcap.c                             |   2 +-
 drivers/rtc/rtc-pcf2123.c                          |   2 +-
 drivers/rtc/rtc-pcf2127.c                          |   2 +-
 drivers/rtc/rtc-pcf50633.c                         |   2 +-
 drivers/rtc/rtc-pcf85063.c                         |  20 +-
 drivers/rtc/rtc-pcf8523.c                          |   2 +-
 drivers/rtc/rtc-pcf85363.c                         | 205 ++++++++-
 drivers/rtc/rtc-pic32.c                            |   2 +-
 drivers/rtc/rtc-pm8xxx.c                           |  55 ++-
 drivers/rtc/rtc-ps3.c                              |   2 +-
 drivers/rtc/rtc-r7301.c                            |   2 +-
 drivers/rtc/rtc-r9701.c                            |   2 +-
 drivers/rtc/rtc-rk808.c                            |  25 +-
 drivers/rtc/rtc-rp5c01.c                           |  67 ++-
 drivers/rtc/rtc-rs5c348.c                          |   5 -
 drivers/rtc/rtc-rs5c372.c                          |  24 +-
 drivers/rtc/rtc-rv8803.c                           |  33 +-
 drivers/rtc/rtc-rx4581.c                           |   6 +-
 drivers/rtc/rtc-rx6110.c                           |   2 +-
 drivers/rtc/rtc-rx8010.c                           |   2 +-
 drivers/rtc/rtc-rx8025.c                           |   2 +-
 drivers/rtc/rtc-rx8581.c                           |   6 +-
 drivers/rtc/rtc-s35390a.c                          |  38 +-
 drivers/rtc/rtc-s3c.c                              |   2 +-
 drivers/rtc/rtc-s5m.c                              |  27 +-
 drivers/rtc/rtc-sc27xx.c                           |   2 +-
 drivers/rtc/rtc-sh.c                               |   2 +-
 drivers/rtc/rtc-sirfsoc.c                          |  18 -
 drivers/rtc/rtc-snvs.c                             |  15 +-
 drivers/rtc/rtc-spear.c                            |  12 +-
 drivers/rtc/rtc-st-lpc.c                           |  16 -
 drivers/rtc/rtc-starfire.c                         |   2 +-
 drivers/rtc/rtc-stk17ta8.c                         |  74 ++-
 drivers/rtc/rtc-sun6i.c                            |   2 +-
 drivers/rtc/rtc-sunxi.c                            |   2 +-
 drivers/rtc/rtc-sysfs.c                            |  12 +
 drivers/rtc/rtc-tegra.c                            |   4 -
 drivers/rtc/rtc-tps6586x.c                         |   2 +-
 drivers/rtc/rtc-tx4939.c                           |  95 ++--
 drivers/rtc/rtc-wm831x.c                           |   2 +-
 drivers/rtc/rtc-xgene.c                            |   2 +-
 drivers/rtc/rtc-zynqmp.c                           |   2 +-
 drivers/rtc/systohc.c                              |   2 +-
 include/linux/mfd/samsung/rtc.h                    |  11 -
 include/linux/rtc.h                                |  29 +-
 include/trace/events/rtc.h                         | 206 +++++++++
 123 files changed, 1810 insertions(+), 1084 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/rtc/isil,isl12026.txt
 create mode 100644 drivers/rtc/rtc-isl12026.c
 create mode 100644 include/trace/events/rtc.h