Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/include/pcmcia/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  soc_common.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
#include <pcmcia/ss.h>

struct module;
struct cpufreq_freqs;

struct soc_pcmcia_regulator {
 struct regulator *reg;
 bool   on;
};

struct pcmcia_state {
  unsigned detect: 1,
            ready: 1,
             bvd1: 1,
             bvd2: 1,
           wrprot: 1,
            vs_3v: 1,
            vs_Xv: 1;
};

/*
 * This structure encapsulates per-socket state which we might need to
 * use when responding to a Card Services query of some kind.
 */

struct soc_pcmcia_socket {
 struct pcmcia_socket socket;

 /*
 * Info from low level handler
 */

 unsigned int  nr;
 struct clk  *clk;

 /*
 * Core PCMCIA state
 */

 const struct pcmcia_low_level *ops;

 unsigned int  status;
 socket_state_t  cs_state;

 unsigned short  spd_io[MAX_IO_WIN];
 unsigned short  spd_mem[MAX_WIN];
 unsigned short  spd_attr[MAX_WIN];

 struct resource  res_skt;
 struct resource  res_io;
 struct resource  res_io_io;
 struct resource  res_mem;
 struct resource  res_attr;

 struct {
  int  gpio;
  struct gpio_desc *desc;
  unsigned int irq;
  const char *name;
 } stat[6];
#define SOC_STAT_CD  0 /* Card detect */
#define SOC_STAT_BVD1  1 /* BATDEAD / IOSTSCHG */
#define SOC_STAT_BVD2  2 /* BATWARN / IOSPKR */
#define SOC_STAT_RDY  3 /* Ready / Interrupt */
#define SOC_STAT_VS1  4 /* Voltage sense 1 */
#define SOC_STAT_VS2  5 /* Voltage sense 2 */

 struct gpio_desc *gpio_reset;
 struct gpio_desc *gpio_bus_enable;
 struct soc_pcmcia_regulator vcc;
 struct soc_pcmcia_regulator vpp;

 unsigned int  irq_state;

#ifdef CONFIG_CPU_FREQ
 struct notifier_block cpufreq_nb;
#endif
 struct timer_list poll_timer;
 struct list_head node;
 void *driver_data;
};


struct pcmcia_low_level {
 struct module *owner;

 /* first socket in system */
 int first;
 /* nr of sockets */
 int nr;

 int (*hw_init)(struct soc_pcmcia_socket *);
 void (*hw_shutdown)(struct soc_pcmcia_socket *);

 void (*socket_state)(struct soc_pcmcia_socket *, struct pcmcia_state *);
 int (*configure_socket)(struct soc_pcmcia_socket *, const socket_state_t *);

 /*
 * Enable card status IRQs on (re-)initialisation.  This can
 * be called at initialisation, power management event, or
 * pcmcia event.
 */

 void (*socket_init)(struct soc_pcmcia_socket *);

 /*
 * Disable card status IRQs and PCMCIA bus on suspend.
 */

 void (*socket_suspend)(struct soc_pcmcia_socket *);

 /*
 * Hardware specific timing routines.
 * If provided, the get_timing routine overrides the SOC default.
 */

 unsigned int (*get_timing)(struct soc_pcmcia_socket *, unsigned intunsigned int);
 int (*set_timing)(struct soc_pcmcia_socket *);
 int (*show_timing)(struct soc_pcmcia_socket *, char *);

#ifdef CONFIG_CPU_FREQ
 /*
 * CPUFREQ support.
 */

 int (*frequency_change)(struct soc_pcmcia_socket *, unsigned longstruct cpufreq_freqs *);
#endif
};




Messung V0.5
C=96 H=89 G=92

¤ Dauer der Verarbeitung: 0.0 Sekunden  (vorverarbeitet)  ¤

*© 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.