Thomas Zimmermann <tzimmermann@xxxxxxx> writes: > Hi > > Am 29.01.24 um 12:04 schrieb Javier Martinez Canillas: >> Thomas Zimmermann <tzimmermann@xxxxxxx> writes: >> >>> Add screen_info_get_pci_dev() to find the PCI device of an instance >>> of screen_info. Does nothing on systems without PCI bus. >>> >>> Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> >>> --- >> >> [...] >> >>> +struct pci_dev *screen_info_pci_dev(const struct screen_info *si) >>> +{ >>> + struct resource res[SCREEN_INFO_MAX_RESOURCES]; >>> + size_t i, numres; >>> + int ret; >>> + >>> + ret = screen_info_resources(si, res, ARRAY_SIZE(res)); >>> + if (ret < 0) >>> + return ERR_PTR(ret); >>> + numres = ret; >>> + >> >> I would just drop the ret variable and assign the screen_info_resources() >> return value to numres. I think that makes the code easier to follow. > > The value of ret could be an errno code. We would effectively return > NULL for errors. And I just noticed that the function docs imply this. > But NULL is also a valid value if there is no PCI device. I'd prefer to > keep the errno-pointer around. > Yes. I meant making numres an int instead of size_t (SCREEN_INFO_MAX_RESOURCES is only 3 after all). That way you could just return ERR_PTR(numres) if is < 0. No strong preference, just think that the code is easier to read in that case. -- Best regards, Javier Martinez Canillas Core Platforms Red Hat