Lines Matching refs:pwrseq
23 struct mmc_pwrseq pwrseq; member
28 static void __mmc_pwrseq_emmc_reset(struct mmc_pwrseq_emmc *pwrseq) in __mmc_pwrseq_emmc_reset() argument
30 gpiod_set_value(pwrseq->reset_gpio, 1); in __mmc_pwrseq_emmc_reset()
32 gpiod_set_value(pwrseq->reset_gpio, 0); in __mmc_pwrseq_emmc_reset()
38 struct mmc_pwrseq_emmc *pwrseq = container_of(host->pwrseq, in mmc_pwrseq_emmc_reset() local
39 struct mmc_pwrseq_emmc, pwrseq); in mmc_pwrseq_emmc_reset()
41 __mmc_pwrseq_emmc_reset(pwrseq); in mmc_pwrseq_emmc_reset()
46 struct mmc_pwrseq_emmc *pwrseq = container_of(host->pwrseq, in mmc_pwrseq_emmc_free() local
47 struct mmc_pwrseq_emmc, pwrseq); in mmc_pwrseq_emmc_free()
49 unregister_restart_handler(&pwrseq->reset_nb); in mmc_pwrseq_emmc_free()
50 gpiod_put(pwrseq->reset_gpio); in mmc_pwrseq_emmc_free()
51 kfree(pwrseq); in mmc_pwrseq_emmc_free()
62 struct mmc_pwrseq_emmc *pwrseq = container_of(this, in mmc_pwrseq_emmc_reset_nb() local
65 __mmc_pwrseq_emmc_reset(pwrseq); in mmc_pwrseq_emmc_reset_nb()
72 struct mmc_pwrseq_emmc *pwrseq; in mmc_pwrseq_emmc_alloc() local
75 pwrseq = kzalloc(sizeof(struct mmc_pwrseq_emmc), GFP_KERNEL); in mmc_pwrseq_emmc_alloc()
76 if (!pwrseq) in mmc_pwrseq_emmc_alloc()
79 pwrseq->reset_gpio = gpiod_get_index(dev, "reset", 0, GPIOD_OUT_LOW); in mmc_pwrseq_emmc_alloc()
80 if (IS_ERR(pwrseq->reset_gpio)) { in mmc_pwrseq_emmc_alloc()
81 ret = PTR_ERR(pwrseq->reset_gpio); in mmc_pwrseq_emmc_alloc()
90 pwrseq->reset_nb.notifier_call = mmc_pwrseq_emmc_reset_nb; in mmc_pwrseq_emmc_alloc()
91 pwrseq->reset_nb.priority = 129; in mmc_pwrseq_emmc_alloc()
92 register_restart_handler(&pwrseq->reset_nb); in mmc_pwrseq_emmc_alloc()
94 pwrseq->pwrseq.ops = &mmc_pwrseq_emmc_ops; in mmc_pwrseq_emmc_alloc()
96 return &pwrseq->pwrseq; in mmc_pwrseq_emmc_alloc()
98 kfree(pwrseq); in mmc_pwrseq_emmc_alloc()