Lines Matching defs:priv
34 struct uniphier_glue_reset_priv *priv;
40 priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
41 if (!priv)
44 priv->data = of_device_get_match_data(dev);
45 if (WARN_ON(!priv->data || priv->data->nclks > MAX_CLKS ||
46 priv->data->nrsts > MAX_RSTS))
51 priv->rdata.membase = devm_ioremap_resource(dev, res);
52 if (IS_ERR(priv->rdata.membase))
53 return PTR_ERR(priv->rdata.membase);
55 for (i = 0; i < priv->data->nclks; i++)
56 priv->clk[i].id = priv->data->clock_names[i];
57 ret = devm_clk_bulk_get(dev, priv->data->nclks, priv->clk);
61 for (i = 0; i < priv->data->nrsts; i++) {
62 name = priv->data->reset_names[i];
63 priv->rst[i] = devm_reset_control_get_shared(dev, name);
64 if (IS_ERR(priv->rst[i]))
65 return PTR_ERR(priv->rst[i]);
68 ret = clk_bulk_prepare_enable(priv->data->nclks, priv->clk);
72 for (nr = 0; nr < priv->data->nrsts; nr++) {
73 ret = reset_control_deassert(priv->rst[nr]);
78 spin_lock_init(&priv->rdata.lock);
79 priv->rdata.rcdev.owner = THIS_MODULE;
80 priv->rdata.rcdev.nr_resets = size * BITS_PER_BYTE;
81 priv->rdata.rcdev.ops = &reset_simple_ops;
82 priv->rdata.rcdev.of_node = dev->of_node;
83 priv->rdata.active_low = true;
85 platform_set_drvdata(pdev, priv);
87 ret = devm_reset_controller_register(dev, &priv->rdata.rcdev);
95 reset_control_assert(priv->rst[nr]);
97 clk_bulk_disable_unprepare(priv->data->nclks, priv->clk);
104 struct uniphier_glue_reset_priv *priv = platform_get_drvdata(pdev);
107 for (i = 0; i < priv->data->nrsts; i++)
108 reset_control_assert(priv->rst[i]);
110 clk_bulk_disable_unprepare(priv->data->nclks, priv->clk);