Lines Matching refs:data
38 struct sun9i_mmc_clk_data *data = container_of(rcdev,
42 void __iomem *reg = data->membase + SUN9I_MMC_WIDTH * id;
45 clk_prepare_enable(data->clk);
46 spin_lock_irqsave(&data->lock, flags);
51 spin_unlock_irqrestore(&data->lock, flags);
52 clk_disable_unprepare(data->clk);
60 struct sun9i_mmc_clk_data *data = container_of(rcdev,
64 void __iomem *reg = data->membase + SUN9I_MMC_WIDTH * id;
67 clk_prepare_enable(data->clk);
68 spin_lock_irqsave(&data->lock, flags);
73 spin_unlock_irqrestore(&data->lock, flags);
74 clk_disable_unprepare(data->clk);
98 struct sun9i_mmc_clk_data *data;
105 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
106 if (!data)
109 spin_lock_init(&data->lock);
116 data->membase = devm_ioremap_resource(&pdev->dev, r);
117 if (IS_ERR(data->membase))
118 return PTR_ERR(data->membase);
120 clk_data = &data->clk_data;
127 data->clk = devm_clk_get(&pdev->dev, NULL);
128 if (IS_ERR(data->clk)) {
130 return PTR_ERR(data->clk);
133 data->reset = devm_reset_control_get_exclusive(&pdev->dev, NULL);
134 if (IS_ERR(data->reset)) {
136 return PTR_ERR(data->reset);
139 ret = reset_control_deassert(data->reset);
145 clk_parent = __clk_get_name(data->clk);
152 data->membase + SUN9I_MMC_WIDTH * i,
154 &data->lock);
166 data->rcdev.owner = THIS_MODULE;
167 data->rcdev.nr_resets = count;
168 data->rcdev.ops = &sun9i_mmc_reset_ops;
169 data->rcdev.of_node = pdev->dev.of_node;
171 ret = reset_controller_register(&data->rcdev);
175 platform_set_drvdata(pdev, data);
187 reset_control_assert(data->reset);