Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  logic_iomem.h

  Sprache: C
 

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (C) 2021 Intel Corporation
 * Author: johannes@sipsolutions.net
 */

#ifndef __LOGIC_IOMEM_H
#define __LOGIC_IOMEM_H
#include <linux/types.h>
#include <linux/ioport.h>

/**
 * struct logic_iomem_ops - emulated IO memory ops
 * @read: read an 8, 16, 32 or 64 bit quantity from the given offset,
 * size is given in bytes (1, 2, 4 or 8)
 * (64-bit only necessary if CONFIG_64BIT is set)
 * @write: write an 8, 16 32 or 64 bit quantity to the given offset,
 * size is given in bytes (1, 2, 4 or 8)
 * (64-bit only necessary if CONFIG_64BIT is set)
 * @set: optional, for memset_io()
 * @copy_from: optional, for memcpy_fromio()
 * @copy_to: optional, for memcpy_toio()
 * @unmap: optional, this region is getting unmapped
 */

struct logic_iomem_ops {
 unsigned long (*read)(void *priv, unsigned int offset, int size);
 void (*write)(void *priv, unsigned int offset, int size,
        unsigned long val);

 void (*set)(void *priv, unsigned int offset, u8 value, int size);
 void (*copy_from)(void *priv, void *buffer, unsigned int offset,
     int size);
 void (*copy_to)(void *priv, unsigned int offset, const void *buffer,
   int size);

 void (*unmap)(void *priv);
};

/**
 * struct logic_iomem_region_ops - ops for an IO memory handler
 * @map: map a range in the registered IO memory region, must
 * fill *ops with the ops and may fill *priv to be passed
 * to the ops. The offset is given as the offset into the
 * registered resource region.
 * The return value is negative for errors, or >= 0 for
 * success. On success, the return value is added to the
 * offset for later ops, to allow for partial mappings.
 */

struct logic_iomem_region_ops {
 long (*map)(unsigned long offset, size_t size,
      const struct logic_iomem_ops **ops,
      void **priv);
};

/**
 * logic_iomem_add_region - register an IO memory region
 * @resource: the resource description for this region
 * @ops: the IO memory mapping ops for this resource
 */

int logic_iomem_add_region(struct resource *resource,
      const struct logic_iomem_region_ops *ops);

#endif /* __LOGIC_IOMEM_H */

Messung V0.5 in Prozent
C=95 H=96 G=95

¤ Dauer der Verarbeitung: 0.19 Sekunden  (vorverarbeitet am  2026-06-07) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=752002