clarifying i2c_get_chip_for_busnum()
Sahaj Sarup
sahaj.sarup at linaro.org
Tue Aug 20 15:01:04 CEST 2024
On Tue, 20 Aug 2024 at 17:21, Quentin Schulz <quentin.schulz at cherry.de> wrote:
>
> Hi,
>
> On 8/20/24 11:12 AM, Sahaj Sarup wrote:
> > [You don't often get email from sahaj.sarup at linaro.org. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> >
> > Hi,
> >
> > In `include/i2c.h` , the udevice pointer and return value definition
> > seems to be confusing.
> >
> > ```
> > /**
> > * i2c_get_chip_for_busnum() - get a device to use to access a chip on
> > .
> > .
> > .
> > * @devp: Returns pointer to new device if found or -ENODEV if not
> > * found
> > */
> > ```
> >
> > Should this instead be:
> >
> > ```
> > * @devp: Returns pointer to new device or NULL if not found
> > * Return: 0 on success, -ENODEV on failure
> > ```
> >
>
> For the @devp part, seems like it as uclass_get_device_by_seq sets it to
> NULL and i2c_get_chip only modifies it when a device is found.
>
> For the return part... not sure. We don't overwrite the return value we
> get from functions we call, so not sure we can guarantee that only
> ENODEV will be returned?
make sense, devp can't return -ENODEV, ofc, and Return returns 0 or -ve.
So it can be closer to:
```
* @devp: Returns pointer to new device or NULL if chip is not found
* Return: 0 on success, -ve on failure to find bus or chip
```
>
> Cheers,
> Quentin
More information about the U-Boot
mailing list