__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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: BSD-3-Clause OR GPL-2.0 */
/*
 * Copyright (C) 2017-2020 Mellanox Technologies Ltd.
 */

#ifndef __LINUX_PLATFORM_DATA_MLXREG_H
#define __LINUX_PLATFORM_DATA_MLXREG_H

#define MLXREG_CORE_LABEL_MAX_SIZE	32
#define MLXREG_CORE_WD_FEATURE_NOWAYOUT		BIT(0)
#define MLXREG_CORE_WD_FEATURE_START_AT_BOOT	BIT(1)

/**
 * enum mlxreg_wdt_type - type of HW watchdog
 *
 * TYPE1 HW watchdog implementation exist in old systems.
 * All new systems have TYPE2 HW watchdog.
 * TYPE3 HW watchdog can exist on all systems with new CPLD.
 * TYPE3 is selected by WD capability bit.
 */
enum mlxreg_wdt_type {
	MLX_WDT_TYPE1,
	MLX_WDT_TYPE2,
	MLX_WDT_TYPE3,
};

/**
 * enum mlxreg_hotplug_kind - kind of hotplug entry
 *
 * @MLXREG_HOTPLUG_DEVICE_NA: do not care;
 * @MLXREG_HOTPLUG_LC_PRESENT: entry for line card presence in/out events;
 * @MLXREG_HOTPLUG_LC_VERIFIED: entry for line card verification status events
 *				coming after line card security signature validation;
 * @MLXREG_HOTPLUG_LC_POWERED: entry for line card power on/off events;
 * @MLXREG_HOTPLUG_LC_SYNCED: entry for line card synchronization events, coming
 *			      after hardware-firmware synchronization handshake;
 * @MLXREG_HOTPLUG_LC_READY: entry for line card ready events, indicating line card
			     PHYs ready / unready state;
 * @MLXREG_HOTPLUG_LC_ACTIVE: entry for line card active events, indicating firmware
 *			      availability / unavailability for the ports on line card;
 * @MLXREG_HOTPLUG_LC_THERMAL: entry for line card thermal shutdown events, positive
 *			       event indicates that system should power off the line
 *			       card for which this event has been received;
 */
enum mlxreg_hotplug_kind {
	MLXREG_HOTPLUG_DEVICE_NA = 0,
	MLXREG_HOTPLUG_LC_PRESENT = 1,
	MLXREG_HOTPLUG_LC_VERIFIED = 2,
	MLXREG_HOTPLUG_LC_POWERED = 3,
	MLXREG_HOTPLUG_LC_SYNCED = 4,
	MLXREG_HOTPLUG_LC_READY = 5,
	MLXREG_HOTPLUG_LC_ACTIVE = 6,
	MLXREG_HOTPLUG_LC_THERMAL = 7,
};

/**
 * enum mlxreg_hotplug_device_action - hotplug device action required for
 *				       driver's connectivity
 *
 * @MLXREG_HOTPLUG_DEVICE_DEFAULT_ACTION: probe device for 'on' event, remove
 *					  for 'off' event;
 * @MLXREG_HOTPLUG_DEVICE_PLATFORM_ACTION: probe platform device for 'on'
 *					   event, remove for 'off' event;
 * @MLXREG_HOTPLUG_DEVICE_NO_ACTION: no connectivity action is required;
 */
enum mlxreg_hotplug_device_action {
	MLXREG_HOTPLUG_DEVICE_DEFAULT_ACTION = 0,
	MLXREG_HOTPLUG_DEVICE_PLATFORM_ACTION = 1,
	MLXREG_HOTPLUG_DEVICE_NO_ACTION = 2,
};

/**
 * struct mlxreg_core_hotplug_notifier - hotplug notifier block:
 *
 * @identity: notifier identity name;
 * @handle: user handle to be passed by user handler function;
 * @user_handler: user handler function associated with the event;
 */
struct mlxreg_core_hotplug_notifier {
	char identity[MLXREG_CORE_LABEL_MAX_SIZE];
	void *handle;
	int (*user_handler)(void *handle, enum mlxreg_hotplug_kind kind, u8 action);
};

/**
 * struct mlxreg_hotplug_device - I2C device data:
 *
 * @adapter: I2C device adapter;
 * @client: I2C device client;
 * @brdinfo: device board information;
 * @nr: I2C device adapter number, to which device is to be attached;
 * @pdev: platform device, if device is instantiated as a platform device;
 * @action: action to be performed upon event receiving;
 * @handle: user handle to be passed by user handler function;
 * @user_handler: user handler function associated with the event;
 * @notifier: pointer to event notifier block;
 *
 * Structure represents I2C hotplug device static data (board topology) and
 * dynamic data (related kernel objects handles).
 */
