Searched refs:pwrseq (Results 1 - 25 of 25) sorted by relevance

/linux-4.4.14/drivers/mmc/core/
H A Dpwrseq_simple.c20 #include "pwrseq.h"
23 struct mmc_pwrseq pwrseq; member in struct:mmc_pwrseq_simple
29 static void mmc_pwrseq_simple_set_gpios_value(struct mmc_pwrseq_simple *pwrseq, mmc_pwrseq_simple_set_gpios_value() argument
33 struct gpio_descs *reset_gpios = pwrseq->reset_gpios; mmc_pwrseq_simple_set_gpios_value()
45 struct mmc_pwrseq_simple *pwrseq = container_of(host->pwrseq, mmc_pwrseq_simple_pre_power_on() local
46 struct mmc_pwrseq_simple, pwrseq); mmc_pwrseq_simple_pre_power_on()
48 if (!IS_ERR(pwrseq->ext_clk) && !pwrseq->clk_enabled) { mmc_pwrseq_simple_pre_power_on()
49 clk_prepare_enable(pwrseq->ext_clk); mmc_pwrseq_simple_pre_power_on()
50 pwrseq->clk_enabled = true; mmc_pwrseq_simple_pre_power_on()
53 mmc_pwrseq_simple_set_gpios_value(pwrseq, 1); mmc_pwrseq_simple_pre_power_on()
58 struct mmc_pwrseq_simple *pwrseq = container_of(host->pwrseq, mmc_pwrseq_simple_post_power_on() local
59 struct mmc_pwrseq_simple, pwrseq); mmc_pwrseq_simple_post_power_on()
61 mmc_pwrseq_simple_set_gpios_value(pwrseq, 0); mmc_pwrseq_simple_post_power_on()
66 struct mmc_pwrseq_simple *pwrseq = container_of(host->pwrseq, mmc_pwrseq_simple_power_off() local
67 struct mmc_pwrseq_simple, pwrseq); mmc_pwrseq_simple_power_off()
69 mmc_pwrseq_simple_set_gpios_value(pwrseq, 1); mmc_pwrseq_simple_power_off()
71 if (!IS_ERR(pwrseq->ext_clk) && pwrseq->clk_enabled) { mmc_pwrseq_simple_power_off()
72 clk_disable_unprepare(pwrseq->ext_clk); mmc_pwrseq_simple_power_off()
73 pwrseq->clk_enabled = false; mmc_pwrseq_simple_power_off()
79 struct mmc_pwrseq_simple *pwrseq = container_of(host->pwrseq, mmc_pwrseq_simple_free() local
80 struct mmc_pwrseq_simple, pwrseq); mmc_pwrseq_simple_free()
82 gpiod_put_array(pwrseq->reset_gpios); mmc_pwrseq_simple_free()
84 if (!IS_ERR(pwrseq->ext_clk)) mmc_pwrseq_simple_free()
85 clk_put(pwrseq->ext_clk); mmc_pwrseq_simple_free()
87 kfree(pwrseq); mmc_pwrseq_simple_free()
100 struct mmc_pwrseq_simple *pwrseq; mmc_pwrseq_simple_alloc() local
103 pwrseq = kzalloc(sizeof(*pwrseq), GFP_KERNEL); mmc_pwrseq_simple_alloc()
104 if (!pwrseq) mmc_pwrseq_simple_alloc()
107 pwrseq->ext_clk = clk_get(dev, "ext_clock"); mmc_pwrseq_simple_alloc()
108 if (IS_ERR(pwrseq->ext_clk) && mmc_pwrseq_simple_alloc()
109 PTR_ERR(pwrseq->ext_clk) != -ENOENT) { mmc_pwrseq_simple_alloc()
110 ret = PTR_ERR(pwrseq->ext_clk); mmc_pwrseq_simple_alloc()
114 pwrseq->reset_gpios = gpiod_get_array(dev, "reset", GPIOD_OUT_HIGH); mmc_pwrseq_simple_alloc()
115 if (IS_ERR(pwrseq->reset_gpios)) { mmc_pwrseq_simple_alloc()
116 ret = PTR_ERR(pwrseq->reset_gpios); mmc_pwrseq_simple_alloc()
120 pwrseq->pwrseq.ops = &mmc_pwrseq_simple_ops; mmc_pwrseq_simple_alloc()
122 return &pwrseq->pwrseq; mmc_pwrseq_simple_alloc()
124 if (!IS_ERR(pwrseq->ext_clk)) mmc_pwrseq_simple_alloc()
125 clk_put(pwrseq->ext_clk); mmc_pwrseq_simple_alloc()
127 kfree(pwrseq); mmc_pwrseq_simple_alloc()
H A Dpwrseq_emmc.c20 #include "pwrseq.h"
23 struct mmc_pwrseq pwrseq; member in struct:mmc_pwrseq_emmc
28 static void __mmc_pwrseq_emmc_reset(struct mmc_pwrseq_emmc *pwrseq) __mmc_pwrseq_emmc_reset() argument
30 gpiod_set_value(pwrseq->reset_gpio, 1); __mmc_pwrseq_emmc_reset()
32 gpiod_set_value(pwrseq->reset_gpio, 0); __mmc_pwrseq_emmc_reset()
38 struct mmc_pwrseq_emmc *pwrseq = container_of(host->pwrseq, mmc_pwrseq_emmc_reset() local
39 struct mmc_pwrseq_emmc, pwrseq); mmc_pwrseq_emmc_reset()
41 __mmc_pwrseq_emmc_reset(pwrseq); mmc_pwrseq_emmc_reset()
46 struct mmc_pwrseq_emmc *pwrseq = container_of(host->pwrseq, mmc_pwrseq_emmc_free() local
47 struct mmc_pwrseq_emmc, pwrseq); mmc_pwrseq_emmc_free()
49 unregister_restart_handler(&pwrseq->reset_nb); mmc_pwrseq_emmc_free()
50 gpiod_put(pwrseq->reset_gpio); mmc_pwrseq_emmc_free()
51 kfree(pwrseq); mmc_pwrseq_emmc_free()
62 struct mmc_pwrseq_emmc *pwrseq = container_of(this, mmc_pwrseq_emmc_reset_nb() local
65 __mmc_pwrseq_emmc_reset(pwrseq); mmc_pwrseq_emmc_reset_nb()
72 struct mmc_pwrseq_emmc *pwrseq; mmc_pwrseq_emmc_alloc() local
75 pwrseq = kzalloc(sizeof(struct mmc_pwrseq_emmc), GFP_KERNEL); mmc_pwrseq_emmc_alloc()
76 if (!pwrseq) mmc_pwrseq_emmc_alloc()
79 pwrseq->reset_gpio = gpiod_get(dev, "reset", GPIOD_OUT_LOW); mmc_pwrseq_emmc_alloc()
80 if (IS_ERR(pwrseq->reset_gpio)) { mmc_pwrseq_emmc_alloc()
81 ret = PTR_ERR(pwrseq->reset_gpio); mmc_pwrseq_emmc_alloc()
90 pwrseq->reset_nb.notifier_call = mmc_pwrseq_emmc_reset_nb; mmc_pwrseq_emmc_alloc()
91 pwrseq->reset_nb.priority = 255; mmc_pwrseq_emmc_alloc()
92 register_restart_handler(&pwrseq->reset_nb); mmc_pwrseq_emmc_alloc()
94 pwrseq->pwrseq.ops = &mmc_pwrseq_emmc_ops; mmc_pwrseq_emmc_alloc()
96 return &pwrseq->pwrseq; mmc_pwrseq_emmc_alloc()
98 kfree(pwrseq); mmc_pwrseq_emmc_alloc()
H A Dpwrseq.c18 #include "pwrseq.h"
27 .compatible = "mmc-pwrseq-simple",
30 .compatible = "mmc-pwrseq-emmc",
55 struct mmc_pwrseq *pwrseq; mmc_pwrseq_alloc() local
58 np = of_parse_phandle(host->parent->of_node, "mmc-pwrseq", 0); mmc_pwrseq_alloc()
74 pwrseq = match->alloc(host, &pdev->dev); mmc_pwrseq_alloc()
75 if (IS_ERR(pwrseq)) { mmc_pwrseq_alloc()
76 ret = PTR_ERR(pwrseq); mmc_pwrseq_alloc()
80 host->pwrseq = pwrseq; mmc_pwrseq_alloc()
81 dev_info(host->parent, "allocated mmc-pwrseq\n"); mmc_pwrseq_alloc()
90 struct mmc_pwrseq *pwrseq = host->pwrseq; mmc_pwrseq_pre_power_on() local
92 if (pwrseq && pwrseq->ops && pwrseq->ops->pre_power_on) mmc_pwrseq_pre_power_on()
93 pwrseq->ops->pre_power_on(host); mmc_pwrseq_pre_power_on()
98 struct mmc_pwrseq *pwrseq = host->pwrseq; mmc_pwrseq_post_power_on() local
100 if (pwrseq && pwrseq->ops && pwrseq->ops->post_power_on) mmc_pwrseq_post_power_on()
101 pwrseq->ops->post_power_on(host); mmc_pwrseq_post_power_on()
106 struct mmc_pwrseq *pwrseq = host->pwrseq; mmc_pwrseq_power_off() local
108 if (pwrseq && pwrseq->ops && pwrseq->ops->power_off) mmc_pwrseq_power_off()
109 pwrseq->ops->power_off(host); mmc_pwrseq_power_off()
114 struct mmc_pwrseq *pwrseq = host->pwrseq; mmc_pwrseq_free() local
116 if (pwrseq && pwrseq->ops && pwrseq->ops->free) mmc_pwrseq_free()
117 pwrseq->ops->free(host); mmc_pwrseq_free()
119 host->pwrseq = NULL; mmc_pwrseq_free()
H A DMakefile11 mmc_core-$(CONFIG_OF) += pwrseq.o pwrseq_simple.o pwrseq_emmc.o
H A Dhost.c33 #include "pwrseq.h"
H A Dcore.c43 #include "pwrseq.h"
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/
H A DMakefile7 pwrseq.o \
H A Dpwrseq.c26 #include "pwrseq.h"
H A Dhw.c41 #include "pwrseq.h"
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/
H A DMakefile9 pwrseq.o \
H A Dpwrseq.c27 #include "pwrseq.h"
H A Dhw.c44 #include "pwrseq.h"
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8723be/
H A DMakefile7 pwrseq.o \
H A Dpwrseq.c27 #include "pwrseq.h"
H A Dhw.c44 #include "pwrseq.h"
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/
H A DMakefile7 pwrseq.o \
H A Dpwrseq.c27 #include "pwrseq.h"
H A Dhw.c41 #include "pwrseq.h"
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/
H A DMakefile7 pwrseq.o \
H A Dpwrseq.c27 #include "pwrseq.h"
H A Dhw.c41 #include "pwrseq.h"
/linux-4.4.14/drivers/staging/rtl8188eu/
H A DMakefile25 hal/pwrseq.o \
/linux-4.4.14/drivers/staging/rtl8188eu/hal/
H A Dpwrseq.c21 #include "pwrseq.h"
/linux-4.4.14/drivers/staging/rtl8188eu/include/
H A Drtl8188e_hal.h32 #include "pwrseq.h"
/linux-4.4.14/include/linux/mmc/
H A Dhost.h207 struct mmc_pwrseq *pwrseq; member in struct:mmc_host

Completed in 566 milliseconds