/* if the bus number is not 0 or 1 we absolutely need to use * the platform functions -- there's nothing in Darwin that * would allow seeing a system behind what the FCRs are then, * and I don't want to go parsing a bunch of platform functions
* by hand to try finding a system... */ if (i2sdev->bus_number != 0 && i2sdev->bus_number != 1 &&
(!i2sdev->enable ||
!i2sdev->cell_enable || !i2sdev->clock_enable ||
!i2sdev->cell_disable || !i2sdev->clock_disable)) {
pmf_put_function(i2sdev->enable);
pmf_put_function(i2sdev->cell_enable);
pmf_put_function(i2sdev->clock_enable);
pmf_put_function(i2sdev->cell_disable);
pmf_put_function(i2sdev->clock_disable); return -ENODEV;
}
list_add(&i2sdev->item, &c->list);
return 0;
}
void i2sbus_control_remove_dev(struct i2sbus_control *c, struct i2sbus_dev *i2sdev)
{ /* this is serialised externally */
list_del(&i2sdev->item); if (list_empty(&c->list))
i2sbus_control_destroy(c);
}
if (i2sdev->enable) return pmf_call_one(i2sdev->enable, &args);
if (macio == NULL || macio->base == NULL) return -ENODEV;
switch (i2sdev->bus_number) { case 0: /* these need to be locked or done through
* newly created feature calls! */
MACIO_BIS(KEYLARGO_FCR1, KL1_I2S0_ENABLE); break; case 1:
MACIO_BIS(KEYLARGO_FCR1, KL1_I2S1_ENABLE); break; default: return -ENODEV;
} return 0;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.