mirror of https://github.com/hak5/openwrt-owl.git
parent
2d0ccf7f5e
commit
8ec2ad91ad
|
@ -801,7 +801,7 @@ static int ip175c_apply(struct switch_dev *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ip175c_reset(struct switch_dev *dev, const struct switch_attr *attr, struct switch_val *val)
|
static int ip175c_reset(struct switch_dev *dev)
|
||||||
{
|
{
|
||||||
struct ip175c_state *state = dev->priv;
|
struct ip175c_state *state = dev->priv;
|
||||||
int i, err;
|
int i, err;
|
||||||
|
@ -1125,14 +1125,6 @@ enum Globals {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct switch_attr ip175c_global[] = {
|
static const struct switch_attr ip175c_global[] = {
|
||||||
[IP175C_RESET] = {
|
|
||||||
.id = IP175C_RESET,
|
|
||||||
.type = SWITCH_TYPE_NOVAL,
|
|
||||||
.name = "reset",
|
|
||||||
.get = NULL,
|
|
||||||
.description = "Resets the switch but does not clear vlan configuration",
|
|
||||||
.set = ip175c_reset,
|
|
||||||
},
|
|
||||||
[IP175C_ENABLE_VLAN] = {
|
[IP175C_ENABLE_VLAN] = {
|
||||||
.id = IP175C_ENABLE_VLAN,
|
.id = IP175C_ENABLE_VLAN,
|
||||||
.type = SWITCH_TYPE_INT,
|
.type = SWITCH_TYPE_INT,
|
||||||
|
@ -1233,6 +1225,7 @@ static int ip175c_probe(struct phy_device *pdev)
|
||||||
dev->get_vlan_ports = ip175c_get_ports;
|
dev->get_vlan_ports = ip175c_get_ports;
|
||||||
dev->set_vlan_ports = ip175c_set_ports;
|
dev->set_vlan_ports = ip175c_set_ports;
|
||||||
dev->apply_config = ip175c_apply;
|
dev->apply_config = ip175c_apply;
|
||||||
|
dev->reset_switch = ip175c_reset;
|
||||||
|
|
||||||
dev->priv = state;
|
dev->priv = state;
|
||||||
pdev->priv = state;
|
pdev->priv = state;
|
||||||
|
@ -1265,7 +1258,7 @@ static int ip175c_config_init(struct phy_device *pdev)
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
ip175c_reset(&state->dev, NULL, NULL);
|
ip175c_reset(&state->dev);
|
||||||
|
|
||||||
state->registered = true;
|
state->registered = true;
|
||||||
netif_carrier_on(pdev->attached_dev);
|
netif_carrier_on(pdev->attached_dev);
|
||||||
|
|
|
@ -133,9 +133,19 @@ swconfig_apply_config(struct switch_dev *dev, const struct switch_attr *attr, st
|
||||||
return dev->apply_config(dev);
|
return dev->apply_config(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
swconfig_reset_switch(struct switch_dev *dev, const struct switch_attr *attr, struct switch_val *val)
|
||||||
|
{
|
||||||
|
/* don't complain if not supported by the switch driver */
|
||||||
|
if (!dev->reset_switch)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return dev->reset_switch(dev);
|
||||||
|
}
|
||||||
|
|
||||||
enum global_defaults {
|
enum global_defaults {
|
||||||
GLOBAL_APPLY,
|
GLOBAL_APPLY,
|
||||||
|
GLOBAL_RESET,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum vlan_defaults {
|
enum vlan_defaults {
|
||||||
|
@ -152,6 +162,12 @@ static struct switch_attr default_global[] = {
|
||||||
.name = "apply",
|
.name = "apply",
|
||||||
.description = "Activate changes in the hardware",
|
.description = "Activate changes in the hardware",
|
||||||
.set = swconfig_apply_config,
|
.set = swconfig_apply_config,
|
||||||
|
},
|
||||||
|
[GLOBAL_RESET] = {
|
||||||
|
.type = SWITCH_TYPE_NOVAL,
|
||||||
|
.name = "reset",
|
||||||
|
.description = "Reset the switch",
|
||||||
|
.set = swconfig_reset_switch,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -190,6 +206,7 @@ static void swconfig_defaults_init(struct switch_dev *dev)
|
||||||
|
|
||||||
/* always present, can be no-op */
|
/* always present, can be no-op */
|
||||||
set_bit(GLOBAL_APPLY, &dev->def_global);
|
set_bit(GLOBAL_APPLY, &dev->def_global);
|
||||||
|
set_bit(GLOBAL_RESET, &dev->def_global);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -132,6 +132,7 @@ struct switch_dev {
|
||||||
int (*get_port_pvid)(struct switch_dev *dev, int port, int *val);
|
int (*get_port_pvid)(struct switch_dev *dev, int port, int *val);
|
||||||
int (*set_port_pvid)(struct switch_dev *dev, int port, int val);
|
int (*set_port_pvid)(struct switch_dev *dev, int port, int val);
|
||||||
int (*apply_config)(struct switch_dev *dev);
|
int (*apply_config)(struct switch_dev *dev);
|
||||||
|
int (*reset_switch)(struct switch_dev *dev);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct switch_port {
|
struct switch_port {
|
||||||
|
|
Loading…
Reference in New Issue