Lines Matching refs:data

45 	struct sun9i_mmc_clk_data *data = container_of(rcdev,  in sun9i_mmc_reset_assert()  local
49 void __iomem *reg = data->membase + SUN9I_MMC_WIDTH * id; in sun9i_mmc_reset_assert()
52 clk_prepare_enable(data->clk); in sun9i_mmc_reset_assert()
53 spin_lock_irqsave(&data->lock, flags); in sun9i_mmc_reset_assert()
58 spin_unlock_irqrestore(&data->lock, flags); in sun9i_mmc_reset_assert()
59 clk_disable_unprepare(data->clk); in sun9i_mmc_reset_assert()
67 struct sun9i_mmc_clk_data *data = container_of(rcdev, in sun9i_mmc_reset_deassert() local
71 void __iomem *reg = data->membase + SUN9I_MMC_WIDTH * id; in sun9i_mmc_reset_deassert()
74 clk_prepare_enable(data->clk); in sun9i_mmc_reset_deassert()
75 spin_lock_irqsave(&data->lock, flags); in sun9i_mmc_reset_deassert()
80 spin_unlock_irqrestore(&data->lock, flags); in sun9i_mmc_reset_deassert()
81 clk_disable_unprepare(data->clk); in sun9i_mmc_reset_deassert()
94 struct sun9i_mmc_clk_data *data; in sun9i_a80_mmc_config_clk_probe() local
101 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); in sun9i_a80_mmc_config_clk_probe()
102 if (!data) in sun9i_a80_mmc_config_clk_probe()
105 spin_lock_init(&data->lock); in sun9i_a80_mmc_config_clk_probe()
110 data->membase = devm_ioremap_resource(&pdev->dev, r); in sun9i_a80_mmc_config_clk_probe()
111 if (IS_ERR(data->membase)) in sun9i_a80_mmc_config_clk_probe()
112 return PTR_ERR(data->membase); in sun9i_a80_mmc_config_clk_probe()
114 clk_data = &data->clk_data; in sun9i_a80_mmc_config_clk_probe()
121 data->clk = devm_clk_get(&pdev->dev, NULL); in sun9i_a80_mmc_config_clk_probe()
122 if (IS_ERR(data->clk)) { in sun9i_a80_mmc_config_clk_probe()
124 return PTR_ERR(data->clk); in sun9i_a80_mmc_config_clk_probe()
127 data->reset = devm_reset_control_get(&pdev->dev, NULL); in sun9i_a80_mmc_config_clk_probe()
128 if (IS_ERR(data->reset)) { in sun9i_a80_mmc_config_clk_probe()
130 return PTR_ERR(data->reset); in sun9i_a80_mmc_config_clk_probe()
133 ret = reset_control_deassert(data->reset); in sun9i_a80_mmc_config_clk_probe()
139 clk_parent = __clk_get_name(data->clk); in sun9i_a80_mmc_config_clk_probe()
146 data->membase + SUN9I_MMC_WIDTH * i, in sun9i_a80_mmc_config_clk_probe()
148 &data->lock); in sun9i_a80_mmc_config_clk_probe()
160 data->rcdev.owner = THIS_MODULE; in sun9i_a80_mmc_config_clk_probe()
161 data->rcdev.nr_resets = count; in sun9i_a80_mmc_config_clk_probe()
162 data->rcdev.ops = &sun9i_mmc_reset_ops; in sun9i_a80_mmc_config_clk_probe()
163 data->rcdev.of_node = pdev->dev.of_node; in sun9i_a80_mmc_config_clk_probe()
165 ret = reset_controller_register(&data->rcdev); in sun9i_a80_mmc_config_clk_probe()
169 platform_set_drvdata(pdev, data); in sun9i_a80_mmc_config_clk_probe()
181 reset_control_assert(data->reset); in sun9i_a80_mmc_config_clk_probe()
189 struct sun9i_mmc_clk_data *data = platform_get_drvdata(pdev); in sun9i_a80_mmc_config_clk_remove() local
190 struct clk_onecell_data *clk_data = &data->clk_data; in sun9i_a80_mmc_config_clk_remove()
193 reset_controller_unregister(&data->rcdev); in sun9i_a80_mmc_config_clk_remove()
198 reset_control_assert(data->reset); in sun9i_a80_mmc_config_clk_remove()