On 10/05/2020 18:16, Leon Romanovsky wrote: > On Sun, May 10, 2020 at 04:05:45PM +0300, Gal Pressman wrote: >> On 10/05/2020 15:29, Leon Romanovsky wrote: >>> On Sun, May 10, 2020 at 02:59:18PM +0300, Gal Pressman wrote: >>>> diff --git a/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h b/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h >>>> index 96b104ab5415..efdeebc9ea9b 100644 >>>> --- a/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h >>>> +++ b/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h >>>> @@ -37,7 +37,7 @@ enum efa_admin_aq_feature_id { >>>> EFA_ADMIN_NETWORK_ATTR = 3, >>>> EFA_ADMIN_QUEUE_ATTR = 4, >>>> EFA_ADMIN_HW_HINTS = 5, >>>> - EFA_ADMIN_FEATURES_OPCODE_NUM = 8, >>>> + EFA_ADMIN_HOST_INFO = 6, >>>> }; >>>> >>>> /* QP transport type */ >>>> @@ -799,6 +799,55 @@ struct efa_admin_mmio_req_read_less_resp { >>>> u32 reg_val; >>>> }; >>>> >>>> +enum efa_admin_os_type { >>>> + EFA_ADMIN_OS_LINUX = 0, >>>> + EFA_ADMIN_OS_WINDOWS = 1, >>> >>> Not used. >> >> That's the device interface.. > > It doesn't matter, we don't add code/defines that are not in use. First of all, that's not true, look at mlx5 device spec for example. It's 10k lines long and has many unused values.. I don't think we should go as far as commits like 1759d322f4ba ("net/mlx5: Add hardware definitions for sub functions") which adds new commands interface without implementing it (nor does any following patch), but exposing the related bits directly in the scope of the feature that's being introduced is different. The driver version fields that you don't like are going to stay there as they're the device ABI, and IMHO "hiding" them as reserved has zero upsides and won't change the fact that they're unused.