Immutable branch between MFD and GPIO due for the v6.18 merge window

-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmi4Ok4ACgkQUa+KL4f8
 d2EXQhAAj678EW7wDhazBQBxvZlbswpduYSkmLOFu0aVSAseCliU6DvNkMjleqv7
 68h+tDxCT4hYleTIRsXHl0ZGlVrCMzZkmUYt/pZ2Ohzcq1XTM4y4mXjMVPLEB4jV
 T5Bngo+fkj0RmI7VkVEsG2xruROn3tOt438Z055DmtScgyxUpJPg6IkA0hlPc/7I
 gCtW8oqtdfikx5MGh4dpJDhp9ASxrWZb/8/AvxnDH2R7zfRJ9IR2w/2zfTXTJckB
 4Ez5wFZYncL5ndZoJlRpR0exbbM0oAzu/eStRpzZQjbMs6j+fm/aeFn6eYgYcQaI
 sccNQ5muuLd/+zp88kuJaeo+lfjBGi8heJ8bd6kKcCuacCo+Mi5ByVhyD0krX1N0
 ahXachC4KnDwdCHIurW5mRypO7MRWyJmx7DqUSP+JwqEWOdehq7dWt90gBS320uE
 Q1EOf3EtMo1olxDMniyVesB6jq2a/5a7CEWkvGxGsoLj3Is8iHuklCbUbdYDZAPH
 Bnh0eTPxYnk264zvWkE0B2GmJtTnLlmFgWV0GSO99hYgYg6gS9GiErWZJW2tl2Is
 zl2bAQeJKKJoVJTcVNW8yXdU+NIv8A/UVCWL/Se9jMkwW1phg6twpJY/TmhFj1if
 Nx62iQG2Juv73p4EcVzeuTw1ZXB8d8efzFrSzuejNHLLjmw69YU=
 =Tstb
 -----END PGP SIGNATURE-----

Merge tag 'ib-mfd-gpio-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into gpio/for-next

Immutable branch between MFD and GPIO due for the v6.18 merge window

Convert GPIO drivers under drivers/mfd/ to using the modernized generic
GPIO chip API.
This commit is contained in:
Bartosz Golaszewski 2025-09-03 15:02:48 +02:00
commit d3441febbb

View File

@ -5,6 +5,7 @@
*/
#include <linux/gpio/driver.h>
#include <linux/gpio/generic.h>
#include <linux/err.h>
#include <linux/io.h>
#include <linux/mfd/core.h>
@ -96,9 +97,11 @@ static struct mfd_cell vexpress_sysreg_cells[] = {
static int vexpress_sysreg_probe(struct platform_device *pdev)
{
struct gpio_generic_chip *mmc_gpio_chip;
struct gpio_generic_chip_config config;
struct resource *mem;
void __iomem *base;
struct gpio_chip *mmc_gpio_chip;
int ret;
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!mem)
@ -116,10 +119,22 @@ static int vexpress_sysreg_probe(struct platform_device *pdev)
GFP_KERNEL);
if (!mmc_gpio_chip)
return -ENOMEM;
bgpio_init(mmc_gpio_chip, &pdev->dev, 0x4, base + SYS_MCI,
NULL, NULL, NULL, NULL, 0);
mmc_gpio_chip->ngpio = 2;
devm_gpiochip_add_data(&pdev->dev, mmc_gpio_chip, NULL);
config = (typeof(config)){
.dev = &pdev->dev,
.sz = 4,
.dat = base + SYS_MCI,
};
ret = gpio_generic_chip_init(mmc_gpio_chip, &config);
if (ret)
return ret;
mmc_gpio_chip->gc.ngpio = 2;
ret = devm_gpiochip_add_data(&pdev->dev, &mmc_gpio_chip->gc, NULL);
if (ret)
return ret;
return devm_mfd_add_devices(&pdev->dev, PLATFORM_DEVID_AUTO,
vexpress_sysreg_cells,