Lines Matching refs:drvdata

207 static int gpiolib_reg(struct eqbr_pinctrl_drv_data *drvdata)
209 struct device *dev = drvdata->dev;
215 for (i = 0; i < drvdata->nr_gpio_ctrls; i++) {
216 gctrl = drvdata->gpio_ctrls + i;
645 static int eqbr_build_functions(struct eqbr_pinctrl_drv_data *drvdata)
647 struct device *dev = drvdata->dev;
688 ret = pinmux_generic_add_function(drvdata->pctl_dev,
692 drvdata);
703 static int eqbr_build_groups(struct eqbr_pinctrl_drv_data *drvdata)
705 struct device *dev = drvdata->dev;
746 if (pin_id >= drvdata->pctl_desc.npins) {
762 err = pinctrl_generic_add_group(drvdata->pctl_dev,
777 static int pinctrl_reg(struct eqbr_pinctrl_drv_data *drvdata)
786 dev = drvdata->dev;
787 pctl_desc = &drvdata->pctl_desc;
793 raw_spin_lock_init(&drvdata->lock);
795 for (i = 0, nr_pins = 0; i < drvdata->nr_banks; i++)
796 nr_pins += drvdata->pin_banks[i].nr_pins;
815 ret = devm_pinctrl_register_and_init(dev, pctl_desc, drvdata,
816 &drvdata->pctl_dev);
820 ret = eqbr_build_groups(drvdata);
826 ret = eqbr_build_functions(drvdata);
832 return pinctrl_enable(drvdata->pctl_dev);
836 struct eqbr_pinctrl_drv_data *drvdata,
839 struct device *dev = drvdata->dev;
843 bank->membase = drvdata->membase + id * PAD_REG_OFF;
864 static int pinbank_probe(struct eqbr_pinctrl_drv_data *drvdata)
866 struct device *dev = drvdata->dev;
901 pinbank_init(np_gpio, drvdata, banks + i, i);
908 drvdata->pin_banks = banks;
909 drvdata->nr_banks = nr_gpio;
910 drvdata->gpio_ctrls = gctrls;
911 drvdata->nr_gpio_ctrls = nr_gpio;
918 struct eqbr_pinctrl_drv_data *drvdata;
922 drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
923 if (!drvdata)
926 drvdata->dev = dev;
928 drvdata->membase = devm_platform_ioremap_resource(pdev, 0);
929 if (IS_ERR(drvdata->membase))
930 return PTR_ERR(drvdata->membase);
932 ret = pinbank_probe(drvdata);
936 ret = pinctrl_reg(drvdata);
940 ret = gpiolib_reg(drvdata);
944 platform_set_drvdata(pdev, drvdata);