mirror of https://gitee.com/openkylin/linux.git
net: dsa: sja1105: make config table operation structures constant
The per-chip instantiations of struct sja1105_table_ops and struct sja1105_dynamic_table_ops can be made constant, so do that. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
be3fb56d6a
commit
718e44b6ea
|
@ -638,7 +638,7 @@ static size_t sja1105pqrs_cbs_entry_packing(void *buf, void *entry_ptr,
|
|||
#define OP_SEARCH BIT(3)
|
||||
|
||||
/* SJA1105E/T: First generation */
|
||||
struct sja1105_dynamic_table_ops sja1105et_dyn_ops[BLK_IDX_MAX_DYN] = {
|
||||
const struct sja1105_dynamic_table_ops sja1105et_dyn_ops[BLK_IDX_MAX_DYN] = {
|
||||
[BLK_IDX_VL_LOOKUP] = {
|
||||
.entry_packing = sja1105et_vl_lookup_entry_packing,
|
||||
.cmd_packing = sja1105_vl_lookup_cmd_packing,
|
||||
|
@ -722,7 +722,7 @@ struct sja1105_dynamic_table_ops sja1105et_dyn_ops[BLK_IDX_MAX_DYN] = {
|
|||
};
|
||||
|
||||
/* SJA1105P/Q/R/S: Second generation */
|
||||
struct sja1105_dynamic_table_ops sja1105pqrs_dyn_ops[BLK_IDX_MAX_DYN] = {
|
||||
const struct sja1105_dynamic_table_ops sja1105pqrs_dyn_ops[BLK_IDX_MAX_DYN] = {
|
||||
[BLK_IDX_VL_LOOKUP] = {
|
||||
.entry_packing = sja1105_vl_lookup_entry_packing,
|
||||
.cmd_packing = sja1105_vl_lookup_cmd_packing,
|
||||
|
|
|
@ -34,7 +34,7 @@ struct sja1105_mgmt_entry {
|
|||
u64 index;
|
||||
};
|
||||
|
||||
extern struct sja1105_dynamic_table_ops sja1105et_dyn_ops[BLK_IDX_MAX_DYN];
|
||||
extern struct sja1105_dynamic_table_ops sja1105pqrs_dyn_ops[BLK_IDX_MAX_DYN];
|
||||
extern const struct sja1105_dynamic_table_ops sja1105et_dyn_ops[BLK_IDX_MAX_DYN];
|
||||
extern const struct sja1105_dynamic_table_ops sja1105pqrs_dyn_ops[BLK_IDX_MAX_DYN];
|
||||
|
||||
#endif
|
||||
|
|
|
@ -838,7 +838,7 @@ sja1105_static_config_get_length(const struct sja1105_static_config *config)
|
|||
/* Compatibility matrices */
|
||||
|
||||
/* SJA1105E: First generation, no TTEthernet */
|
||||
struct sja1105_table_ops sja1105e_table_ops[BLK_IDX_MAX] = {
|
||||
const struct sja1105_table_ops sja1105e_table_ops[BLK_IDX_MAX] = {
|
||||
[BLK_IDX_L2_LOOKUP] = {
|
||||
.packing = sja1105et_l2_lookup_entry_packing,
|
||||
.unpacked_entry_size = sizeof(struct sja1105_l2_lookup_entry),
|
||||
|
@ -908,7 +908,7 @@ struct sja1105_table_ops sja1105e_table_ops[BLK_IDX_MAX] = {
|
|||
};
|
||||
|
||||
/* SJA1105T: First generation, TTEthernet */
|
||||
struct sja1105_table_ops sja1105t_table_ops[BLK_IDX_MAX] = {
|
||||
const struct sja1105_table_ops sja1105t_table_ops[BLK_IDX_MAX] = {
|
||||
[BLK_IDX_SCHEDULE] = {
|
||||
.packing = sja1105_schedule_entry_packing,
|
||||
.unpacked_entry_size = sizeof(struct sja1105_schedule_entry),
|
||||
|
@ -1026,7 +1026,7 @@ struct sja1105_table_ops sja1105t_table_ops[BLK_IDX_MAX] = {
|
|||
};
|
||||
|
||||
/* SJA1105P: Second generation, no TTEthernet, no SGMII */
|
||||
struct sja1105_table_ops sja1105p_table_ops[BLK_IDX_MAX] = {
|
||||
const struct sja1105_table_ops sja1105p_table_ops[BLK_IDX_MAX] = {
|
||||
[BLK_IDX_L2_LOOKUP] = {
|
||||
.packing = sja1105pqrs_l2_lookup_entry_packing,
|
||||
.unpacked_entry_size = sizeof(struct sja1105_l2_lookup_entry),
|
||||
|
@ -1096,7 +1096,7 @@ struct sja1105_table_ops sja1105p_table_ops[BLK_IDX_MAX] = {
|
|||
};
|
||||
|
||||
/* SJA1105Q: Second generation, TTEthernet, no SGMII */
|
||||
struct sja1105_table_ops sja1105q_table_ops[BLK_IDX_MAX] = {
|
||||
const struct sja1105_table_ops sja1105q_table_ops[BLK_IDX_MAX] = {
|
||||
[BLK_IDX_SCHEDULE] = {
|
||||
.packing = sja1105_schedule_entry_packing,
|
||||
.unpacked_entry_size = sizeof(struct sja1105_schedule_entry),
|
||||
|
@ -1214,7 +1214,7 @@ struct sja1105_table_ops sja1105q_table_ops[BLK_IDX_MAX] = {
|
|||
};
|
||||
|
||||
/* SJA1105R: Second generation, no TTEthernet, SGMII */
|
||||
struct sja1105_table_ops sja1105r_table_ops[BLK_IDX_MAX] = {
|
||||
const struct sja1105_table_ops sja1105r_table_ops[BLK_IDX_MAX] = {
|
||||
[BLK_IDX_L2_LOOKUP] = {
|
||||
.packing = sja1105pqrs_l2_lookup_entry_packing,
|
||||
.unpacked_entry_size = sizeof(struct sja1105_l2_lookup_entry),
|
||||
|
@ -1284,7 +1284,7 @@ struct sja1105_table_ops sja1105r_table_ops[BLK_IDX_MAX] = {
|
|||
};
|
||||
|
||||
/* SJA1105S: Second generation, TTEthernet, SGMII */
|
||||
struct sja1105_table_ops sja1105s_table_ops[BLK_IDX_MAX] = {
|
||||
const struct sja1105_table_ops sja1105s_table_ops[BLK_IDX_MAX] = {
|
||||
[BLK_IDX_SCHEDULE] = {
|
||||
.packing = sja1105_schedule_entry_packing,
|
||||
.unpacked_entry_size = sizeof(struct sja1105_schedule_entry),
|
||||
|
|
|
@ -381,12 +381,12 @@ struct sja1105_static_config {
|
|||
struct sja1105_table tables[BLK_IDX_MAX];
|
||||
};
|
||||
|
||||
extern struct sja1105_table_ops sja1105e_table_ops[BLK_IDX_MAX];
|
||||
extern struct sja1105_table_ops sja1105t_table_ops[BLK_IDX_MAX];
|
||||
extern struct sja1105_table_ops sja1105p_table_ops[BLK_IDX_MAX];
|
||||
extern struct sja1105_table_ops sja1105q_table_ops[BLK_IDX_MAX];
|
||||
extern struct sja1105_table_ops sja1105r_table_ops[BLK_IDX_MAX];
|
||||
extern struct sja1105_table_ops sja1105s_table_ops[BLK_IDX_MAX];
|
||||
extern const struct sja1105_table_ops sja1105e_table_ops[BLK_IDX_MAX];
|
||||
extern const struct sja1105_table_ops sja1105t_table_ops[BLK_IDX_MAX];
|
||||
extern const struct sja1105_table_ops sja1105p_table_ops[BLK_IDX_MAX];
|
||||
extern const struct sja1105_table_ops sja1105q_table_ops[BLK_IDX_MAX];
|
||||
extern const struct sja1105_table_ops sja1105r_table_ops[BLK_IDX_MAX];
|
||||
extern const struct sja1105_table_ops sja1105s_table_ops[BLK_IDX_MAX];
|
||||
|
||||
size_t sja1105_table_header_packing(void *buf, void *hdr, enum packing_op op);
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue