| /kernel/linux/linux-5.10/drivers/reset/ |
| D | core.c | 57 * @rstc: array of reset controls 62 struct reset_control *rstc[]; member 194 rstc_to_array(struct reset_control *rstc) { in rstc_to_array() argument 195 return container_of(rstc, struct reset_control_array, base); in rstc_to_array() 203 ret = reset_control_reset(resets->rstc[i]); in reset_control_array_reset() 216 ret = reset_control_assert(resets->rstc[i]); in reset_control_array_assert() 225 reset_control_deassert(resets->rstc[i]); in reset_control_array_assert() 234 ret = reset_control_deassert(resets->rstc[i]); in reset_control_array_deassert() 243 reset_control_assert(resets->rstc[i]); in reset_control_array_deassert() 253 err = reset_control_acquire(resets->rstc[i]); in reset_control_array_acquire() [all …]
|
| 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()
|
| /kernel/linux/linux-4.19/drivers/reset/ |
| D | core.c | 58 * @rstc: array of reset controls 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 [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() 133 arb->rstc.owner = THIS_MODULE; in meson_audio_arb_probe() 148 ret = devm_reset_controller_register(dev, &arb->rstc); in meson_audio_arb_probe()
|
| /kernel/linux/linux-5.10/drivers/clk/hisilicon/ |
| D | reset.c | 46 struct hisi_reset_controller *rstc = to_hisi_reset_controller(rcdev); in hisi_reset_assert() local 54 spin_lock_irqsave(&rstc->lock, flags); in hisi_reset_assert() 56 reg = readl(rstc->membase + offset); in hisi_reset_assert() 57 writel(reg | BIT(bit), rstc->membase + offset); in hisi_reset_assert() 59 spin_unlock_irqrestore(&rstc->lock, flags); in hisi_reset_assert() 67 struct hisi_reset_controller *rstc = to_hisi_reset_controller(rcdev); in hisi_reset_deassert() local 75 spin_lock_irqsave(&rstc->lock, flags); in hisi_reset_deassert() 77 reg = readl(rstc->membase + offset); in hisi_reset_deassert() 78 writel(reg & ~BIT(bit), rstc->membase + offset); in hisi_reset_deassert() 80 spin_unlock_irqrestore(&rstc->lock, flags); in hisi_reset_deassert() [all …]
|
| /kernel/linux/linux-4.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 …]
|
| /kernel/linux/linux-5.10/drivers/reset/tegra/ |
| D | reset-bpmp.c | 11 static struct tegra_bpmp *to_tegra_bpmp(struct reset_controller_dev *rstc) in to_tegra_bpmp() argument 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() 36 static int tegra_bpmp_reset_module(struct reset_controller_dev *rstc, in tegra_bpmp_reset_module() argument 39 return tegra_bpmp_reset_common(rstc, CMD_RESET_MODULE, id); in tegra_bpmp_reset_module() 42 static int tegra_bpmp_reset_assert(struct reset_controller_dev *rstc, in tegra_bpmp_reset_assert() argument 45 return tegra_bpmp_reset_common(rstc, CMD_RESET_ASSERT, id); in tegra_bpmp_reset_assert() 48 static int tegra_bpmp_reset_deassert(struct reset_controller_dev *rstc, in tegra_bpmp_reset_deassert() argument 51 return tegra_bpmp_reset_common(rstc, CMD_RESET_DEASSERT, id); in tegra_bpmp_reset_deassert() [all …]
|
| /kernel/linux/linux-4.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 …]
|
| /kernel/linux/linux-4.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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.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>;
|
| /kernel/linux/linux-5.10/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>;
|
| /kernel/linux/linux-5.10/drivers/mmc/host/ |
| D | sdhci-st.c | 21 struct reset_control *rstc; member 352 struct reset_control *rstc; in sdhci_st_probe() local 365 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sdhci_st_probe() 366 if (IS_ERR(rstc)) in sdhci_st_probe() 367 rstc = NULL; in sdhci_st_probe() 369 reset_control_deassert(rstc); in sdhci_st_probe() 380 pdata->rstc = rstc; in sdhci_st_probe() 435 if (rstc) in sdhci_st_probe() 436 reset_control_assert(rstc); in sdhci_st_probe() 446 struct reset_control *rstc = pdata->rstc; in sdhci_st_remove() local [all …]
|
| /kernel/linux/linux-4.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()
|
| /kernel/linux/linux-4.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 …]
|
| /kernel/linux/linux-4.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 …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-meson/ |
| D | platsmp.c | 156 struct reset_control *rstc; in meson8_smp_boot_secondary() local 159 rstc = meson_smp_get_core_reset(cpu); in meson8_smp_boot_secondary() 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 216 rstc = meson_smp_get_core_reset(cpu); in meson8b_smp_boot_secondary() 217 if (IS_ERR(rstc)) { in meson8b_smp_boot_secondary() [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/amlogic/ |
| D | meson-gx-pwrc-vpu.c | 36 struct reset_control *rstc; member 173 ret = reset_control_assert(pd->rstc); in meson_gx_pwrc_vpu_power_on() 180 ret = reset_control_deassert(pd->rstc); in meson_gx_pwrc_vpu_power_on() 227 ret = reset_control_assert(pd->rstc); in meson_g12a_pwrc_vpu_power_on() 234 ret = reset_control_deassert(pd->rstc); in meson_g12a_pwrc_vpu_power_on() 275 struct reset_control *rstc; in meson_gx_pwrc_vpu_probe() local 306 rstc = devm_reset_control_array_get(&pdev->dev, false, false); in meson_gx_pwrc_vpu_probe() 307 if (IS_ERR(rstc)) { in meson_gx_pwrc_vpu_probe() 308 if (PTR_ERR(rstc) != -EPROBE_DEFER) in meson_gx_pwrc_vpu_probe() 310 return PTR_ERR(rstc); in meson_gx_pwrc_vpu_probe() [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | reset.h | 15 int reset_control_reset(struct reset_control *rstc); 16 int reset_control_assert(struct reset_control *rstc); 17 int reset_control_deassert(struct reset_control *rstc); 18 int reset_control_status(struct reset_control *rstc); 19 int reset_control_acquire(struct reset_control *rstc); 20 void reset_control_release(struct reset_control *rstc); 28 void reset_control_put(struct reset_control *rstc); 44 static inline int reset_control_reset(struct reset_control *rstc) in reset_control_reset() argument 49 static inline int reset_control_assert(struct reset_control *rstc) in reset_control_assert() argument 54 static inline int reset_control_deassert(struct reset_control *rstc) in reset_control_deassert() argument [all …]
|
| /kernel/linux/linux-5.10/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() 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()
|
| 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()
|
| /kernel/linux/linux-4.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()
|
| /kernel/linux/linux-4.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()
|
| /kernel/linux/linux-5.10/drivers/pwm/ |
| D | pwm-hibvt.c | 39 struct reset_control *rstc; member 225 pwm_chip->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in hibvt_pwm_probe() 226 if (IS_ERR(pwm_chip->rstc)) { in hibvt_pwm_probe() 228 return PTR_ERR(pwm_chip->rstc); in hibvt_pwm_probe() 231 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_probe() 233 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_probe() 257 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_remove() 259 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_remove()
|