clk_wzrd 64 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c #define to_clk_wzrd(_nb) container_of(_nb, struct clk_wzrd, nb) clk_wzrd 78 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c struct clk_wzrd *clk_wzrd = to_clk_wzrd(nb); clk_wzrd 80 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (clk_wzrd->suspended) clk_wzrd 83 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (ndata->clk == clk_wzrd->clk_in1) clk_wzrd 84 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c max = clk_wzrd_max_freq[clk_wzrd->speed_grade - 1]; clk_wzrd 85 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c else if (ndata->clk == clk_wzrd->axi_clk) clk_wzrd 104 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c struct clk_wzrd *clk_wzrd = dev_get_drvdata(dev); clk_wzrd 106 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_disable_unprepare(clk_wzrd->axi_clk); clk_wzrd 107 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->suspended = true; clk_wzrd 115 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c struct clk_wzrd *clk_wzrd = dev_get_drvdata(dev); clk_wzrd 117 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c ret = clk_prepare_enable(clk_wzrd->axi_clk); clk_wzrd 123 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->suspended = false; clk_wzrd 137 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c struct clk_wzrd *clk_wzrd; clk_wzrd 141 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd = devm_kzalloc(&pdev->dev, sizeof(*clk_wzrd), GFP_KERNEL); clk_wzrd 142 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (!clk_wzrd) clk_wzrd 144 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c platform_set_drvdata(pdev, clk_wzrd); clk_wzrd 147 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->base = devm_ioremap_resource(&pdev->dev, mem); clk_wzrd 148 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (IS_ERR(clk_wzrd->base)) clk_wzrd 149 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c return PTR_ERR(clk_wzrd->base); clk_wzrd 151 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c ret = of_property_read_u32(np, "speed-grade", &clk_wzrd->speed_grade); clk_wzrd 153 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (clk_wzrd->speed_grade < 1 || clk_wzrd->speed_grade > 3) { clk_wzrd 155 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->speed_grade); clk_wzrd 156 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->speed_grade = 0; clk_wzrd 160 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->clk_in1 = devm_clk_get(&pdev->dev, "clk_in1"); clk_wzrd 161 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (IS_ERR(clk_wzrd->clk_in1)) { clk_wzrd 162 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (clk_wzrd->clk_in1 != ERR_PTR(-EPROBE_DEFER)) clk_wzrd 164 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c return PTR_ERR(clk_wzrd->clk_in1); clk_wzrd 167 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->axi_clk = devm_clk_get(&pdev->dev, "s_axi_aclk"); clk_wzrd 168 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (IS_ERR(clk_wzrd->axi_clk)) { clk_wzrd 169 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (clk_wzrd->axi_clk != ERR_PTR(-EPROBE_DEFER)) clk_wzrd 171 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c return PTR_ERR(clk_wzrd->axi_clk); clk_wzrd 173 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c ret = clk_prepare_enable(clk_wzrd->axi_clk); clk_wzrd 178 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c rate = clk_get_rate(clk_wzrd->axi_clk); clk_wzrd 187 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c reg = readl(clk_wzrd->base + WZRD_CLK_CFG_REG(0)) & clk_wzrd 189 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c reg |= readl(clk_wzrd->base + WZRD_CLK_CFG_REG(2)) & clk_wzrd 195 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c reg = (readl(clk_wzrd->base + WZRD_CLK_CFG_REG(0)) & clk_wzrd 202 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->clks_internal[wzrd_clk_mul] = clk_register_fixed_factor clk_wzrd 204 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c __clk_get_name(clk_wzrd->clk_in1), clk_wzrd 207 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (IS_ERR(clk_wzrd->clks_internal[wzrd_clk_mul])) { clk_wzrd 209 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c ret = PTR_ERR(clk_wzrd->clks_internal[wzrd_clk_mul]); clk_wzrd 214 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c reg = (readl(clk_wzrd->base + WZRD_CLK_CFG_REG(0)) & clk_wzrd 222 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->clks_internal[wzrd_clk_mul_div] = clk_register_fixed_factor clk_wzrd 224 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c __clk_get_name(clk_wzrd->clks_internal[wzrd_clk_mul]), clk_wzrd 226 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (IS_ERR(clk_wzrd->clks_internal[wzrd_clk_mul_div])) { clk_wzrd 228 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c ret = PTR_ERR(clk_wzrd->clks_internal[wzrd_clk_mul_div]); clk_wzrd 243 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c reg = readl(clk_wzrd->base + WZRD_CLK_CFG_REG(2) + i * 12); clk_wzrd 246 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->clkout[i] = clk_register_fixed_factor clk_wzrd 248 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (IS_ERR(clk_wzrd->clkout[i])) { clk_wzrd 252 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_unregister(clk_wzrd->clkout[j]); clk_wzrd 255 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c ret = PTR_ERR(clk_wzrd->clkout[i]); clk_wzrd 262 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->clk_data.clks = clk_wzrd->clkout; clk_wzrd 263 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->clk_data.clk_num = ARRAY_SIZE(clk_wzrd->clkout); clk_wzrd 264 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c of_clk_add_provider(np, of_clk_src_onecell_get, &clk_wzrd->clk_data); clk_wzrd 266 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (clk_wzrd->speed_grade) { clk_wzrd 267 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_wzrd->nb.notifier_call = clk_wzrd_clk_notifier; clk_wzrd 269 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c ret = clk_notifier_register(clk_wzrd->clk_in1, clk_wzrd 270 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c &clk_wzrd->nb); clk_wzrd 275 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c ret = clk_notifier_register(clk_wzrd->axi_clk, &clk_wzrd->nb); clk_wzrd 284 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_unregister(clk_wzrd->clks_internal[1]); clk_wzrd 287 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_unregister(clk_wzrd->clks_internal[0]); clk_wzrd 289 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_disable_unprepare(clk_wzrd->axi_clk); clk_wzrd 297 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c struct clk_wzrd *clk_wzrd = platform_get_drvdata(pdev); clk_wzrd 302 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_unregister(clk_wzrd->clkout[i]); clk_wzrd 304 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_unregister(clk_wzrd->clks_internal[i]); clk_wzrd 306 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c if (clk_wzrd->speed_grade) { clk_wzrd 307 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_notifier_unregister(clk_wzrd->axi_clk, &clk_wzrd->nb); clk_wzrd 308 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_notifier_unregister(clk_wzrd->clk_in1, &clk_wzrd->nb); clk_wzrd 311 drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c clk_disable_unprepare(clk_wzrd->axi_clk);