Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'intel-gpio-v5.18-1' of gitolite.kernel.org:pub/scm/linux/kernel/git/andy/linux-gpio-intel into gpio/for-next

intel-gpio for v5.18-1

* Set IRQ bus token in gpio-crystalcove to avoid debugfs error
* Check return value of kstrdup() in gpio-merrifield to error out earlier
* Clean up couple of drivers from unneeded of_node usage
* Allow gpio-tps68470 to be built as module to reduce memory foot print

+18 -9
+1 -5
drivers/gpio/Kconfig
··· 1390 1390 This driver supports TPS65912 GPIO chip. 1391 1391 1392 1392 config GPIO_TPS68470 1393 - bool "TPS68470 GPIO" 1393 + tristate "TPS68470 GPIO" 1394 1394 depends on INTEL_SKL_INT3472 1395 1395 help 1396 1396 Select this option to enable GPIO driver for the TPS68470 ··· 1399 1399 by the TPS68470. While the 7 GPIOs can be configured as 1400 1400 input or output as appropriate, the sensor related GPIOs 1401 1401 are "output only" GPIOs. 1402 - 1403 - This driver config is bool, as the GPIO functionality 1404 - of the TPS68470 must be available before dependent 1405 - drivers are loaded. 1406 1402 1407 1403 config GPIO_TQMX86 1408 1404 tristate "TQ-Systems QTMX86 GPIO"
+2 -1
drivers/gpio/gpio-altera-a10sr.c
··· 10 10 #include <linux/gpio/driver.h> 11 11 #include <linux/mfd/altera-a10sr.h> 12 12 #include <linux/module.h> 13 + #include <linux/property.h> 13 14 14 15 /** 15 16 * struct altr_a10sr_gpio - Altera Max5 GPIO device private data structure ··· 89 88 90 89 gpio->gp = altr_a10sr_gc; 91 90 gpio->gp.parent = pdev->dev.parent; 92 - gpio->gp.of_node = pdev->dev.of_node; 91 + gpio->gp.fwnode = dev_fwnode(&pdev->dev); 93 92 94 93 return devm_gpiochip_add_data(&pdev->dev, &gpio->gp, gpio); 95 94 }
+8 -1
drivers/gpio/gpio-crystalcove.c
··· 370 370 return retval; 371 371 } 372 372 373 - return devm_gpiochip_add_data(&pdev->dev, &cg->chip, cg); 373 + retval = devm_gpiochip_add_data(&pdev->dev, &cg->chip, cg); 374 + if (retval) 375 + return retval; 376 + 377 + /* Distuingish IRQ domain from others sharing (MFD) the same fwnode */ 378 + irq_domain_update_bus_token(cg->chip.irq.domain, DOMAIN_BUS_WIRED); 379 + 380 + return 0; 374 381 } 375 382 376 383 static struct platform_driver crystalcove_gpio_driver = {
+3
drivers/gpio/gpio-merrifield.c
··· 409 409 int retval; 410 410 411 411 pinctrl_dev_name = mrfld_gpio_get_pinctrl_dev_name(priv); 412 + if (!pinctrl_dev_name) 413 + return -ENOMEM; 414 + 412 415 for (i = 0; i < ARRAY_SIZE(mrfld_gpio_ranges); i++) { 413 416 range = &mrfld_gpio_ranges[i]; 414 417 retval = gpiochip_add_pin_range(&priv->chip, pinctrl_dev_name,
-1
drivers/gpio/gpio-tegra.c
··· 691 691 tgi->gc.base = 0; 692 692 tgi->gc.ngpio = tgi->bank_count * 32; 693 693 tgi->gc.parent = &pdev->dev; 694 - tgi->gc.of_node = pdev->dev.of_node; 695 694 696 695 tgi->ic.name = "GPIO"; 697 696 tgi->ic.irq_ack = tegra_gpio_irq_ack;
+4 -1
drivers/gpio/gpio-tps68470.c
··· 154 154 }, 155 155 .probe = tps68470_gpio_probe, 156 156 }; 157 + module_platform_driver(tps68470_gpio_driver); 157 158 158 - builtin_platform_driver(tps68470_gpio_driver) 159 + MODULE_ALIAS("platform:tps68470-gpio"); 160 + MODULE_DESCRIPTION("GPIO driver for TPS68470 PMIC"); 161 + MODULE_LICENSE("GPL v2");