Merge tag 'rtc-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Mar 2023 17:15:50 +0000 (09:15 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Mar 2023 17:15:50 +0000 (09:15 -0800)
Pull RTC updates from Alexandre Belloni:
 "A few drivers got some nice cleanups and a new driver are making the
  bulk of the changes.

  Subsystem:
   - allow rtc_read_alarm without read_alarm callback

  New driver:
   - NXP BBNSM module RTC

  Drivers:
   - use IRQ flags from fwnode when available
   - abx80x: nvmem support
   - brcmstb-waketimer: add non-wake alarm support
   - ingenic: provide CLK32K clock
   - isl12022: cleanups
   - moxart: switch to using gpiod API
   - pcf85363: allow setting quartz load
   - pm8xxx: cleanups and support for setting time
   - rv3028, rv3032: add ACPI support"

* tag 'rtc-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (64 commits)
  rtc: pm8xxx: add support for nvmem offset
  dt-bindings: rtc: qcom-pm8xxx: add nvmem-cell offset
  rtc: abx80x: Add nvmem support
  rtc: rx6110: Remove unused of_gpio,h
  rtc: efi: Avoid spamming the log on RTC read failure
  rtc: isl12022: sort header inclusion alphabetically
  rtc: isl12022: Join string literals back
  rtc: isl12022: Drop unneeded OF guards and of_match_ptr()
  rtc: isl12022: Explicitly use __le16 type for ISL12022_REG_TEMP_L
  rtc: isl12022: Get rid of unneeded private struct isl12022
  rtc: pcf85363: add support for the quartz-load-femtofarads property
  dt-bindings: rtc: nxp,pcf8563: move pcf85263/pcf85363 to a dedicated binding
  rtc: allow rtc_read_alarm without read_alarm callback
  rtc: rv3032: add ACPI support
  rtc: rv3028: add ACPI support
  rtc: bbnsm: Add the bbnsm rtc support
  rtc: jz4740: Register clock provider for the CLK32K pin
  rtc: jz4740: Use dev_err_probe()
  rtc: jz4740: Use readl_poll_timeout
  dt-bindings: rtc: Add #clock-cells property
  ...

1  2 
drivers/rtc/Kconfig
drivers/rtc/Makefile

diff --combined drivers/rtc/Kconfig
index 2ba72de0fa4719ae5d75d89812a5dd9ca469c50d,d2a7fbc2c932462270be34a0486f72fa99a3b028..5a71579af0a14e032a36139ace3bc1e4946aa891
@@@ -1212,6 -1212,15 +1212,6 @@@ config RTC_DRV_RP5C0
          This driver can also be built as a module. If so, the module
          will be called rtc-rp5c01.
  
 -config RTC_DRV_V3020
 -      tristate "EM Microelectronic V3020"
 -      help
 -        If you say yes here you will get support for the
 -        EM Microelectronic v3020 RTC chip.
 -
 -        This driver can also be built as a module. If so, the module
 -        will be called rtc-v3020.
 -
  config RTC_DRV_GAMECUBE
        tristate "Nintendo GameCube, Wii and Wii U RTC"
        depends on GAMECUBE || WII || COMPILE_TEST
@@@ -1406,14 -1415,18 +1406,14 @@@ config RTC_DRV_OMA
  
  config RTC_DRV_S3C
        tristate "Samsung S3C series SoC RTC"
 -      depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S3C24XX || ARCH_S5PV210 || \
 +      depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || \
                   COMPILE_TEST
        help
          RTC (Realtime Clock) driver for the clock inbuilt into the
 -        Samsung S3C24XX series of SoCs. This can provide periodic
 +        Samsung S3C64XX series of SoCs. This can provide periodic
          interrupt rates from 1Hz to 64Hz for user programs, and
          wakeup from Alarm.
  
 -        The driver currently supports the common features on all the
 -        S3C24XX range, such as the S3C2410, S3C2412, S3C2413, S3C2440
 -        and S3C2442.
 -
          This driver can also be build as a module. If so, the module
          will be called rtc-s3c.
  
@@@ -1677,7 -1690,7 +1677,7 @@@ config RTC_DRV_MPC512
  config RTC_DRV_JZ4740
        tristate "Ingenic JZ4740 SoC"
        depends on MIPS || COMPILE_TEST
-       depends on OF
+       depends on OF && COMMON_CLK
        help
          If you say yes here you get support for the Ingenic JZ47xx SoCs RTC
          controllers.
@@@ -1773,6 -1786,18 +1773,18 @@@ config RTC_DRV_SNV
           This driver can also be built as a module, if so, the module
           will be called "rtc-snvs".
  
+ config RTC_DRV_BBNSM
+       tristate "NXP BBNSM RTC support"
+       select REGMAP_MMIO
+       depends on ARCH_MXC || COMPILE_TEST
+       depends on HAS_IOMEM
+       depends on OF
+       help
+          If you say yes here you get support for the NXP BBNSM RTC module.
+          This driver can also be built as a module, if so, the module
+          will be called "rtc-bbnsm".
  config RTC_DRV_IMX_SC
        depends on IMX_SCU
        depends on HAVE_ARM_SMCCC
diff --combined drivers/rtc/Makefile
index 59eb30289335573df9ed655ec438d80b53edcc65,0f11027a73880310b6136543d104b9cb3ec0077b..ea445d1ebb172898dc71fd7a097e81385e610dc5
@@@ -33,6 -33,7 +33,7 @@@ obj-$(CONFIG_RTC_DRV_ASPEED)  += rtc-asp
  obj-$(CONFIG_RTC_DRV_AT91RM9200)+= rtc-at91rm9200.o
  obj-$(CONFIG_RTC_DRV_AT91SAM9)        += rtc-at91sam9.o
  obj-$(CONFIG_RTC_DRV_AU1XXX)  += rtc-au1xxx.o
+ obj-$(CONFIG_RTC_DRV_BBNSM)   += rtc-nxp-bbnsm.o
  obj-$(CONFIG_RTC_DRV_BD70528) += rtc-bd70528.o
  obj-$(CONFIG_RTC_DRV_BQ32K)   += rtc-bq32k.o
  obj-$(CONFIG_RTC_DRV_BQ4802)  += rtc-bq4802.o
@@@ -176,6 -177,7 +177,6 @@@ obj-$(CONFIG_RTC_DRV_TI_K3)        += rtc-ti-k
  obj-$(CONFIG_RTC_DRV_TPS6586X)        += rtc-tps6586x.o
  obj-$(CONFIG_RTC_DRV_TPS65910)        += rtc-tps65910.o
  obj-$(CONFIG_RTC_DRV_TWL4030) += rtc-twl.o
 -obj-$(CONFIG_RTC_DRV_V3020)   += rtc-v3020.o
  obj-$(CONFIG_RTC_DRV_VT8500)  += rtc-vt8500.o
  obj-$(CONFIG_RTC_DRV_WILCO_EC)        += rtc-wilco-ec.o
  obj-$(CONFIG_RTC_DRV_WM831X)  += rtc-wm831x.o