|
@@ -25,6 +25,8 @@ struct mmc_pwrseq_simple {
|
|
|
struct gpio_descs *reset_gpios;
|
|
|
};
|
|
|
|
|
|
+#define to_pwrseq_simple(p) container_of(p, struct mmc_pwrseq_simple, pwrseq)
|
|
|
+
|
|
|
static void mmc_pwrseq_simple_set_gpios_value(struct mmc_pwrseq_simple *pwrseq,
|
|
|
int value)
|
|
|
{
|
|
@@ -44,8 +46,7 @@ static void mmc_pwrseq_simple_set_gpios_value(struct mmc_pwrseq_simple *pwrseq,
|
|
|
|
|
|
static void mmc_pwrseq_simple_pre_power_on(struct mmc_host *host)
|
|
|
{
|
|
|
- struct mmc_pwrseq_simple *pwrseq = container_of(host->pwrseq,
|
|
|
- struct mmc_pwrseq_simple, pwrseq);
|
|
|
+ struct mmc_pwrseq_simple *pwrseq = to_pwrseq_simple(host->pwrseq);
|
|
|
|
|
|
if (!IS_ERR(pwrseq->ext_clk) && !pwrseq->clk_enabled) {
|
|
|
clk_prepare_enable(pwrseq->ext_clk);
|
|
@@ -57,16 +58,14 @@ static void mmc_pwrseq_simple_pre_power_on(struct mmc_host *host)
|
|
|
|
|
|
static void mmc_pwrseq_simple_post_power_on(struct mmc_host *host)
|
|
|
{
|
|
|
- struct mmc_pwrseq_simple *pwrseq = container_of(host->pwrseq,
|
|
|
- struct mmc_pwrseq_simple, pwrseq);
|
|
|
+ struct mmc_pwrseq_simple *pwrseq = to_pwrseq_simple(host->pwrseq);
|
|
|
|
|
|
mmc_pwrseq_simple_set_gpios_value(pwrseq, 0);
|
|
|
}
|
|
|
|
|
|
static void mmc_pwrseq_simple_power_off(struct mmc_host *host)
|
|
|
{
|
|
|
- struct mmc_pwrseq_simple *pwrseq = container_of(host->pwrseq,
|
|
|
- struct mmc_pwrseq_simple, pwrseq);
|
|
|
+ struct mmc_pwrseq_simple *pwrseq = to_pwrseq_simple(host->pwrseq);
|
|
|
|
|
|
mmc_pwrseq_simple_set_gpios_value(pwrseq, 1);
|
|
|
|
|
@@ -78,8 +77,7 @@ static void mmc_pwrseq_simple_power_off(struct mmc_host *host)
|
|
|
|
|
|
static void mmc_pwrseq_simple_free(struct mmc_host *host)
|
|
|
{
|
|
|
- struct mmc_pwrseq_simple *pwrseq = container_of(host->pwrseq,
|
|
|
- struct mmc_pwrseq_simple, pwrseq);
|
|
|
+ struct mmc_pwrseq_simple *pwrseq = to_pwrseq_simple(host->pwrseq);
|
|
|
|
|
|
if (!IS_ERR(pwrseq->reset_gpios))
|
|
|
gpiod_put_array(pwrseq->reset_gpios);
|