struct mlxreg_hotplug_device {
	struct i2c_adapter *adapter;
	struct i2c_client *client;
	struct i2c_board_info *brdinfo;
	int nr;
	struct platform_device *pdev;
	enum mlxreg_hotplug_device_action action;
	void *handle;
	int (*user_handler)(void *handle, enum mlxreg_hotplug_kind kind, u8 action);
	struct mlxreg_core_hotplug_notifier *notifier;
};

/**
 * struct mlxreg_core_data - attributes control data:
 *
 * @label: attribute label;
 * @reg: attribute register;
 * @mask: attribute access mask;
 * @bit: attribute effective bit;
 * @capability: attribute capability register;
 * @reg_prsnt: attribute presence register;
 * @reg_sync: attribute synch register;
 * @reg_pwr: attribute power register;
 * @reg_ena: attribute enable register;
 * @mode: access mode;
 * @np - pointer to node platform associated with attribute;
 * @hpdev - hotplug device data;
 * @notifier: pointer to event notifier block;
 * @health_cntr: dynamic device health indication counter;
 * @attached: true if device has been attached after good health indication;
 * @regnum: number of registers occupied by multi-register attribute;
 * @slot: slot number, at which device is located;
 * @secured: if set indicates that entry access is secured;
 */
struct mlxreg_core_data {
	char label[MLXREG_CORE_LABEL_MAX_SIZE];
	u32 reg;
	u32 mask;
	u32 bit;
	u32 capability;
	u32 reg_prsnt;
	u32 reg_sync;
	u32 reg_pwr;
	u32 reg_ena;
	umode_t	mode;
	struct device_node *np;
	struct mlxreg_hotplug_device hpdev;
	struct mlxreg_core_hotplug_notifier *notifier;
	u32 health_cntr;
	bool attached;
	u8 regnum;
	u8 slot;
	u8 secured;
};

/**
 * struct mlxreg_core_item - same type components controlled by the driver:
 *
 * @data: component data;
 * @kind: kind of hotplug attribute;
 * @aggr_mask: group aggregation mask;
 * @reg: group interrupt status register;
 * @mask: group interrupt mask;
 * @capability: group capability register;
 * @cache: last status value for elements fro the same group;
 * @count: number of available elements in the group;
 * @ind: element's index inside the group;
 * @inversed: if 0: 0 for signal status is OK, if 1 - 1 is OK;
 * @health: true if device has health indication, false in other case;
 */
struct mlxreg_core_item {
	struct mlxreg_core_data *data;
	enum mlxreg_hotplug_kind kind;
	u32 aggr_mask;
	u32 reg;
	u32 mask;
	u32 capability;
	u32 cache;
	u8 count;
	u8 ind;
	u8 inversed;
	u8 health;
};

/**
 * struct mlxreg_core_platform_data - platform data:
 *
 * @data: instance private data;
 * @regmap: register map of parent device;
 * @counter: number of instances;
 * @features: supported features of device;
 * @version: implementation version;
 * @identity: device identity name;
 * @capability: device capability register;
 */
struct mlxreg_core_platform_data {
	struct mlxreg_core_data *data;
	void *regmap;
	int counter;
	u32 features;
	u32 version;
	char identity[MLXREG_CORE_LABEL_MAX_SIZE];
	u32 capability;
};

/**
 * struct mlxreg_core_hotplug_platform_data - hotplug platform data:
 *
 * @items: same type components with the hotplug capability;
 * @irq: platform interrupt number;
 * @regmap: register map of parent device;
 * @counter: number of the components with the hotplug capability;
 * @cell: location of top aggregation interrupt register;
 * @mask: top aggregation interrupt common mask;
 * @cell_low: location of low aggregation interrupt register;
 * @mask_low: low aggregation interrupt common mask;
 * @deferred_nr: I2C adapter number must be exist prior probing execution;
 * @shift_nr: I2C adapter numbers must be incremented by this value;
 * @addr: mapped resource address;
 * @handle: handle to be passed by callback;
 * @completion_notify: callback to notify when platform driver probing is done;
 */
struct mlxreg_core_hotplug_platform_data {
	struct mlxreg_core_item *items;
	int irq;
	void *regmap;
	int counter;
	u32 cell;
	u32 mask;
	u32 cell_low;
	u32 mask_low;
	int deferred_nr;
	int shift_nr;
	void __iomem *addr;
	void *handle;
	int (*completion_notify)(void *handle, int id);
};

