| /linux/drivers/clk/keystone/ |
| H A D | sci-clk.c | 58 struct sci_clk_provider *provider; member 82 return clk->provider->ops->get_clock(clk->provider->sci, clk->dev_id, in sci_clk_prepare() 99 ret = clk->provider->ops->put_clock(clk->provider->sci, clk->dev_id, in sci_clk_unprepare() 102 dev_err(clk->provider->dev, in sci_clk_unprepare() 120 ret = clk->provider->ops->is_on(clk->provider->sci, clk->dev_id, in sci_clk_is_prepared() 124 dev_err(clk->provider->dev, in sci_clk_is_prepared() 148 ret = clk->provider->ops->get_freq(clk->provider->sci, clk->dev_id, in sci_clk_recalc_rate() 151 dev_err(clk->provider->dev, in sci_clk_recalc_rate() 184 ret = clk->provider->ops->get_best_match_freq(clk->provider->sci, in sci_clk_determine_rate() 192 dev_err(clk->provider->dev, in sci_clk_determine_rate() [all …]
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | sdt.h | 45 # define _SDT_PROBE(provider, name, n, arglist) \ argument 46 _SDT_ASM_BODY(provider, name, _SDT_ASM_SUBSTR_1, (_SDT_DEPAREN_##n arglist)) \ 69 #define _SDT_NOTE_SEMAPHORE_USE(provider, name) \ argument 70 __asm__ __volatile__ ("" :: "m" (provider##_##name##_semaphore)); 72 #define _SDT_NOTE_SEMAPHORE_USE(provider, name) argument 75 # define _SDT_PROBE(provider, name, n, arglist) \ argument 77 _SDT_NOTE_SEMAPHORE_USE(provider, name); \ 78 __asm__ __volatile__ (_SDT_ASM_BODY(provider, name, _SDT_ASM_ARGS, (n)) \ 289 #define _SDT_ASM_BODY(provider, name, pack_args, args, ...) \ 299 _SDT_SEMAPHORE(provider,name) \ [all …]
|
| /linux/drivers/interconnect/ |
| H A D | icc-clk.c | 17 struct icc_provider provider; member 23 container_of(_provider, struct icc_clk_provider, provider) 82 struct icc_provider *provider; in icc_clk_register() local 98 provider = &qp->provider; in icc_clk_register() 99 provider->dev = dev; in icc_clk_register() 100 provider->get_bw = icc_clk_get_bw; in icc_clk_register() 101 provider->set = icc_clk_set; in icc_clk_register() 102 provider->aggregate = icc_std_aggregate; in icc_clk_register() 103 provider->xlate = of_icc_xlate_onecell; in icc_clk_register() 104 INIT_LIST_HEAD(&provider->nodes); in icc_clk_register() [all …]
|
| /linux/drivers/clk/tegra/ |
| H A D | clk-tegra210-emc.c | 35 struct tegra210_clk_emc_provider *provider; member 93 struct tegra210_clk_emc_provider *provider = emc->provider; in tegra210_clk_emc_determine_rate() local 96 if (!provider || !provider->configs || provider->num_configs == 0) { in tegra210_clk_emc_determine_rate() 102 for (i = 0; i < provider->num_configs; i++) { in tegra210_clk_emc_determine_rate() 103 if (provider->configs[i].rate >= req->rate) { in tegra210_clk_emc_determine_rate() 104 req->rate = provider->configs[i].rate; in tegra210_clk_emc_determine_rate() 110 req->rate = provider->configs[i - 1].rate; in tegra210_clk_emc_determine_rate() 130 struct tegra210_clk_emc_provider *provider = emc->provider; in tegra210_clk_emc_set_rate() local 132 struct device *dev = provider->dev; in tegra210_clk_emc_set_rate() 139 if (!provider->configs || provider->num_configs == 0) in tegra210_clk_emc_set_rate() [all …]
|
| /linux/drivers/interconnect/imx/ |
| H A D | imx.c | 41 struct device *dev = node->provider->dev; in imx_icc_node_set() 107 dev_warn(node->provider->dev, in imx_icc_node_destroy() 117 static int imx_icc_node_init_qos(struct icc_provider *provider, in imx_icc_node_init_qos() argument 122 struct device *dev = provider->dev; in imx_icc_node_init_qos() 166 struct icc_provider *provider = &imx_provider->provider; in imx_icc_node_add() local 167 struct device *dev = provider->dev; in imx_icc_node_add() 195 icc_node_add(node, provider); in imx_icc_node_add() 198 ret = imx_icc_node_init_qos(provider, node); in imx_icc_node_add() 208 static void imx_icc_unregister_nodes(struct icc_provider *provider) in imx_icc_unregister_nodes() argument 212 list_for_each_entry_safe(node, tmp, &provider->nodes, node_list) in imx_icc_unregister_nodes() [all …]
|
| /linux/drivers/clk/ti/ |
| H A D | clkctrl.c | 227 struct omap_clkctrl_provider *provider = data; in _ti_omap4_clkctrl_xlate() local 236 list_for_each_entry(iter, &provider->clocks, node) { in _ti_omap4_clkctrl_xlate() 285 _ti_clkctrl_clk_register(struct omap_clkctrl_provider *provider, in _ti_clkctrl_clk_register() argument 322 list_add(&clkctrl_clk->node, &provider->clocks); in _ti_clkctrl_clk_register() 333 _ti_clkctrl_setup_gate(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_gate() argument 347 if (_ti_clkctrl_clk_register(provider, node, &clk_hw->hw, offset, in _ti_clkctrl_setup_gate() 354 _ti_clkctrl_setup_mux(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_mux() argument 382 if (_ti_clkctrl_clk_register(provider, node, &mux->hw, offset, in _ti_clkctrl_setup_mux() 389 _ti_clkctrl_setup_div(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_div() argument 418 if (_ti_clkctrl_clk_register(provider, node, &div->hw, offset, in _ti_clkctrl_setup_div() [all …]
|
| /linux/drivers/interconnect/samsung/ |
| H A D | exynos.c | 24 struct icc_provider provider; member 100 icc_provider_deregister(&priv->provider); in exynos_generic_icc_remove() 101 icc_nodes_remove(&priv->provider); in exynos_generic_icc_remove() 108 struct icc_provider *provider; in exynos_generic_icc_probe() local 119 provider = &priv->provider; in exynos_generic_icc_probe() 121 provider->set = exynos_generic_icc_set; in exynos_generic_icc_probe() 122 provider->aggregate = icc_std_aggregate; in exynos_generic_icc_probe() 123 provider->xlate = exynos_generic_icc_xlate; in exynos_generic_icc_probe() 124 provider->dev = bus_dev; in exynos_generic_icc_probe() 125 provider->inter_set = true; in exynos_generic_icc_probe() [all …]
|
| /linux/include/linux/ |
| H A D | interconnect-provider.h | 102 struct icc_provider *provider; member 122 int icc_node_set_name(struct icc_node *node, const struct icc_provider *provider, const char *name); 125 void icc_node_add(struct icc_node *node, struct icc_provider *provider); 127 int icc_nodes_remove(struct icc_provider *provider); 128 void icc_provider_init(struct icc_provider *provider); 129 int icc_provider_register(struct icc_provider *provider); 130 void icc_provider_deregister(struct icc_provider *provider); 156 static inline int icc_node_set_name(struct icc_node *node, const struct icc_provider *provider, in icc_node_set_name() argument 172 static inline void icc_node_add(struct icc_node *node, struct icc_provider *provider) in icc_node_add() argument 180 static inline int icc_nodes_remove(struct icc_provider *provider) in icc_nodes_remove() argument [all …]
|
| /linux/drivers/virt/coco/guest/ |
| H A D | report.c | 19 } provider; variable 97 if (!provider.ops) in tsm_report_privlevel_store() 106 if (provider.ops->privlevel_floor > val || val > TSM_REPORT_PRIVLEVEL_MAX) in tsm_report_privlevel_store() 123 if (!provider.ops) in tsm_report_privlevel_floor_show() 126 return sysfs_emit(buf, "%u\n", provider.ops->privlevel_floor); in tsm_report_privlevel_floor_show() 228 if (!provider.ops) in tsm_report_provider_show() 231 return sysfs_emit(buf, "%s\n", provider.ops->name); in tsm_report_provider_show() 233 CONFIGFS_ATTR_RO(tsm_report_, provider); 296 ops = provider.ops; in tsm_report_read() 313 rc = ops->report_new(report, provider.data); in tsm_report_read() [all …]
|
| /linux/drivers/interconnect/qcom/ |
| H A D | icc-rpmh.c | 63 qp = to_qcom_provider(node->provider); in qcom_icc_pre_aggregate() 131 qp = to_qcom_provider(node->provider); in qcom_icc_set() 232 struct icc_provider *provider; in qcom_icc_rpmh_probe() local 255 provider = &qp->provider; in qcom_icc_rpmh_probe() 256 provider->dev = dev; in qcom_icc_rpmh_probe() 257 provider->set = qcom_icc_set; in qcom_icc_rpmh_probe() 258 provider->pre_aggregate = qcom_icc_pre_aggregate; in qcom_icc_rpmh_probe() 259 provider->aggregate = qcom_icc_aggregate; in qcom_icc_rpmh_probe() 260 provider->xlate_extended = qcom_icc_xlate_extended; in qcom_icc_rpmh_probe() 261 provider->data = data; in qcom_icc_rpmh_probe() [all …]
|
| /linux/drivers/clk/qcom/ |
| H A D | clk-ref.c | 160 struct qcom_clk_ref_provider *provider = data; in qcom_clk_ref_provider_get() local 163 if (idx >= provider->num_refs) in qcom_clk_ref_provider_get() 166 if (!provider->refs[idx].regmap) in qcom_clk_ref_provider_get() 169 return &provider->refs[idx].hw; in qcom_clk_ref_provider_get() 177 struct qcom_clk_ref_provider *provider; in qcom_clk_ref_probe() local 191 provider = devm_kzalloc(dev, struct_size(provider, refs, num_clk_refs), in qcom_clk_ref_probe() 193 if (!provider) in qcom_clk_ref_probe() 196 provider->num_refs = num_clk_refs; in qcom_clk_ref_probe() 198 ret = qcom_clk_ref_register(dev, regmap, provider->refs, descs, in qcom_clk_ref_probe() 199 provider->num_refs); in qcom_clk_ref_probe() [all …]
|
| H A D | clk-cbf-8996.c | 235 struct icc_provider *provider; in qcom_msm8996_cbf_icc_register() local 237 provider = icc_clk_register(dev, CBF_MASTER_NODE, ARRAY_SIZE(data), data); in qcom_msm8996_cbf_icc_register() 238 if (IS_ERR(provider)) in qcom_msm8996_cbf_icc_register() 239 return PTR_ERR(provider); in qcom_msm8996_cbf_icc_register() 241 platform_set_drvdata(pdev, provider); in qcom_msm8996_cbf_icc_register() 248 struct icc_provider *provider = platform_get_drvdata(pdev); in qcom_msm8996_cbf_icc_remove() local 250 icc_clk_unregister(provider); in qcom_msm8996_cbf_icc_remove()
|
| /linux/drivers/memory/tegra/ |
| H A D | tegra186-emc.c | 41 struct icc_provider provider; member 252 struct icc_provider *provider = data; in tegra186_emc_of_icc_xlate() local 256 list_for_each_entry(node, &provider->nodes, node_list) { in tegra186_emc_of_icc_xlate() 280 emc->provider.dev = emc->dev; in tegra186_emc_interconnect_init() 281 emc->provider.set = tegra186_emc_icc_set_bw; in tegra186_emc_interconnect_init() 282 emc->provider.data = &emc->provider; in tegra186_emc_interconnect_init() 283 emc->provider.aggregate = icc_std_aggregate; in tegra186_emc_interconnect_init() 284 emc->provider.xlate = tegra186_emc_of_icc_xlate; in tegra186_emc_interconnect_init() 285 emc->provider.get_bw = tegra186_emc_icc_get_init_bw; in tegra186_emc_interconnect_init() 287 icc_provider_init(&emc->provider); in tegra186_emc_interconnect_init() [all …]
|
| /linux/Documentation/translations/zh_CN/driver-api/phy/ |
| H A D | phy.rst | 31 注册/注销PHY provider 34 PHY provider是指实现一个或多个 PHY 实例的实体。对于 PHY provider 仅 36 的 of_xlate 实现。如果 PHY provider 实现多个实例,则应提供其自己的 50 启动情况,所有 PHY provider 都应使用上述两个宏之一来注册 PHY provider。 52 与 PHY provider 关联的设备树节点通常包含一组子节点,每个子节点代表一个 93 在 phy_ops 中,PHY provider驱动程序在创建 PHY 后使用 phy_set_drvdata() 185 (PHY provider 设备)的设备的子设备。 188 调用 PHY provider 设备的 pm_runtime_get_sync。还应注意,
|
| /linux/Documentation/driver-api/hte/ |
| H A D | hte.rst | 20 engine provider and consumer drivers that want to use the hardware timestamping 50 - Stores GPIO raw level in raw_level variable if the provider has that 61 ``/sys/kernel/debug/hte/<provider>/<label or line id>/``. Note that these 65 The total number of entities requested from the given provider, 66 where entity is specified by the provider and could represent 69 ``/sys/kernel/debug/hte/<provider>/``. 72 The total number of entities supported by the provider. 74 ``/sys/kernel/debug/hte/<provider>/``. 79 ``/sys/kernel/debug/hte/<provider>/<label or line id>/``.
|
| /linux/Documentation/driver-api/ |
| H A D | pwrseq.rst | 17 exposed by the power sequence provider and delegate the actual requesting and 18 control of the underlying resources as well as to allow the provider to 44 entry point to the provider layer. It ensures coherence between different 62 The provider API is admittedly not nearly as straightforward as the one for 65 Each provider can logically split the power-up sequence into discrete chunks 77 provider driver must implement the `match()` callback and pass it to the pwrseq 81 every registered provider and let it flexibly figure out whether the proposed 82 client device is indeed its consumer. For example: if the provider binds to the 84 consumer driver controls one of its modules, the provider driver may parse the 91 .. kernel-doc:: include/linux/pwrseq/provider.h
|
| /linux/drivers/phy/broadcom/ |
| H A D | phy-bcm-ns2-pcie.c | 46 struct phy_provider *provider; in ns2_pci_phy_probe() local 57 provider = devm_of_phy_provider_register(&phy->dev, in ns2_pci_phy_probe() 59 if (IS_ERR(provider)) { in ns2_pci_phy_probe() 61 return PTR_ERR(provider); in ns2_pci_phy_probe()
|
| H A D | phy-bcm-cygnus-pcie.c | 118 struct phy_provider *provider; in cygnus_pcie_phy_probe() local 173 provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); in cygnus_pcie_phy_probe() 174 if (IS_ERR(provider)) { in cygnus_pcie_phy_probe() 176 return PTR_ERR(provider); in cygnus_pcie_phy_probe()
|
| /linux/drivers/phy/marvell/ |
| H A D | phy-mmp3-hsic.c | 48 struct phy_provider *provider; in mmp3_hsic_phy_probe() local 66 provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); in mmp3_hsic_phy_probe() 67 if (IS_ERR(provider)) { in mmp3_hsic_phy_probe() 69 return PTR_ERR(provider); in mmp3_hsic_phy_probe()
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_privacy_screen_x86.c | 66 .provider = "privacy_screen-thinkpad_acpi", 76 .provider = "privacy_screen-GOOG0010:00", 92 arch_init_data[i].lookup.provider); in drm_privacy_screen_lookup_init() 103 if (arch_lookup.provider) in drm_privacy_screen_lookup_exit()
|
| /linux/drivers/phy/ |
| H A D | phy-pistachio-usb.c | 135 struct phy_provider *provider; in pistachio_usb_phy_probe() local 175 provider = devm_of_phy_provider_register(p_phy->dev, in pistachio_usb_phy_probe() 177 if (IS_ERR(provider)) { in pistachio_usb_phy_probe() 179 PTR_ERR(provider)); in pistachio_usb_phy_probe() 180 return PTR_ERR(provider); in pistachio_usb_phy_probe()
|
| /linux/drivers/phy/renesas/ |
| H A D | phy-rcar-gen3-pcie.c | 76 struct phy_provider *provider; in rcar_gen3_phy_pcie_probe() local 113 provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); in rcar_gen3_phy_pcie_probe() 114 if (IS_ERR(provider)) { in rcar_gen3_phy_pcie_probe() 116 error = PTR_ERR(provider); in rcar_gen3_phy_pcie_probe()
|
| /linux/drivers/phy/nuvoton/ |
| H A D | phy-ma35d1-usb2.c | 92 struct phy_provider *provider; in ma35_usb_phy_probe() local 119 provider = devm_of_phy_provider_register(&pdev->dev, of_phy_simple_xlate); in ma35_usb_phy_probe() 120 if (IS_ERR(provider)) in ma35_usb_phy_probe() 121 return dev_err_probe(&pdev->dev, PTR_ERR(provider), in ma35_usb_phy_probe()
|
| /linux/Documentation/devicetree/bindings/reset/ |
| H A D | reset.txt | 9 a reset provider (e.g. power management or clock module) and received by a 11 ordinate module is reset). This binding exists to represent the provider and 14 A reset signal is represented by the phandle of the provider, plus a reset 16 provider. The length (number of cells) and semantics of the reset specifier 17 are dictated by the binding of the reset provider, although common schemes 50 device manages. Note: if the reset provider specifies '0' for
|
| /linux/drivers/phy/cadence/ |
| H A D | cdns-dphy-rx.c | 240 struct phy_provider *provider; in cdns_dphy_rx_probe() local 261 provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); in cdns_dphy_rx_probe() 262 if (IS_ERR(provider)) { in cdns_dphy_rx_probe() 264 PTR_ERR(provider)); in cdns_dphy_rx_probe() 265 return PTR_ERR(provider); in cdns_dphy_rx_probe()
|