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

Quelle  olpc-ec.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_OLPC_EC_H
#define _LINUX_OLPC_EC_H

#include <linux/bits.h>

/* XO-1 EC commands */
#define EC_FIRMWARE_REV   0x08
#define EC_WRITE_SCI_MASK  0x1b
#define EC_WAKE_UP_WLAN   0x24
#define EC_WLAN_LEAVE_RESET  0x25
#define EC_DCON_POWER_MODE  0x26
#define EC_READ_EB_MODE   0x2a
#define EC_SET_SCI_INHIBIT  0x32
#define EC_SET_SCI_INHIBIT_RELEASE 0x34
#define EC_WLAN_ENTER_RESET  0x35
#define EC_WRITE_EXT_SCI_MASK  0x38
#define EC_SCI_QUERY   0x84
#define EC_EXT_SCI_QUERY  0x85

/* SCI source values */
#define EC_SCI_SRC_GAME         BIT(0)
#define EC_SCI_SRC_BATTERY      BIT(1)
#define EC_SCI_SRC_BATSOC       BIT(2)
#define EC_SCI_SRC_BATERR       BIT(3)
#define EC_SCI_SRC_EBOOK        BIT(4)    /* XO-1 only */
#define EC_SCI_SRC_WLAN         BIT(5)    /* XO-1 only */
#define EC_SCI_SRC_ACPWR        BIT(6)
#define EC_SCI_SRC_BATCRIT      BIT(7)
#define EC_SCI_SRC_GPWAKE       BIT(8)   /* XO-1.5 only */
#define EC_SCI_SRC_ALL          GENMASK(8, 0)

struct platform_device;

struct olpc_ec_driver {
 int (*suspend)(struct platform_device *);
 int (*resume)(struct platform_device *);

 int (*ec_cmd)(u8, u8 *, size_t, u8 *, size_t, void *);

 bool wakeup_available;
};

#ifdef CONFIG_OLPC_EC

extern void olpc_ec_driver_register(struct olpc_ec_driver *drv, void *arg);

extern int olpc_ec_cmd(u8 cmd, u8 *inbuf, size_t inlen, u8 *outbuf,
  size_t outlen);

extern void olpc_ec_wakeup_set(u16 value);
extern void olpc_ec_wakeup_clear(u16 value);

extern int olpc_ec_mask_write(u16 bits);
extern int olpc_ec_sci_query(u16 *sci_value);

extern bool olpc_ec_wakeup_available(void);

asmlinkage int xo1_do_sleep(u8 sleep_state);

#else

static inline int olpc_ec_cmd(u8 cmd, u8 *inbuf, size_t inlen, u8 *outbuf,
  size_t outlen) { return -ENODEV; }

static inline void olpc_ec_wakeup_set(u16 value) { }
static inline void olpc_ec_wakeup_clear(u16 value) { }

static inline bool olpc_ec_wakeup_available(void)
{
 return false;
}

#endif /* CONFIG_OLPC_EC */

#endif /* _LINUX_OLPC_EC_H */

100%


¤ Dauer der Verarbeitung: 0.13 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 ist noch experimentell.