#endif /* __LINUX_PLATFORM_DATA_MLXREG_H */

Filemanager

Name Type Size Permission Actions
gpio Folder 0755
media Folder 0755
txx9 Folder 0755
x86 Folder 0755
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
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
amd_xdma.h File 781 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-pxa.h File 1023 B 0644
asoc-s3c.h File 1.28 KB 0644
asoc-ti-mcbsp.h File 820 B 0644
ata-pxa.h File 392 B 0644
atmel.h File 374 B 0644
b53.h File 1.13 KB 0644
bcm7038_wdt.h File 158 B 0644
bcmgenet.h File 402 B 0644
bd6107.h File 235 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-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 186.95 KB 0644
cros_ec_proto.h File 10.09 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
davinci-cpufreq.h File 556 B 0644
davinci_asp.h File 2.5 KB 0644
dma-dw.h File 2.57 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-mv_xor.h File 375 B 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
emc2305.h File 545 B 0644
emif_plat.h File 3.92 KB 0644
g762.h File 698 B 0644
gpio-htc-egpio.h File 1.62 KB 0644
gpio-omap.h File 5.53 KB 0644
gpio_backlight.h File 251 B 0644
gpmc-omap.h File 5.75 KB 0644
gsc_hwmon.h File 1.08 KB 0644
hirschmann-hellcreek.h File 719 B 0644
hsmmc-omap.h File 2.09 KB 0644
hwmon-s3c.h File 835 B 0644
i2c-gpio.h File 1.48 KB 0644
i2c-imx.h File 420 B 0644
i2c-mux-gpio.h File 956 B 0644
i2c-mux-reg.h File 1.13 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
invensense_mpu6050.h File 865 B 0644
iommu-omap.h File 618 B 0644
isl9305.h File 487 B 0644
itco_wdt.h File 588 B 0644
keyboard-spear.h File 3.81 KB 0644
keypad-omap.h File 1.22 KB 0644
keypad-pxa27x.h File 2.16 KB 0644
lcd-mipid.h File 514 B 0644
leds-lm355x.h File 1.42 KB 0644
leds-lm3642.h File 818 B 0644
leds-lp55xx.h File 2.17 KB 0644
lenovo-yoga-c630.h File 1.32 KB 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 271 B 0644
max197.h File 615 B 0644
max3421-hcd.h File 808 B 0644
max732x.h File 288 B 0644
mdio-bcm-unimac.h File 306 B 0644
mdio-gpio.h File 273 B 0644
mfd-mcp-sa11x0.h File 272 B 0644
microchip-ksz.h File 1.65 KB 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 882 B 0644
mmc-sdhci-s3c.h File 2.22 KB 0644
mmp_dma.h File 350 B 0644
mtd-nand-omap2.h File 2.19 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.44 KB 0644
omap-twl4030.h File 990 B 0644
omap-wd-timer.h File 901 B 0644
omap1_bl.h File 179 B 0644
omapdss.h File 897 B 0644
pca953x.h File 360 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 1.08 KB 0644
pxa_sdhci.h File 1.45 KB 0644
regulator-haptic.h File 691 B 0644
s3c-hsotg.h File 1.04 KB 0644
sa11x0-serial.h File 856 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 822 B 0644
shtc1.h File 303 B 0644
si5351.h File 3.65 KB 0644
simplefb.h File 2.21 KB 0644
spi-davinci.h File 2.25 KB 0644
spi-mt65xx.h File 361 B 0644
spi-omap2-mcspi.h File 406 B 0644
spi-s3c64xx.h File 1.57 KB 0644
st_sensors_pdata.h File 978 B 0644
tda9950.h File 282 B 0644
ti-prm.h File 524 B 0644
ti-sysc.h File 4.99 KB 0644
tmio.h File 1.72 KB 0644
touchscreen-s3c2410.h File 595 B 0644
tps68470.h File 785 B 0644
tsc2007.h File 655 B 0644
tsl2772.h File 3.73 KB 0644
uio_dmem_genirq.h File 397 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 1.93 KB 0644
usb-omap1.h File 1.53 KB 0644
usb3503.h File 431 B 0644
video-ep93xx.h File 1.49 KB 0644
video-pxafb.h File 6.05 KB 0644
video_s3c.h File 1.71 KB 0644
voltage-omap.h File 1.08 KB 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
Filemanager