/* Ops for the plain SSB bus without a host-device (no PCI or PCMCIA). */ conststruct ssb_bus_ops ssb_host_soc_ops = {
.read8 = ssb_host_soc_read8,
.read16 = ssb_host_soc_read16,
.read32 = ssb_host_soc_read32,
.write8 = ssb_host_soc_write8,
.write16 = ssb_host_soc_write16,
.write32 = ssb_host_soc_write32, #ifdef CONFIG_SSB_BLOCKIO
.block_read = ssb_host_soc_block_read,
.block_write = ssb_host_soc_block_write, #endif
};
int ssb_host_soc_get_invariants(struct ssb_bus *bus, struct ssb_init_invariants *iv)
{ char buf[20]; int len, err;
/* Fill boardinfo structure */
memset(&iv->boardinfo, 0, sizeof(struct ssb_boardinfo));
len = bcm47xx_nvram_getenv("boardvendor", buf, sizeof(buf)); if (len > 0) {
err = kstrtou16(strim(buf), 0, &iv->boardinfo.vendor); if (err)
pr_warn("Couldn't parse nvram board vendor entry with value \"%s\"\n",
buf);
} if (!iv->boardinfo.vendor)
iv->boardinfo.vendor = SSB_BOARDVENDOR_BCM;
len = bcm47xx_nvram_getenv("boardtype", buf, sizeof(buf)); if (len > 0) {
err = kstrtou16(strim(buf), 0, &iv->boardinfo.type); if (err)
pr_warn("Couldn't parse nvram board type entry with value \"%s\"\n",
buf);
}
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.