cregit-Linux how code gets into the kernel

Release 4.15 include/linux/i8042.h

Directory: include/linux
#ifndef _LINUX_I8042_H

#define _LINUX_I8042_H

/*
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 as published by
 * the Free Software Foundation.
 */

#include <linux/types.h>

/*
 * Standard commands.
 */


#define I8042_CMD_CTL_RCTR	0x0120

#define I8042_CMD_CTL_WCTR	0x1060

#define I8042_CMD_CTL_TEST	0x01aa


#define I8042_CMD_KBD_DISABLE	0x00ad

#define I8042_CMD_KBD_ENABLE	0x00ae

#define I8042_CMD_KBD_TEST	0x01ab

#define I8042_CMD_KBD_LOOP	0x11d2


#define I8042_CMD_AUX_DISABLE	0x00a7

#define I8042_CMD_AUX_ENABLE	0x00a8

#define I8042_CMD_AUX_TEST	0x01a9

#define I8042_CMD_AUX_SEND	0x10d4

#define I8042_CMD_AUX_LOOP	0x11d3


#define I8042_CMD_MUX_PFX	0x0090

#define I8042_CMD_MUX_SEND	0x1090

/*
 * Status register bits.
 */


#define I8042_STR_PARITY	0x80

#define I8042_STR_TIMEOUT	0x40

#define I8042_STR_AUXDATA	0x20

#define I8042_STR_KEYLOCK	0x10

#define I8042_STR_CMDDAT	0x08

#define I8042_STR_MUXERR	0x04

#define I8042_STR_IBF		0x02

#define I8042_STR_OBF		0x01

/*
 * Control register bits.
 */


#define I8042_CTR_KBDINT	0x01

#define I8042_CTR_AUXINT	0x02

#define I8042_CTR_IGNKEYLOCK	0x08

#define I8042_CTR_KBDDIS	0x10

#define I8042_CTR_AUXDIS	0x20

#define I8042_CTR_XLATE		0x40

struct serio;

#if defined(CONFIG_SERIO_I8042) || defined(CONFIG_SERIO_I8042_MODULE)

void i8042_lock_chip(void);
void i8042_unlock_chip(void);
int i8042_command(unsigned char *param, int command);
int i8042_install_filter(bool (*filter)(unsigned char data, unsigned char str,
					struct serio *serio));
int i8042_remove_filter(bool (*filter)(unsigned char data, unsigned char str,
				       struct serio *serio));

#else


static inline void i8042_lock_chip(void) { }

Contributors

PersonTokensPropCommitsCommitProp
Dmitry Torokhov675.00%150.00%
Feng Tang225.00%150.00%
Total8100.00%2100.00%


static inline void i8042_unlock_chip(void) { }

Contributors

PersonTokensPropCommitsCommitProp
Dmitry Torokhov675.00%150.00%
Feng Tang225.00%150.00%
Total8100.00%2100.00%


static inline int i8042_command(unsigned char *param, int command) { return -ENODEV; }

Contributors

PersonTokensPropCommitsCommitProp
Dmitry Torokhov1684.21%133.33%
Feng Tang210.53%133.33%
Matthew Garrett15.26%133.33%
Total19100.00%3100.00%


static inline int i8042_install_filter(bool (*filter)(unsigned char data, unsigned char str, struct serio *serio)) { return -ENODEV; }

Contributors

PersonTokensPropCommitsCommitProp
Matthew Garrett2993.55%150.00%
Feng Tang26.45%150.00%
Total31100.00%2100.00%


static inline int i8042_remove_filter(bool (*filter)(unsigned char data, unsigned char str, struct serio *serio)) { return -ENODEV; }

Contributors

PersonTokensPropCommitsCommitProp
Matthew Garrett2993.55%150.00%
Feng Tang26.45%150.00%
Total31100.00%2100.00%

#endif #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Matthew Garrett10734.08%120.00%
Márton Németh7824.84%120.00%
Dmitry Torokhov6119.43%120.00%
Andrey Moiseev5818.47%120.00%
Feng Tang103.18%120.00%
Total314100.00%5100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.