Message ID | 20230720091903.297066-2-vadim.fedorenko@linux.dev (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Create common DPLL configuration API | expand |
Thu, Jul 20, 2023 at 11:18:53AM CEST, vadim.fedorenko@linux.dev wrote: >From: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com> > >Remove wrong index adjustement, which is leftover from adding s/adjustement/adjustment/ >support for sparse enums. >enum.entries_by_val() function shall not subtract the start-value, as >it is indexed with real enum value. > >Fixes: c311aaa74ca1 ("tools: ynl: fix enum-as-flags in the generic CLI") >Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com> >Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Reviewed-by: Jiri Pirko <jiri@nvidia.com>
>-----Original Message----- >From: Jiri Pirko <jiri@resnulli.us> >Sent: Thursday, July 20, 2023 3:40 PM > >Thu, Jul 20, 2023 at 11:18:53AM CEST, vadim.fedorenko@linux.dev wrote: >>From: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com> >> >>Remove wrong index adjustement, which is leftover from adding > >s/adjustement/adjustment/ > Sure will fix, Although those "tools: ynl" patches were not intended to be a part of dpll Series, they are being discussed on the other thread: https://lore.kernel.org/netdev/20230718162225.231775-1-arkadiusz.kubalewski@intel.com/ I think Vadim have sent them, because I included them in the branch candidate for next version, seems was not clear enough on that.. I think we can skip them for next submission. Thank you! Arkadiusz > >>support for sparse enums. >>enum.entries_by_val() function shall not subtract the start-value, as >>it is indexed with real enum value. >> >>Fixes: c311aaa74ca1 ("tools: ynl: fix enum-as-flags in the generic >>CLI") >>Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com> >>Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> > >Reviewed-by: Jiri Pirko <jiri@nvidia.com>
On 20.07.2023 14:58, Kubalewski, Arkadiusz wrote: >> -----Original Message----- >> From: Jiri Pirko <jiri@resnulli.us> >> Sent: Thursday, July 20, 2023 3:40 PM >> >> Thu, Jul 20, 2023 at 11:18:53AM CEST, vadim.fedorenko@linux.dev wrote: >>> From: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com> >>> >>> Remove wrong index adjustement, which is leftover from adding >> >> s/adjustement/adjustment/ >> > > Sure will fix, > Although those "tools: ynl" patches were not intended to be a part of dpll > Series, they are being discussed on the other thread: > https://lore.kernel.org/netdev/20230718162225.231775-1-arkadiusz.kubalewski@intel.com/ > > I think Vadim have sent them, because I included them in the branch candidate > for next version, seems was not clear enough on that.. > I think we can skip them for next submission. Yeah, I just realised that these patches have been sent earlier as separate series and are still under review. Once they are committed I'll remove them from DPLL series, but for now they are needed for spec generation of DPLL yaml, so it's good to have them anyway. > Thank you! > Arkadiusz > >> >>> support for sparse enums. >>> enum.entries_by_val() function shall not subtract the start-value, as >>> it is indexed with real enum value. >>> >>> Fixes: c311aaa74ca1 ("tools: ynl: fix enum-as-flags in the generic >>> CLI") >>> Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com> >>> Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> >> >> Reviewed-by: Jiri Pirko <jiri@nvidia.com> >
diff --git a/tools/net/ynl/lib/ynl.py b/tools/net/ynl/lib/ynl.py index 1b3a36fbb1c3..3908438d3716 100644 --- a/tools/net/ynl/lib/ynl.py +++ b/tools/net/ynl/lib/ynl.py @@ -420,16 +420,14 @@ class YnlFamily(SpecFamily): def _decode_enum(self, rsp, attr_spec): raw = rsp[attr_spec['name']] enum = self.consts[attr_spec['enum']] - i = attr_spec.get('value-start', 0) if 'enum-as-flags' in attr_spec and attr_spec['enum-as-flags']: value = set() while raw: if raw & 1: - value.add(enum.entries_by_val[i].name) + value.add(enum.entries_by_val[raw & 1].name) raw >>= 1 - i += 1 else: - value = enum.entries_by_val[raw - i].name + value = enum.entries_by_val[raw].name rsp[attr_spec['name']] = value def _decode_binary(self, attr, attr_spec):