mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 04:56:13 +02:00
mfd: vexpress-sysreg: Use new generic GPIO chip API
Convert the driver to using the new generic GPIO chip interfaces from linux/gpio/generic.h. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20250811-gpio-mmio-mfd-conv-v1-2-68c5c958cf80@linaro.org Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
parent
1efbee6852
commit
9b33bbc084
|
|
@ -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,10 @@ 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);
|
||||
|
|
@ -117,11 +119,20 @@ 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;
|
||||
|
||||
ret = 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;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user