diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-02-11 21:53:39 +0300 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-02-11 21:53:39 +0300 |
| commit | d70178215211a7c73ecabeb55eeb0f8ef002bcab (patch) | |
| tree | b3943a90930022fb5f36a14d48ccc2742ace3dc3 /drivers/rtc | |
| parent | 893ace4df0f96b8ad066651453e0519d4ffe35ca (diff) | |
| parent | af9b4a56f0000fb11057e204ddfb05d72ba4dba0 (diff) | |
| download | linux-d70178215211a7c73ecabeb55eeb0f8ef002bcab.tar.xz | |
Merge tag 'gpio-updates-for-v7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux
Pull gpio updates from Bartosz Golaszewski:
"There are two new drivers and some changes to GPIO core but mostly
just GPIO driver updates across a wide array of files, adding support
for new models as well as various refactoring changes. Nothing
controversial and everything has spent a good measure of time in
linux-next.
GPIOLIB core:
- shrink the GPIO bus driver stub code
- rework software node support for "undefined" software nodes
- provide and use devm_fwnode_gpiod_get_optional()
- only compile the OF quirk for MT2701 when needed
New drivers:
- add the GPIO driver for ROHM bd72720
- add the gpio-line-mux driver providing 1-to-many mapping for a
single real GPIO
Driver changes:
- refactor gpio-pca9570: use lock guard, add missing headers, use
devres consistently
- add support for a new model (G7 Aspeed sgpiom) to the aspeed-sgpio
driver along with some prerequisite refactoring
- use device_get_match_data() where applicable and save some lines
- add support for more models to gpio-cadence
- add the compatible property to reset-gpio and use it in shared GPIO
management
- drop unnecessary use of irqd_get_trigger_type() in gpio-max77759
- add support for a new variant to gpio-pca953x
- extend build coverage with COMPILE_TEST for more drivers
- constify configfs structures in gpio-sim and gpio-virtuser
- add support for the K3 SoC to gpio-spacemit
- implement the missing .get_direction() callback in gpio-max77620
- add support for Tegra264 to gpio-tegra186
- drop unneeded MODULE_ALIAS() from gpio-menz127
DT bindings:
- document support for the opencores GPIO controller in gpio-mmio
- document new variants for gpio-pca953x
Documentation:
- extensively describe interrupt source detection for gpio-pca953x
and add more models to the list of supported variants"
* tag 'gpio-updates-for-v7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (59 commits)
gpio: tegra186: Add support for Tegra264
dt-bindings: gpio: Add Tegra264 support
gpio: spacemit-k1: Use PDR for pin direction, not SDR/CDR
gpio: max77620: Implement .get_direction() callback
gpio: aspeed-sgpio: Support G7 Aspeed sgpiom controller
dt-bindings: gpio: aspeed,sgpio: Support ast2700
gpio: aspeed-sgpio: Convert IRQ functions to use llops callbacks
gpio: aspeed-sgpio: Create llops to handle hardware access
gpio: aspeed-sgpio: Remove unused bank name field
gpio: aspeed-sgpio: Change the macro to support deferred probe
regulator: bd71815: switch to devm_fwnode_gpiod_get_optional
gpiolib: introduce devm_fwnode_gpiod_get_optional() wrapper
gpio: mmio: Add compatible for opencores GPIO
dt-bindings: gpio-mmio: Correct opencores GPIO
gpio: pca9570: use lock guards
gpio: pca9570: Don't use "proxy" headers
gpio: pca9570: Use devm_mutex_init() for mutex initialization
MAINTAINERS: Add ROHM BD72720 PMIC
power: supply: bd71828-power: Support ROHM BD72720
power: supply: bd71828: Support wider register addresses
...
Diffstat (limited to 'drivers/rtc')
| -rw-r--r-- | drivers/rtc/Kconfig | 3 | ||||
| -rw-r--r-- | drivers/rtc/rtc-bd70528.c | 21 |
2 files changed, 16 insertions, 8 deletions
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 50dc779f7f98..7ac18985e438 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -570,7 +570,8 @@ config RTC_DRV_BD70528 depends on MFD_ROHM_BD71828 help If you say Y here you will get support for the RTC - block on ROHM BD71815 and BD71828 Power Management IC. + block on ROHM BD71815, BD71828 and BD72720 Power + Management ICs. This driver can also be built as a module. If so, the module will be called rtc-bd70528. diff --git a/drivers/rtc/rtc-bd70528.c b/drivers/rtc/rtc-bd70528.c index 954ac4ef53e8..4c8599761b2e 100644 --- a/drivers/rtc/rtc-bd70528.c +++ b/drivers/rtc/rtc-bd70528.c @@ -7,6 +7,7 @@ #include <linux/bcd.h> #include <linux/mfd/rohm-bd71815.h> #include <linux/mfd/rohm-bd71828.h> +#include <linux/mfd/rohm-bd72720.h> #include <linux/module.h> #include <linux/of.h> #include <linux/platform_device.h> @@ -262,13 +263,13 @@ static int bd70528_probe(struct platform_device *pdev) /* * See also BD718XX_ALM_EN_OFFSET: - * This works for BD71828 and BD71815 as they have same offset - * between ALM0 start and ALM0_MASK. If new ICs are to be - * added this requires proper check as ALM0_MASK is not located - * at the end of ALM0 block - but after all ALM blocks so if - * amount of ALMs differ the offset to enable/disable is likely - * to be incorrect and enable/disable must be given as own - * reg address here. + * This works for BD71828, BD71815, and BD72720 as they all + * have same offset between the ALM0 start and the ALM0_MASK. + * If new ICs are to be added this requires proper check as + * the ALM0_MASK is not located at the end of ALM0 block - + * but after all ALM blocks. If amount of ALMs differ, the + * offset to enable/disable is likely to be incorrect and + * enable/disable must be given as own reg address here. */ bd_rtc->bd718xx_alm_block_start = BD71815_REG_RTC_ALM_START; hour_reg = BD71815_REG_HOUR; @@ -278,6 +279,11 @@ static int bd70528_probe(struct platform_device *pdev) bd_rtc->bd718xx_alm_block_start = BD71828_REG_RTC_ALM_START; hour_reg = BD71828_REG_RTC_HOUR; break; + case ROHM_CHIP_TYPE_BD72720: + bd_rtc->reg_time_start = BD72720_REG_RTC_START; + bd_rtc->bd718xx_alm_block_start = BD72720_REG_RTC_ALM_START; + hour_reg = BD72720_REG_RTC_HOUR; + break; default: dev_err(&pdev->dev, "Unknown chip\n"); return -ENOENT; @@ -337,6 +343,7 @@ static int bd70528_probe(struct platform_device *pdev) static const struct platform_device_id bd718x7_rtc_id[] = { { "bd71828-rtc", ROHM_CHIP_TYPE_BD71828 }, { "bd71815-rtc", ROHM_CHIP_TYPE_BD71815 }, + { "bd72720-rtc", ROHM_CHIP_TYPE_BD72720 }, { }, }; MODULE_DEVICE_TABLE(platform, bd718x7_rtc_id); |
