/Linux-v4.19/drivers/reset/ |
D | core.c | 63 struct reset_control *rstc[]; member 182 rstc_to_array(struct reset_control *rstc) { in rstc_to_array() argument 183 return container_of(rstc, struct reset_control_array, base); in rstc_to_array() 191 ret = reset_control_reset(resets->rstc[i]); in reset_control_array_reset() 204 ret = reset_control_assert(resets->rstc[i]); in reset_control_array_assert() 213 reset_control_deassert(resets->rstc[i]); in reset_control_array_assert() 222 ret = reset_control_deassert(resets->rstc[i]); in reset_control_array_deassert() 231 reset_control_assert(resets->rstc[i]); in reset_control_array_deassert() 235 static inline bool reset_control_is_array(struct reset_control *rstc) in reset_control_is_array() argument 237 return rstc->array; in reset_control_is_array() [all …]
|
D | reset-meson-audio-arb.c | 15 struct reset_controller_dev rstc; member 38 container_of(rcdev, struct meson_audio_arb_data, rstc); in meson_audio_arb_update() 59 container_of(rcdev, struct meson_audio_arb_data, rstc); in meson_audio_arb_status() 130 arb->rstc.nr_resets = ARRAY_SIZE(axg_audio_arb_reset_bits); in meson_audio_arb_probe() 131 arb->rstc.ops = &meson_audio_arb_rstc_ops; in meson_audio_arb_probe() 132 arb->rstc.of_node = dev->of_node; in meson_audio_arb_probe() 147 ret = devm_reset_controller_register(dev, &arb->rstc); in meson_audio_arb_probe()
|
/Linux-v4.19/drivers/clk/hisilicon/ |
D | reset.c | 58 struct hisi_reset_controller *rstc = to_hisi_reset_controller(rcdev); in hisi_reset_assert() local 66 spin_lock_irqsave(&rstc->lock, flags); in hisi_reset_assert() 68 reg = readl(rstc->membase + offset); in hisi_reset_assert() 69 writel(reg | BIT(bit), rstc->membase + offset); in hisi_reset_assert() 71 spin_unlock_irqrestore(&rstc->lock, flags); in hisi_reset_assert() 79 struct hisi_reset_controller *rstc = to_hisi_reset_controller(rcdev); in hisi_reset_deassert() local 87 spin_lock_irqsave(&rstc->lock, flags); in hisi_reset_deassert() 89 reg = readl(rstc->membase + offset); in hisi_reset_deassert() 90 writel(reg & ~BIT(bit), rstc->membase + offset); in hisi_reset_deassert() 92 spin_unlock_irqrestore(&rstc->lock, flags); in hisi_reset_deassert() [all …]
|
D | clk-hi3519.c | 43 struct hisi_reset_controller *rstc; member 163 crg->rstc = hisi_reset_init(pdev); in hi3519_clk_probe() 164 if (!crg->rstc) in hi3519_clk_probe() 169 hisi_reset_exit(crg->rstc); in hi3519_clk_probe() 181 hisi_reset_exit(crg->rstc); in hi3519_clk_remove()
|
D | reset.h | 26 void hisi_reset_exit(struct hisi_reset_controller *rstc); 33 static inline void hisi_reset_exit(struct hisi_reset_controller *rstc) in hisi_reset_exit() argument
|
D | crg-hi3516cv300.c | 285 crg->rstc = hisi_reset_init(pdev); in hi3516cv300_crg_probe() 286 if (!crg->rstc) in hi3516cv300_crg_probe() 291 hisi_reset_exit(crg->rstc); in hi3516cv300_crg_probe() 303 hisi_reset_exit(crg->rstc); in hi3516cv300_crg_remove()
|
D | crg-hi3798cv200.c | 368 crg->rstc = hisi_reset_init(pdev); in hi3798cv200_crg_probe() 369 if (!crg->rstc) in hi3798cv200_crg_probe() 374 hisi_reset_exit(crg->rstc); in hi3798cv200_crg_probe() 386 hisi_reset_exit(crg->rstc); in hi3798cv200_crg_remove()
|
/Linux-v4.19/drivers/reset/tegra/ |
D | reset-bpmp.c | 14 static struct tegra_bpmp *to_tegra_bpmp(struct reset_controller_dev *rstc) in to_tegra_bpmp() argument 16 return container_of(rstc, struct tegra_bpmp, rstc); in to_tegra_bpmp() 19 static int tegra_bpmp_reset_common(struct reset_controller_dev *rstc, in tegra_bpmp_reset_common() argument 23 struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc); in tegra_bpmp_reset_common() 39 static int tegra_bpmp_reset_module(struct reset_controller_dev *rstc, in tegra_bpmp_reset_module() argument 42 return tegra_bpmp_reset_common(rstc, CMD_RESET_MODULE, id); in tegra_bpmp_reset_module() 45 static int tegra_bpmp_reset_assert(struct reset_controller_dev *rstc, in tegra_bpmp_reset_assert() argument 48 return tegra_bpmp_reset_common(rstc, CMD_RESET_ASSERT, id); in tegra_bpmp_reset_assert() 51 static int tegra_bpmp_reset_deassert(struct reset_controller_dev *rstc, in tegra_bpmp_reset_deassert() argument 54 return tegra_bpmp_reset_common(rstc, CMD_RESET_DEASSERT, id); in tegra_bpmp_reset_deassert() [all …]
|
/Linux-v4.19/drivers/clk/meson/ |
D | meson-aoclk.c | 23 struct meson_aoclk_reset_controller *rstc = in meson_aoclk_do_reset() local 26 return regmap_write(rstc->regmap, rstc->data->reset_reg, in meson_aoclk_do_reset() 27 BIT(rstc->data->reset[id])); in meson_aoclk_do_reset() 36 struct meson_aoclk_reset_controller *rstc; in meson_aoclkc_probe() local 46 rstc = devm_kzalloc(dev, sizeof(*rstc), GFP_KERNEL); in meson_aoclkc_probe() 47 if (!rstc) in meson_aoclkc_probe() 57 rstc->data = data; in meson_aoclkc_probe() 58 rstc->regmap = regmap; in meson_aoclkc_probe() 59 rstc->reset.ops = &meson_aoclk_reset_ops; in meson_aoclkc_probe() 60 rstc->reset.nr_resets = data->num_reset, in meson_aoclkc_probe() [all …]
|
/Linux-v4.19/Documentation/devicetree/bindings/reset/ |
D | sirf,rstc.txt | 8 - compatible: Should be "sirf,prima2-rstc" or "sirf,marco-rstc" 15 rstc: reset-controller@88010000 { 16 compatible = "sirf,prima2-rstc"; 24 The reset controller(rstc) manages various reset sources. This module provides 26 reset line on the rstc in their resets property, containing a phandle to the 27 rstc device node and a RESET_INDEX specifying which module to reset, as described 41 resets = <&rstc 6>;
|
/Linux-v4.19/arch/arm/mach-meson/ |
D | platsmp.c | 166 struct reset_control *rstc; in meson8_smp_boot_secondary() local 169 rstc = meson_smp_get_core_reset(cpu); in meson8_smp_boot_secondary() 170 if (IS_ERR(rstc)) { in meson8_smp_boot_secondary() 172 return PTR_ERR(rstc); in meson8_smp_boot_secondary() 178 ret = reset_control_assert(rstc); in meson8_smp_boot_secondary() 203 ret = reset_control_deassert(rstc); in meson8_smp_boot_secondary() 214 reset_control_put(rstc); in meson8_smp_boot_secondary() 222 struct reset_control *rstc; in meson8b_smp_boot_secondary() local 226 rstc = meson_smp_get_core_reset(cpu); in meson8b_smp_boot_secondary() 227 if (IS_ERR(rstc)) { in meson8b_smp_boot_secondary() [all …]
|
/Linux-v4.19/drivers/mmc/host/ |
D | sdhci-st.c | 30 struct reset_control *rstc; member 361 struct reset_control *rstc; in sdhci_st_probe() local 374 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sdhci_st_probe() 375 if (IS_ERR(rstc)) in sdhci_st_probe() 376 rstc = NULL; in sdhci_st_probe() 378 reset_control_deassert(rstc); in sdhci_st_probe() 389 pdata->rstc = rstc; in sdhci_st_probe() 444 if (rstc) in sdhci_st_probe() 445 reset_control_assert(rstc); in sdhci_st_probe() 455 struct reset_control *rstc = pdata->rstc; in sdhci_st_remove() local [all …]
|
/Linux-v4.19/drivers/soc/amlogic/ |
D | meson-gx-pwrc-vpu.c | 34 struct reset_control *rstc; member 128 ret = reset_control_assert(pd->rstc); in meson_gx_pwrc_vpu_power_on() 135 ret = reset_control_deassert(pd->rstc); in meson_gx_pwrc_vpu_power_on() 166 struct reset_control *rstc; in meson_gx_pwrc_vpu_probe() local 185 rstc = devm_reset_control_array_get(&pdev->dev, false, false); in meson_gx_pwrc_vpu_probe() 186 if (IS_ERR(rstc)) { in meson_gx_pwrc_vpu_probe() 187 if (PTR_ERR(rstc) != -EPROBE_DEFER) in meson_gx_pwrc_vpu_probe() 189 return PTR_ERR(rstc); in meson_gx_pwrc_vpu_probe() 206 vpu_hdmi_pd.rstc = rstc; in meson_gx_pwrc_vpu_probe()
|
/Linux-v4.19/include/linux/ |
D | reset.h | 13 int reset_control_reset(struct reset_control *rstc); 14 int reset_control_assert(struct reset_control *rstc); 15 int reset_control_deassert(struct reset_control *rstc); 16 int reset_control_status(struct reset_control *rstc); 24 void reset_control_put(struct reset_control *rstc); 37 static inline int reset_control_reset(struct reset_control *rstc) in reset_control_reset() argument 42 static inline int reset_control_assert(struct reset_control *rstc) in reset_control_assert() argument 47 static inline int reset_control_deassert(struct reset_control *rstc) in reset_control_deassert() argument 52 static inline int reset_control_status(struct reset_control *rstc) in reset_control_status() argument 57 static inline void reset_control_put(struct reset_control *rstc) in reset_control_put() argument
|
/Linux-v4.19/drivers/pinctrl/sunxi/ |
D | pinctrl-sun8i-a23-r.c | 101 struct reset_control *rstc; in sun8i_a23_r_pinctrl_probe() local 104 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sun8i_a23_r_pinctrl_probe() 105 if (IS_ERR(rstc)) { in sun8i_a23_r_pinctrl_probe() 107 return PTR_ERR(rstc); in sun8i_a23_r_pinctrl_probe() 110 ret = reset_control_deassert(rstc); in sun8i_a23_r_pinctrl_probe() 118 reset_control_assert(rstc); in sun8i_a23_r_pinctrl_probe()
|
D | pinctrl-sun6i-a31-r.c | 114 struct reset_control *rstc; in sun6i_a31_r_pinctrl_probe() local 117 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sun6i_a31_r_pinctrl_probe() 118 if (IS_ERR(rstc)) { in sun6i_a31_r_pinctrl_probe() 120 return PTR_ERR(rstc); in sun6i_a31_r_pinctrl_probe() 123 ret = reset_control_deassert(rstc); in sun6i_a31_r_pinctrl_probe() 131 reset_control_assert(rstc); in sun6i_a31_r_pinctrl_probe()
|
/Linux-v4.19/arch/arm/mach-rockchip/ |
D | platsmp.c | 76 struct reset_control *rstc = rockchip_get_core_reset(pd); in pmu_set_power_domain() local 79 if (IS_ERR(rstc) && read_cpuid_part() != ARM_CPU_PART_CORTEX_A9) { in pmu_set_power_domain() 82 return PTR_ERR(rstc); in pmu_set_power_domain() 90 if (!IS_ERR(rstc) && !on) in pmu_set_power_domain() 91 reset_control_assert(rstc); in pmu_set_power_domain() 112 if (!IS_ERR(rstc)) { in pmu_set_power_domain() 114 reset_control_deassert(rstc); in pmu_set_power_domain() 115 reset_control_put(rstc); in pmu_set_power_domain()
|
/Linux-v4.19/drivers/phy/st/ |
D | phy-stih407-usb.c | 40 struct reset_control *rstc; member 48 reset_control_deassert(phy_dev->rstc); in stih407_usb2_pico_ctrl() 108 phy_dev->rstc = devm_reset_control_get_shared(dev, "global"); in stih407_usb2_picophy_probe() 109 if (IS_ERR(phy_dev->rstc)) { in stih407_usb2_picophy_probe() 111 return PTR_ERR(phy_dev->rstc); in stih407_usb2_picophy_probe()
|
/Linux-v4.19/drivers/pwm/ |
D | pwm-hibvt.c | 51 struct reset_control *rstc; member 211 pwm_chip->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in hibvt_pwm_probe() 212 if (IS_ERR(pwm_chip->rstc)) { in hibvt_pwm_probe() 214 return PTR_ERR(pwm_chip->rstc); in hibvt_pwm_probe() 217 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_probe() 219 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_probe() 243 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_remove() 245 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_remove()
|
/Linux-v4.19/drivers/i2c/busses/ |
D | i2c-sun6i-p2wi.c | 90 struct reset_control *rstc; member 261 p2wi->rstc = devm_reset_control_get_exclusive(dev, NULL); in p2wi_probe() 262 if (IS_ERR(p2wi->rstc)) { in p2wi_probe() 263 ret = PTR_ERR(p2wi->rstc); in p2wi_probe() 268 ret = reset_control_deassert(p2wi->rstc); in p2wi_probe() 312 reset_control_assert(p2wi->rstc); in p2wi_probe() 324 reset_control_assert(p2wi->rstc); in p2wi_remove()
|
/Linux-v4.19/drivers/clk/sunxi-ng/ |
D | ccu-sun8i-de2.c | 203 struct reset_control *rstc; in sunxi_de2_clk_probe() local 233 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sunxi_de2_clk_probe() 234 if (IS_ERR(rstc)) { in sunxi_de2_clk_probe() 235 ret = PTR_ERR(rstc); in sunxi_de2_clk_probe() 256 ret = reset_control_deassert(rstc); in sunxi_de2_clk_probe() 270 reset_control_assert(rstc); in sunxi_de2_clk_probe()
|
D | ccu-sun9i-a80-de.c | 216 struct reset_control *rstc; in sun9i_a80_de_clk_probe() local 233 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sun9i_a80_de_clk_probe() 234 if (IS_ERR(rstc)) { in sun9i_a80_de_clk_probe() 235 ret = PTR_ERR(rstc); in sun9i_a80_de_clk_probe() 250 ret = reset_control_deassert(rstc); in sun9i_a80_de_clk_probe() 265 reset_control_assert(rstc); in sun9i_a80_de_clk_probe()
|
/Linux-v4.19/drivers/watchdog/ |
D | zx2967_wdt.c | 197 struct reset_control *rstc; in zx2967_wdt_probe() local 232 rstc = devm_reset_control_get_exclusive(dev, NULL); in zx2967_wdt_probe() 233 if (IS_ERR(rstc)) { in zx2967_wdt_probe() 235 ret = PTR_ERR(rstc); in zx2967_wdt_probe() 239 reset_control_assert(rstc); in zx2967_wdt_probe() 240 reset_control_deassert(rstc); in zx2967_wdt_probe()
|
/Linux-v4.19/drivers/clocksource/ |
D | timer-stm32.c | 290 struct reset_control *rstc; in stm32_timer_init() local 312 rstc = of_reset_control_get(node, NULL); in stm32_timer_init() 313 if (!IS_ERR(rstc)) { in stm32_timer_init() 314 reset_control_assert(rstc); in stm32_timer_init() 315 reset_control_deassert(rstc); in stm32_timer_init()
|
/Linux-v4.19/drivers/media/rc/ |
D | st_rc.c | 33 struct reset_control *rstc; member 172 reset_control_deassert(dev->rstc); in st_rc_hardware_init() 287 rc_dev->rstc = reset_control_get_optional_exclusive(dev, NULL); in st_rc_probe() 288 if (IS_ERR(rc_dev->rstc)) { in st_rc_probe() 289 ret = PTR_ERR(rc_dev->rstc); in st_rc_probe() 359 reset_control_assert(rc_dev->rstc); in st_rc_suspend()
|