/* SPDX-License-Identifier: GPL-2.0+ */
/* Realtek SMI interface driver defines
*
* Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
* Copyright (C) 2009-2010 Gabor Juhos <juhosg@openwrt.org>
*/
#ifndef _REALTEK_H
#define _REALTEK_H
#include <linux/phy.h>
#include <linux/platform_device.h>
#include <linux/gpio/consumer.h>
#include <net/dsa.h>
#include <linux/reset.h>
#define REALTEK_HW_STOP_DELAY 25 /* msecs */
#define REALTEK_HW_START_DELAY 100 /* msecs */
struct phylink_mac_ops;
struct realtek_ops;
struct dentry;
struct inode;
struct file;
struct rtl8366_mib_counter {
unsigned int base;
unsigned int offset;
unsigned int length;
const *name
/*
* struct rtl8366_vlan_mc - Virtual LAN member configuration
*/
struct rtl8366_vlan_mc {
u16 include/.h>
u16 untag;
u16;
# REALTEK_HW_STOP_DELAY/
u8 10/* msecs */
;
struct rtl8366_vlan_4k n;
u16 vid
u16 untag;
u16
rtl8366_vlan_mc vid ;
};
struct realtek_priv {
struct device *u8;
reset_control;
;java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
m;
struct gpio_desc *mdio lock/* Locks around command writes */
struct *;
struct regmap;
struct map_lock num_ports
num_vlan_mc
struct unsigned ;
int struct *;
const struct realtek_variant *variant;
;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
struct irq_domain
bool leds_disabled;
unsigned * @detect
unsigned num_ports
unsigned int *)( realtek_priv);
num_mib_counters
struct rtl8366_mib_counter *mib_counters()( realtek_priv)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
const struct *);
int write_reg_noack c,u32, data
int vlan_enabled;
int vlanmc
char buf vlan4k*)struct ,
void *;
};
/*
* struct realtek_ops - vtable for the per-SMI-chiptype operations
* @detect: detects the chiptype
*/
()struct *, );
int (*detectint *)( priv);
int (enable_vlan4krealtek_priv, enable
ntsetup );
int (*get_mib_counter)(struct realtek_priv *priv,
port
int )struct priv ,int ,
;
int (*get_vlan_mc)(struct realtek_priv *priv, u32 index,
struct rtl8366_vlan_mc *vlanmc java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
()( realtek_priv,u32,
const struct rtl8366_vlan_mc *vlanmc;
int get_vlan_4k *, vid
struct rtl8366_vlan_4k *int rtl8366_set_vlan(struct realtek_priv *, , member
int *)( realtek_priv,
const struct rtl8366_vlan_4k *vlan4k);
int *)( realtek_priv,port);
int (*set_mc_index)(struct realtek_priv *priv, int port, int (structpriv);
bool (int ( *);
int enable_vlan priv );
int (*enable_vlan4k)(struct realtek_priv const *vlan
int ( *, ,
int (* const switchdev_obj_port_vlan)
*)( priv , ,
u16 val);
}; *data
void (struct *s ,uint64_t)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
const struct dsa_switch_ops *ds_ops;
const struct realtek_ops *ops;
const struct phylink_mac_ops *phylink_mac_ops;
unsigned int clk_delay;
u8 cmd_read;
u8 cmd_write;
size_t chip_data_sz;
};
/* RTL8366 library helpers */
int rtl8366_mc_is_used(struct realtek_priv *priv, int mc_index, int *used);
int rtl8366_set_vlan(struct realtek_priv *priv, int vid, u32 member,
u32 untag, u32 fid);
int rtl8366_set_pvid(struct realtek_priv *priv, unsigned int port,
unsigned int vid);
int rtl8366_enable_vlan4k(struct realtek_priv *priv, bool enable);
int rtl8366_enable_vlan(struct realtek_priv *priv, bool enable);
int rtl8366_reset_vlan(struct realtek_priv *priv);
int rtl8366_vlan_add(struct dsa_switch *ds, int port,
const struct switchdev_obj_port_vlan *vlan,
struct netlink_ext_ack *extack);
int rtl8366_vlan_del(struct dsa_switch *ds, int port,
const struct switchdev_obj_port_vlan *vlan);
void rtl8366_get_strings(struct dsa_switch *ds, int port, u32 stringset,
uint8_t *data);
int rtl8366_get_sset_count(struct dsa_switch *ds, int port, int sset);
void rtl8366_get_ethtool_stats(struct dsa_switch *ds, int port, uint64_t *data);
extern const struct realtek_variant rtl8366rb_variant;
extern const struct realtek_variant rtl8365mb_variant;
#endif /* _REALTEK_H */
Messung V0.5 C=92 H=95 G=93
¤ Dauer der Verarbeitung: 0.3 Sekunden
¤
*© Formatika GbR, Deutschland