mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
pinctrl: equilibrium: Switch to use fwnode instead of of_node
GPIO library now accepts fwnode as a firmware node, so switch the driver to use it. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20220503151321.58800-1-andriy.shevchenko@linux.intel.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
646e321f33
commit
8f6a83daf7
@ -11,6 +11,7 @@
|
||||
#include <linux/pinctrl/pinconf-generic.h>
|
||||
#include <linux/pinctrl/pinmux.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/property.h>
|
||||
|
||||
#include "core.h"
|
||||
#include "pinconf.h"
|
||||
@ -167,11 +168,9 @@ static int gpiochip_setup(struct device *dev, struct eqbr_gpio_ctrl *gctrl)
|
||||
|
||||
gc = &gctrl->chip;
|
||||
gc->label = gctrl->name;
|
||||
#if defined(CONFIG_OF_GPIO)
|
||||
gc->of_node = gctrl->node;
|
||||
#endif
|
||||
gc->fwnode = gctrl->fwnode;
|
||||
|
||||
if (!of_property_read_bool(gctrl->node, "interrupt-controller")) {
|
||||
if (!fwnode_property_read_bool(gctrl->fwnode, "interrupt-controller")) {
|
||||
dev_dbg(dev, "gc %s: doesn't act as interrupt controller!\n",
|
||||
gctrl->name);
|
||||
return 0;
|
||||
@ -209,7 +208,7 @@ static int gpiolib_reg(struct eqbr_pinctrl_drv_data *drvdata)
|
||||
|
||||
for (i = 0; i < drvdata->nr_gpio_ctrls; i++) {
|
||||
gctrl = drvdata->gpio_ctrls + i;
|
||||
np = gctrl->node;
|
||||
np = to_of_node(gctrl->fwnode);
|
||||
|
||||
gctrl->name = devm_kasprintf(dev, GFP_KERNEL, "gpiochip%d", i);
|
||||
if (!gctrl->name)
|
||||
@ -895,7 +894,7 @@ static int pinbank_probe(struct eqbr_pinctrl_drv_data *drvdata)
|
||||
|
||||
pinbank_init(np_gpio, drvdata, banks + i, i);
|
||||
|
||||
gctrls[i].node = np_gpio;
|
||||
gctrls[i].fwnode = of_fwnode_handle(np_gpio);
|
||||
gctrls[i].bank = banks + i;
|
||||
i++;
|
||||
}
|
||||
|
@ -95,22 +95,24 @@ struct eqbr_pin_bank {
|
||||
u32 aval_pinmap;
|
||||
};
|
||||
|
||||
struct fwnode_handle;
|
||||
|
||||
/**
|
||||
* struct eqbr_gpio_ctrl: represent a gpio controller.
|
||||
* @node: device node of gpio controller.
|
||||
* @chip: gpio chip.
|
||||
* @fwnode: firmware node of gpio controller.
|
||||
* @bank: pointer to corresponding pin bank.
|
||||
* @membase: base address of the gpio controller.
|
||||
* @chip: gpio chip.
|
||||
* @ic: irq chip.
|
||||
* @name: gpio chip name.
|
||||
* @virq: irq number of the gpio chip to parent's irq domain.
|
||||
* @lock: spin lock to protect gpio register write.
|
||||
*/
|
||||
struct eqbr_gpio_ctrl {
|
||||
struct device_node *node;
|
||||
struct gpio_chip chip;
|
||||
struct fwnode_handle *fwnode;
|
||||
struct eqbr_pin_bank *bank;
|
||||
void __iomem *membase;
|
||||
struct gpio_chip chip;
|
||||
struct irq_chip ic;
|
||||
const char *name;
|
||||
unsigned int virq;
|
||||
|
Loading…
Reference in New Issue
Block a user