ns_pinctrl
struct ns_pinctrl *ns_pinctrl = pinctrl_dev_get_drvdata(pctrl_dev);
tmp = readl(ns_pinctrl->base);
writel(tmp, ns_pinctrl->base);
struct ns_pinctrl *ns_pinctrl;
ns_pinctrl = devm_kzalloc(dev, sizeof(*ns_pinctrl), GFP_KERNEL);
if (!ns_pinctrl)
pctldesc = &ns_pinctrl->pctldesc;
platform_set_drvdata(pdev, ns_pinctrl);
ns_pinctrl->dev = dev;
ns_pinctrl->chipset_flag = (uintptr_t)device_get_match_data(dev);
ns_pinctrl->base = devm_ioremap_resource(dev, res);
if (IS_ERR(ns_pinctrl->base))
return PTR_ERR(ns_pinctrl->base);
if (chipsets & ns_pinctrl->chipset_flag) {
ns_pinctrl->pctldev = devm_pinctrl_register(dev, pctldesc, ns_pinctrl);
if (IS_ERR(ns_pinctrl->pctldev)) {
return PTR_ERR(ns_pinctrl->pctldev);
if (!(group->chipsets & ns_pinctrl->chipset_flag))
pinctrl_generic_add_group(ns_pinctrl->pctldev, group->name,
if (!(function->chipsets & ns_pinctrl->chipset_flag))
pinmux_generic_add_function(ns_pinctrl->pctldev, function->name,