Exemple #1
0
static void
pinctrl_new_pass(device_t bus)
{
	struct pinctrl_softc *sc;

	sc = device_get_softc(bus);

	bus_generic_new_pass(bus);

	if (sc->done_pinmux || bus_current_pass < BUS_PASS_PINMUX)
		return;
	sc->done_pinmux++;

	fdt_pinctrl_configure_tree(bus);
}
Exemple #2
0
static void
imx6_anatop_new_pass(device_t dev)
{
	struct imx6_anatop_softc *sc;
	const int cpu_init_pass = BUS_PASS_CPU + BUS_PASS_ORDER_MIDDLE;

	/*
	 * We attach during BUS_PASS_BUS (because some day we will be a
	 * simplebus that has regulator devices as children), but some of our
	 * init work cannot be done until BUS_PASS_CPU (we rely on other devices
	 * that attach on the CPU pass).
	 */
	sc = device_get_softc(dev);
	if (!sc->cpu_init_done && bus_current_pass >= cpu_init_pass) {
		sc->cpu_init_done = true;
		cpufreq_initialize(sc);
		initialize_tempmon(sc);
		if (bootverbose) {
			device_printf(sc->dev, "CPU %uMHz @ %umV\n", 
			    sc->cpu_curmhz, sc->cpu_curmv);
		}
	}
	bus_generic_new_pass(dev);
}