/linux/drivers/reset/ |
A D | core.c | 217 rstc = resets->rstc[i]; in reset_control_array_rearm() 235 rstc = resets->rstc[i]; in reset_control_array_rearm() 237 if (rstc && rstc->shared) in reset_control_array_rearm() 353 ret = rstc->rcdev->ops->reset(rstc->rcdev, rstc->id); in reset_control_reset() 479 rcdev_name(rstc->rcdev), rstc->id); in reset_control_assert() 484 return rstc->rcdev->ops->assert(rstc->rcdev, rstc->id); in reset_control_assert() 564 return rstc->rcdev->ops->deassert(rstc->rcdev, rstc->id); in reset_control_deassert() 613 return rstc->rcdev->ops->status(rstc->rcdev, rstc->id); in reset_control_status() 660 if (rstc != rc && rstc->id == rc->id) { in reset_control_acquire() 717 if (!rstc || WARN_ON(IS_ERR(rstc))) in reset_control_release() [all …]
|
A D | reset-meson-audio-arb.c | 15 struct reset_controller_dev rstc; member 64 container_of(rcdev, struct meson_audio_arb_data, rstc); in meson_audio_arb_update() 85 container_of(rcdev, struct meson_audio_arb_data, rstc); in meson_audio_arb_status() 167 arb->rstc.nr_resets = data->reset_num; in meson_audio_arb_probe() 168 arb->rstc.ops = &meson_audio_arb_rstc_ops; in meson_audio_arb_probe() 169 arb->rstc.of_node = dev->of_node; in meson_audio_arb_probe() 170 arb->rstc.owner = THIS_MODULE; in meson_audio_arb_probe() 185 ret = devm_reset_controller_register(dev, &arb->rstc); in meson_audio_arb_probe()
|
A D | reset-rzg2l-usbphy-ctrl.c | 33 struct reset_control *rstc; member 119 priv->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in rzg2l_usbphy_ctrl_probe() 120 if (IS_ERR(priv->rstc)) in rzg2l_usbphy_ctrl_probe() 121 return dev_err_probe(dev, PTR_ERR(priv->rstc), in rzg2l_usbphy_ctrl_probe() 124 reset_control_deassert(priv->rstc); in rzg2l_usbphy_ctrl_probe() 143 reset_control_assert(priv->rstc); in rzg2l_usbphy_ctrl_probe() 163 reset_control_assert(priv->rstc); in rzg2l_usbphy_ctrl_remove()
|
/linux/drivers/clk/hisilicon/ |
A D | reset.c | 56 reg = readl(rstc->membase + offset); in hisi_reset_assert() 77 reg = readl(rstc->membase + offset); in hisi_reset_deassert() 92 struct hisi_reset_controller *rstc; in hisi_reset_init() local 94 rstc = devm_kmalloc(&pdev->dev, sizeof(*rstc), GFP_KERNEL); in hisi_reset_init() 95 if (!rstc) in hisi_reset_init() 99 if (IS_ERR(rstc->membase)) in hisi_reset_init() 102 spin_lock_init(&rstc->lock); in hisi_reset_init() 103 rstc->rcdev.owner = THIS_MODULE; in hisi_reset_init() 104 rstc->rcdev.ops = &hisi_reset_ops; in hisi_reset_init() 106 rstc->rcdev.of_reset_n_cells = 2; in hisi_reset_init() [all …]
|
A D | clk-hi3519.c | 31 struct hisi_reset_controller *rstc; member 151 crg->rstc = hisi_reset_init(pdev); in hi3519_clk_probe() 152 if (!crg->rstc) in hi3519_clk_probe() 157 hisi_reset_exit(crg->rstc); in hi3519_clk_probe() 169 hisi_reset_exit(crg->rstc); in hi3519_clk_remove()
|
/linux/drivers/reset/tegra/ |
A D | reset-bpmp.c | 13 return container_of(rstc, struct tegra_bpmp, rstc); in to_tegra_bpmp() 16 static int tegra_bpmp_reset_common(struct reset_controller_dev *rstc, in tegra_bpmp_reset_common() argument 20 struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc); in tegra_bpmp_reset_common() 39 return tegra_bpmp_reset_common(rstc, CMD_RESET_MODULE, id); in tegra_bpmp_reset_module() 45 return tegra_bpmp_reset_common(rstc, CMD_RESET_ASSERT, id); in tegra_bpmp_reset_assert() 51 return tegra_bpmp_reset_common(rstc, CMD_RESET_DEASSERT, id); in tegra_bpmp_reset_deassert() 62 bpmp->rstc.ops = &tegra_bpmp_reset_ops; in tegra_bpmp_init_resets() 63 bpmp->rstc.owner = THIS_MODULE; in tegra_bpmp_init_resets() 64 bpmp->rstc.of_node = bpmp->dev->of_node; in tegra_bpmp_init_resets() 65 bpmp->rstc.nr_resets = bpmp->soc->num_resets; in tegra_bpmp_init_resets() [all …]
|
/linux/drivers/clk/meson/ |
A D | meson-aoclk.c | 25 struct meson_aoclk_reset_controller *rstc = in meson_aoclk_do_reset() local 28 return regmap_write(rstc->regmap, rstc->data->reset_reg, in meson_aoclk_do_reset() 29 BIT(rstc->data->reset[id])); in meson_aoclk_do_reset() 38 struct meson_aoclk_reset_controller *rstc; in meson_aoclkc_probe() local 48 rstc = devm_kzalloc(dev, sizeof(*rstc), GFP_KERNEL); in meson_aoclkc_probe() 49 if (!rstc) in meson_aoclkc_probe() 59 rstc->data = data; in meson_aoclkc_probe() 60 rstc->regmap = regmap; in meson_aoclkc_probe() 61 rstc->reset.ops = &meson_aoclk_reset_ops; in meson_aoclkc_probe() 62 rstc->reset.nr_resets = data->num_reset; in meson_aoclkc_probe() [all …]
|
/linux/arch/arm/mach-meson/ |
A D | platsmp.c | 156 struct reset_control *rstc; in meson8_smp_boot_secondary() local 160 if (IS_ERR(rstc)) { in meson8_smp_boot_secondary() 162 return PTR_ERR(rstc); in meson8_smp_boot_secondary() 168 ret = reset_control_assert(rstc); in meson8_smp_boot_secondary() 193 ret = reset_control_deassert(rstc); in meson8_smp_boot_secondary() 204 reset_control_put(rstc); in meson8_smp_boot_secondary() 212 struct reset_control *rstc; in meson8b_smp_boot_secondary() local 217 if (IS_ERR(rstc)) { in meson8b_smp_boot_secondary() 219 return PTR_ERR(rstc); in meson8b_smp_boot_secondary() 235 ret = reset_control_assert(rstc); in meson8b_smp_boot_secondary() [all …]
|
/linux/include/linux/ |
A D | reset.h | 25 struct reset_control *rstc; member 30 int reset_control_reset(struct reset_control *rstc); 31 int reset_control_rearm(struct reset_control *rstc); 32 int reset_control_assert(struct reset_control *rstc); 33 int reset_control_deassert(struct reset_control *rstc); 34 int reset_control_status(struct reset_control *rstc); 35 int reset_control_acquire(struct reset_control *rstc); 36 void reset_control_release(struct reset_control *rstc); 50 void reset_control_put(struct reset_control *rstc); 74 static inline int reset_control_reset(struct reset_control *rstc) in reset_control_reset() argument [all …]
|
/linux/drivers/soc/amlogic/ |
A D | meson-gx-pwrc-vpu.c | 37 struct reset_control *rstc; member 174 ret = reset_control_assert(pd->rstc); in meson_gx_pwrc_vpu_power_on() 181 ret = reset_control_deassert(pd->rstc); in meson_gx_pwrc_vpu_power_on() 228 ret = reset_control_assert(pd->rstc); in meson_g12a_pwrc_vpu_power_on() 235 ret = reset_control_deassert(pd->rstc); in meson_g12a_pwrc_vpu_power_on() 276 struct reset_control *rstc; in meson_gx_pwrc_vpu_probe() local 307 rstc = devm_reset_control_array_get_exclusive(&pdev->dev); in meson_gx_pwrc_vpu_probe() 308 if (IS_ERR(rstc)) { in meson_gx_pwrc_vpu_probe() 309 if (PTR_ERR(rstc) != -EPROBE_DEFER) in meson_gx_pwrc_vpu_probe() 311 return PTR_ERR(rstc); in meson_gx_pwrc_vpu_probe() [all …]
|
/linux/drivers/mmc/host/ |
A D | sdhci-st.c | 21 struct reset_control *rstc; member 352 struct reset_control *rstc; in sdhci_st_probe() local 366 if (IS_ERR(rstc)) in sdhci_st_probe() 367 return PTR_ERR(rstc); in sdhci_st_probe() 368 reset_control_deassert(rstc); in sdhci_st_probe() 379 pdata->rstc = rstc; in sdhci_st_probe() 432 reset_control_assert(rstc); in sdhci_st_probe() 442 struct reset_control *rstc = pdata->rstc; in sdhci_st_remove() local 449 reset_control_assert(rstc); in sdhci_st_remove() 469 reset_control_assert(pdata->rstc); in sdhci_st_suspend() [all …]
|
/linux/drivers/pinctrl/sunxi/ |
A 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() 106 ret = PTR_ERR(rstc); in sun8i_a23_r_pinctrl_probe() 113 ret = reset_control_deassert(rstc); in sun8i_a23_r_pinctrl_probe() 121 reset_control_assert(rstc); in sun8i_a23_r_pinctrl_probe()
|
A 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/arch/arm/mach-rockchip/ |
A D | platsmp.c | 67 struct reset_control *rstc = rockchip_get_core_reset(pd); in pmu_set_power_domain() local 70 if (IS_ERR(rstc) && read_cpuid_part() != ARM_CPU_PART_CORTEX_A9) { in pmu_set_power_domain() 73 return PTR_ERR(rstc); in pmu_set_power_domain() 81 if (!IS_ERR(rstc) && !on) in pmu_set_power_domain() 82 reset_control_assert(rstc); in pmu_set_power_domain() 103 if (!IS_ERR(rstc)) { in pmu_set_power_domain() 105 reset_control_deassert(rstc); in pmu_set_power_domain() 106 reset_control_put(rstc); in pmu_set_power_domain()
|
/linux/drivers/pwm/ |
A D | pwm-hibvt.c | 39 struct reset_control *rstc; member 219 pwm_chip->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in hibvt_pwm_probe() 220 if (IS_ERR(pwm_chip->rstc)) { in hibvt_pwm_probe() 222 return PTR_ERR(pwm_chip->rstc); in hibvt_pwm_probe() 225 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_probe() 227 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_probe() 253 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_remove() 255 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_remove()
|
/linux/drivers/phy/st/ |
A D | phy-stih407-usb.c | 36 struct reset_control *rstc; member 44 reset_control_deassert(phy_dev->rstc); in stih407_usb2_pico_ctrl() 104 phy_dev->rstc = devm_reset_control_get_shared(dev, "global"); in stih407_usb2_picophy_probe() 105 if (IS_ERR(phy_dev->rstc)) { in stih407_usb2_picophy_probe() 107 return PTR_ERR(phy_dev->rstc); in stih407_usb2_picophy_probe()
|
/linux/drivers/clocksource/ |
A D | dw_apb_timer_of.c | 22 struct reset_control *rstc; in timer_get_base_and_rate() local 34 rstc = of_reset_control_get(np, NULL); in timer_get_base_and_rate() 35 if (!IS_ERR(rstc)) { in timer_get_base_and_rate() 36 reset_control_assert(rstc); in timer_get_base_and_rate() 37 reset_control_deassert(rstc); in timer_get_base_and_rate()
|
A 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/drivers/i2c/busses/ |
A D | i2c-sun6i-p2wi.c | 90 struct reset_control *rstc; member 257 p2wi->rstc = devm_reset_control_get_exclusive(dev, NULL); in p2wi_probe() 258 if (IS_ERR(p2wi->rstc)) { in p2wi_probe() 259 ret = PTR_ERR(p2wi->rstc); in p2wi_probe() 264 ret = reset_control_deassert(p2wi->rstc); in p2wi_probe() 308 reset_control_assert(p2wi->rstc); in p2wi_probe() 320 reset_control_assert(p2wi->rstc); in p2wi_remove()
|
/linux/drivers/spi/ |
A D | spi-dw-mmio.c | 33 struct reset_control *rstc; member 286 dwsmmio->rstc = devm_reset_control_get_optional_exclusive(&pdev->dev, "spi"); in dw_spi_mmio_probe() 287 if (IS_ERR(dwsmmio->rstc)) { in dw_spi_mmio_probe() 288 ret = PTR_ERR(dwsmmio->rstc); in dw_spi_mmio_probe() 291 reset_control_deassert(dwsmmio->rstc); in dw_spi_mmio_probe() 326 reset_control_assert(dwsmmio->rstc); in dw_spi_mmio_probe() 339 reset_control_assert(dwsmmio->rstc); in dw_spi_mmio_remove()
|
/linux/drivers/clk/sunxi-ng/ |
A D | ccu-sun9i-a80-de.c | 207 struct reset_control *rstc; in sun9i_a80_de_clk_probe() local 223 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sun9i_a80_de_clk_probe() 224 if (IS_ERR(rstc)) { in sun9i_a80_de_clk_probe() 225 ret = PTR_ERR(rstc); in sun9i_a80_de_clk_probe() 240 ret = reset_control_deassert(rstc); in sun9i_a80_de_clk_probe() 254 reset_control_assert(rstc); in sun9i_a80_de_clk_probe()
|
A D | ccu-sun8i-de2.c | 284 struct reset_control *rstc; in sunxi_de2_clk_probe() local 313 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sunxi_de2_clk_probe() 314 if (IS_ERR(rstc)) { in sunxi_de2_clk_probe() 315 ret = PTR_ERR(rstc); in sunxi_de2_clk_probe() 336 ret = reset_control_deassert(rstc); in sunxi_de2_clk_probe() 350 reset_control_assert(rstc); in sunxi_de2_clk_probe()
|
/linux/Documentation/devicetree/bindings/reset/ |
A D | nuvoton,npcm-reset.txt | 15 rstc: rstc@f0801000 { 28 resets = <&rstc NPCM7XX_RESET_IPSRST2 NPCM7XX_RESET_PSPI1>;
|
/linux/drivers/media/rc/ |
A D | st_rc.c | 29 struct reset_control *rstc; member 168 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() 361 reset_control_assert(rc_dev->rstc); in st_rc_suspend()
|
/linux/drivers/staging/media/sunxi/cedrus/ |
A D | cedrus_hw.c | 150 reset_control_assert(dev->rstc); in cedrus_hw_suspend() 185 ret = reset_control_reset(dev->rstc); in cedrus_hw_resume() 265 dev->rstc = devm_reset_control_get(dev->dev, NULL); in cedrus_hw_probe() 266 if (IS_ERR(dev->rstc)) { in cedrus_hw_probe() 269 ret = PTR_ERR(dev->rstc); in cedrus_hw_probe()
|