Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/bcma/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  driver_chipcommon_b.c   Sprache: C

 
/*
 * Broadcom specific AMBA
 * ChipCommon B Unit driver
 *
 * Copyright 2014, Hauke Mehrtens <hauke@hauke-m.de>
 *
 * Licensed under the GNU/GPL. See COPYING for details.
 */


#include "bcma_private.h"
#include <linux/export.h>
#include <linux/bcma/bcma.h>

static bool bcma_wait_reg(struct bcma_bus *bus, void __iomem *addr, u32 mask,
     u32 value, int timeout)
{
 unsigned long deadline = jiffies + timeout;
 u32 val;

 do {
  val = readl(addr);
  if ((val & mask) == value)
   return true;
  cpu_relax();
  udelay(10);
 } while (!time_after_eq(jiffies, deadline));

 bcma_err(bus, "Timeout waiting for register %p\n", addr);

 return false;
}

void bcma_chipco_b_mii_write(struct bcma_drv_cc_b *ccb, u32 offset, u32 value)
{
 struct bcma_bus *bus = ccb->core->bus;
 void __iomem *mii = ccb->mii;

 writel(offset, mii + BCMA_CCB_MII_MNG_CTL);
 bcma_wait_reg(bus, mii + BCMA_CCB_MII_MNG_CTL, 0x0100, 0x0000, 100);
 writel(value, mii + BCMA_CCB_MII_MNG_CMD_DATA);
 bcma_wait_reg(bus, mii + BCMA_CCB_MII_MNG_CTL, 0x0100, 0x0000, 100);
}
EXPORT_SYMBOL_GPL(bcma_chipco_b_mii_write);

int bcma_core_chipcommon_b_init(struct bcma_drv_cc_b *ccb)
{
 if (ccb->setup_done)
  return 0;

 ccb->setup_done = 1;
 ccb->mii = ioremap(ccb->core->addr_s[1], BCMA_CORE_SIZE);
 if (!ccb->mii)
  return -ENOMEM;

 return 0;
}

void bcma_core_chipcommon_b_free(struct bcma_drv_cc_b *ccb)
{
 if (ccb->mii)
  iounmap(ccb->mii);
}

Messung V0.5
C=92 H=94 G=92

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.