Lines Matching refs:data

44 	struct sun9i_mmc_clk_data *data = container_of(rcdev,  in sun9i_mmc_reset_assert()  local
48 void __iomem *reg = data->membase + SUN9I_MMC_WIDTH * id; in sun9i_mmc_reset_assert()
51 clk_prepare_enable(data->clk); in sun9i_mmc_reset_assert()
52 spin_lock_irqsave(&data->lock, flags); in sun9i_mmc_reset_assert()
57 spin_unlock_irqrestore(&data->lock, flags); in sun9i_mmc_reset_assert()
58 clk_disable_unprepare(data->clk); in sun9i_mmc_reset_assert()
66 struct sun9i_mmc_clk_data *data = container_of(rcdev, in sun9i_mmc_reset_deassert() local
70 void __iomem *reg = data->membase + SUN9I_MMC_WIDTH * id; in sun9i_mmc_reset_deassert()
73 clk_prepare_enable(data->clk); in sun9i_mmc_reset_deassert()
74 spin_lock_irqsave(&data->lock, flags); in sun9i_mmc_reset_deassert()
79 spin_unlock_irqrestore(&data->lock, flags); in sun9i_mmc_reset_deassert()
80 clk_disable_unprepare(data->clk); in sun9i_mmc_reset_deassert()
93 struct sun9i_mmc_clk_data *data; in sun9i_a80_mmc_config_clk_probe() local
100 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); in sun9i_a80_mmc_config_clk_probe()
101 if (!data) in sun9i_a80_mmc_config_clk_probe()
104 spin_lock_init(&data->lock); in sun9i_a80_mmc_config_clk_probe()
109 data->membase = devm_ioremap_resource(&pdev->dev, r); in sun9i_a80_mmc_config_clk_probe()
110 if (IS_ERR(data->membase)) in sun9i_a80_mmc_config_clk_probe()
111 return PTR_ERR(data->membase); in sun9i_a80_mmc_config_clk_probe()
113 clk_data = &data->clk_data; in sun9i_a80_mmc_config_clk_probe()
120 data->clk = devm_clk_get(&pdev->dev, NULL); in sun9i_a80_mmc_config_clk_probe()
121 if (IS_ERR(data->clk)) { in sun9i_a80_mmc_config_clk_probe()
123 return PTR_ERR(data->clk); in sun9i_a80_mmc_config_clk_probe()
126 data->reset = devm_reset_control_get(&pdev->dev, NULL); in sun9i_a80_mmc_config_clk_probe()
127 if (IS_ERR(data->reset)) { in sun9i_a80_mmc_config_clk_probe()
129 return PTR_ERR(data->reset); in sun9i_a80_mmc_config_clk_probe()
132 ret = reset_control_deassert(data->reset); in sun9i_a80_mmc_config_clk_probe()
138 clk_parent = __clk_get_name(data->clk); in sun9i_a80_mmc_config_clk_probe()
145 data->membase + SUN9I_MMC_WIDTH * i, in sun9i_a80_mmc_config_clk_probe()
147 &data->lock); in sun9i_a80_mmc_config_clk_probe()
159 data->rcdev.owner = THIS_MODULE; in sun9i_a80_mmc_config_clk_probe()
160 data->rcdev.nr_resets = count; in sun9i_a80_mmc_config_clk_probe()
161 data->rcdev.ops = &sun9i_mmc_reset_ops; in sun9i_a80_mmc_config_clk_probe()
162 data->rcdev.of_node = pdev->dev.of_node; in sun9i_a80_mmc_config_clk_probe()
164 ret = reset_controller_register(&data->rcdev); in sun9i_a80_mmc_config_clk_probe()
168 platform_set_drvdata(pdev, data); in sun9i_a80_mmc_config_clk_probe()
180 reset_control_assert(data->reset); in sun9i_a80_mmc_config_clk_probe()
188 struct sun9i_mmc_clk_data *data = platform_get_drvdata(pdev); in sun9i_a80_mmc_config_clk_remove() local
189 struct clk_onecell_data *clk_data = &data->clk_data; in sun9i_a80_mmc_config_clk_remove()
192 reset_controller_unregister(&data->rcdev); in sun9i_a80_mmc_config_clk_remove()
197 reset_control_assert(data->reset); in sun9i_a80_mmc_config_clk_remove()