Hi Paul, Quoting Paul Burton (2015-04-24 06:17:27) > +void jz4740_clock_set_wait_mode(enum jz4740_wait_mode mode) > +{ > + uint32_t lcr = readl(cgu->base + CGU_REG_LCR); > + > + switch (mode) { > + case JZ4740_WAIT_MODE_IDLE: > + lcr &= ~LCR_SLEEP; > + break; > + > + case JZ4740_WAIT_MODE_SLEEP: > + lcr |= LCR_SLEEP; > + break; > + } > + > + writel(lcr, cgu->base + CGU_REG_LCR); > +} What do these modes do? How are they used? Do you think the above function is a good candidate for .prepare and .unprepare callback? Regards, Mike