On Mon, Mar 20, 2023 at 03:16:31PM +0200, Andy Shevchenko wrote: > ... > -#define pci_bus_for_each_resource(bus, res, i) \ > - for (i = 0; \ > - (res = pci_bus_resource_n(bus, i)) || i < PCI_BRIDGE_RESOURCE_NUM; \ > - i++) > +#define __pci_bus_for_each_resource(bus, res, __i, vartype) \ > + for (vartype __i = 0; \ > + res = pci_bus_resource_n(bus, __i), __i < PCI_BRIDGE_RESOURCE_NUM; \ > + __i++) > + > +#define pci_bus_for_each_resource(bus, res, i) \ > + __pci_bus_for_each_resource(bus, res, i, ) > + > +#define pci_bus_for_each_resource_p(bus, res) \ > + __pci_bus_for_each_resource(bus, res, __i, unsigned int) I like these changes a lot, too! Same comments about _p vs _idx and __pci_bus_for_each_resource(..., vartype). Also would prefer 80 char max instead of 81.