__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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:

[email protected]: ~ $
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * cec-pin.h - low-level CEC pin control
 *
 * Copyright 2017 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
 */

#ifndef LINUX_CEC_PIN_H
#define LINUX_CEC_PIN_H

#include <linux/types.h>
#include <media/cec.h>

/**
 * struct cec_pin_ops - low-level CEC pin operations
 * @read:	read the CEC pin. Returns > 0 if high, 0 if low, or an error
 *		if negative.
 * @low:	drive the CEC pin low.
 * @high:	stop driving the CEC pin. The pull-up will drive the pin
 *		high, unless someone else is driving the pin low.
 * @enable_irq:	optional, enable the interrupt to detect pin voltage changes.
 * @disable_irq: optional, disable the interrupt.
 * @free:	optional. Free any allocated resources. Called when the
 *		adapter is deleted.
 * @status:	optional, log status information.
 * @read_hpd:	optional. Read the HPD pin. Returns > 0 if high, 0 if low or
 *		an error if negative.
 * @read_5v:	optional. Read the 5V pin. Returns > 0 if high, 0 if low or
 *		an error if negative.
 * @received:	optional. High-level CEC message callback. Allows the driver
 *		to process CEC messages.
 *
 * These operations (except for the @received op) are used by the
 * cec pin framework to manipulate the CEC pin.
 */
struct cec_pin_ops {
	int  (*read)(struct cec_adapter *adap);
	void (*low)(struct cec_adapter *adap);
	void (*high)(struct cec_adapter *adap);
	bool (*enable_irq)(struct cec_adapter *adap);
	void (*disable_irq)(struct cec_adapter *adap);
	void (*free)(struct cec_adapter *adap);
	void (*status)(struct cec_adapter *adap, struct seq_file *file);
	int  (*read_hpd)(struct cec_adapter *adap);
	int  (*read_5v)(struct cec_adapter *adap);

	/* High-level CEC message callback */
	int (*received)(struct cec_adapter *adap, struct cec_msg *msg);
};

/**
 * cec_pin_changed() - update pin state from interrupt
 *
 * @adap:	pointer to the cec adapter
 * @value:	when true the pin is high, otherwise it is low
 *
 * If changes of the CEC voltage are detected via an interrupt, then
 * cec_pin_changed is called from the interrupt with the new value.
 */
void cec_pin_changed(struct cec_adapter *adap, bool value);

/**
 * cec_pin_allocate_adapter() - allocate a pin-based cec adapter
 *
 * @pin_ops:	low-level pin operations
 * @priv:	will be stored in adap->priv and can be used by the adapter ops.
 *		Use cec_get_drvdata(adap) to get the priv pointer.
 * @name:	the name of the CEC adapter. Note: this name will be copied.
 * @caps:	capabilities of the CEC adapter. This will be ORed with
 *		CEC_CAP_MONITOR_ALL and CEC_CAP_MONITOR_PIN.
 *
 * Allocate a cec adapter using the cec pin framework.
 *
 * Return: a pointer to the cec adapter or an error pointer
 */
struct cec_adapter *cec_pin_allocate_adapter(const struct cec_pin_ops *pin_ops,
					void *priv, const char *name, u32 caps);

#endif

Filemanager

Name Type Size Permission Actions
davinci Folder 0755
drv-intf Folder 0755
i2c Folder 0755
tpg Folder 0755
cec-notifier.h File 5.03 KB 0644
cec-pin.h File 2.79 KB 0644
cec.h File 17.88 KB 0644
demux.h File 22.69 KB 0644
dmxdev.h File 5.87 KB 0644
dvb-usb-ids.h File 19.46 KB 0644
dvb_ca_en50221.h File 4.35 KB 0644
dvb_demux.h File 10.77 KB 0644
dvb_frontend.h File 30.42 KB 0644
dvb_net.h File 2.43 KB 0644
dvb_ringbuffer.h File 8.32 KB 0644
dvb_vb2.h File 7.65 KB 0644
dvbdev.h File 14.77 KB 0644
frame_vector.h File 1.42 KB 0644
imx.h File 190 B 0644
ipu-bridge.h File 4.3 KB 0644
ipu6-pci-table.h File 876 B 0644
jpeg.h File 500 B 0644
media-dev-allocator.h File 2.21 KB 0644
media-device.h File 17.65 KB 0644
media-devnode.h File 5.29 KB 0644
media-entity.h File 47.13 KB 0644
media-request.h File 11.95 KB 0644
mipi-csi2.h File 1.46 KB 0644
rc-core.h File 12.08 KB 0644
rc-map.h File 14.53 KB 0644
rcar-fcp.h File 1.1 KB 0644
tuner-types.h File 7.54 KB 0644
tuner.h File 8.46 KB 0644
tveeprom.h File 3.3 KB 0644
v4l2-async.h File 11.78 KB 0644
v4l2-cci.h File 4.75 KB 0644
v4l2-common.h File 19.96 KB 0644
v4l2-ctrls.h File 54.48 KB 0644
v4l2-dev.h File 20.42 KB 0644
v4l2-device.h File 18.61 KB 0644
v4l2-dv-timings.h File 10.64 KB 0644
v4l2-event.h File 6.01 KB 0644
v4l2-fh.h File 4.22 KB 0644
v4l2-flash-led-class.h File 5.75 KB 0644
v4l2-fwnode.h File 15.57 KB 0644
v4l2-h264.h File 3.1 KB 0644
v4l2-image-sizes.h File 827 B 0644
v4l2-ioctl.h File 33.52 KB 0644
v4l2-jpeg.h File 6.43 KB 0644
v4l2-mc.h File 7.78 KB 0644
v4l2-mediabus.h File 9.65 KB 0644
v4l2-mem2mem.h File 29.48 KB 0644
v4l2-rect.h File 5.71 KB 0644
v4l2-subdev.h File 74.55 KB 0644
v4l2-vp9.h File 8.32 KB 0644
videobuf2-core.h File 52.05 KB 0644
videobuf2-dma-contig.h File 883 B 0644
videobuf2-dma-sg.h File 698 B 0644
videobuf2-dvb.h File 1.81 KB 0644
videobuf2-memops.h File 1.09 KB 0644
videobuf2-v4l2.h File 14.48 KB 0644
videobuf2-vmalloc.h File 509 B 0644
vsp1.h File 3.62 KB 0644
Filemanager