> > Also, i thought that there could be > > some hard to notice problems, when, for example, we first add > > unnamed-gpio-in[0...1023], then add another 1024 pins, where count > > again goes from 0 to 1023. And we would get collision and failure, > > unless we know, that we already have 1024 objects with this name. > > But IIUC qdev_init_gpio_in/out (the non-named variants) should only be > called once. So if it breaks it's a feature.
Ok ok ok... I can try to reengineer this and see what happens. If it works fine, will such rework be accepted? [*] expansion would still be slow, but we could deprecate it. I have just done a search of "[*]" across all *.c files, and here is what i came up with: 1. memory_region_init() 2. xlnx_zynqmp_init() 3. qdev_init_gpio_in_named() 4. qdev_init_gpio_out_named() 5. qdev_connect_gpio_out_named() 6. spapr_dr_connector_new() Cases 2, 3, 4 can be reengineered for sure. The rest - i don't know, however perhaps they are not common cases. I think (1) could also be problematic. How many regions with the same name can we have? Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia