26/03/2021 16:37, Ferruh Yigit: > On 3/25/2021 10:20 AM, Thomas Monjalon wrote: > > 25/03/2021 11:00, Ferruh Yigit: > >> On 3/25/2021 5:53 AM, Andrew Rybchenko wrote: > >>> On 3/24/21 11:00 PM, Thomas Monjalon wrote: > >>>> 24/03/2021 19:08, Ferruh Yigit: > >>>>> On 3/21/2021 9:00 AM, Thomas Monjalon wrote: > >>>>>> The header file rte_eth_ctrl.h should not be needed because > >>>>>> this legacy filtering API is completely replaced with the rte_flow API. > >>>>>> However some definitions from this file are still used by some drivers, > >>>>>> but such usage is already covered by an implicit include via > >>>>>> rte_ethdev.h. > >>>>>> > >>>>>> Signed-off-by: Thomas Monjalon <tho...@monjalon.net> > >>>>>> Acked-by: Rosen Xu <rosen...@intel.com> > >>>>>> Acked-by: Hemant Agrawal <hemant.agra...@nxp.com> > >>>>>> --- > >>>>>> drivers/net/dpaa2/dpaa2_ptp.c | 1 - > >>>>>> drivers/net/iavf/iavf_hash.c | 1 - > >>>>>> drivers/net/ice/ice_acl_filter.c | 1 - > >>>>>> drivers/net/ice/ice_hash.c | 1 - > >>>>>> drivers/net/ice/ice_switch_filter.c | 1 - > >>>>>> drivers/net/igc/igc_filter.h | 1 - > >>>>>> drivers/net/ipn3ke/ipn3ke_flow.c | 1 - > >>>>> > >>>>> Although this will work, if the above drives are using the defines from > >>>>> the > >>>>> header file, isn't it better to include it explicitly? > >>>>> > >>>>> What is the benefit of including the header implicitly? > >>>> > >>>> The benefit is to progressively remove rte_eth_ctrl.h. > >>>> I want it to disappear. > >>>> > >>> > >>> +1 > >>> > >> > >> This is just hiding its usage, the patch is not making it less used as a > >> step > >> forward to remove it. > > > > Yes you're right. The only step forward is esthetic: > > hiding something which should be removed. > > And maybe some of these files don't need the include at all. > > > >> But anyway I guess it doesn't worth spending more time to discuss it ... > > > > Feel free to reject if you feel it is not a good step. > > > > What do you think doing exact opposite, > > remove "#include <rte_eth_ctrl.h>" from 'rte_ethdev.h', > and include 'rte_eth_ctrl.h' explicitly where ever it is required, > > this can make more clear what components use the 'rte_eth_ctrl.h' and why, > which > may help clearing them to remove the header. Plus it highlights if a new PMD > wants to use the header, we can catch it easier. > > When I tried above approach, it highlighted that not only drivers, libraries > also using this header, 'librte_ehtdev' & 'librte_flow_classify'. > And for 'ethdev', the structs defined in the 'rte_eth_ctrl.h' are part of > public > structs, so it is hard to remove them. > Some PMD specific APIs also needs 'rte_eth_ctrl.h' header, but that is hidden > because of the implicit include, but again some structs in the > 'rte_eth_ctrl.h' > are part of public APIs (although they are experimental). > > Also, it turned out that same required headers in the drivers are hidden > because > of this implicit include in 'rte_ethdev.h', I will send a fix for it soon.
OK thanks