On Tue, Sep 12, 2023 at 07:22:21AM +0200, Christophe JAILLET wrote: ... > > +static void ksz_drive_strength_error(struct ksz_device *dev, > > + const struct ksz_drive_strength *array, > > + size_t array_size, int milliamp) > > +{ > > + char supported_values[100]; > > + size_t remaining_size; > > + int added_len; > > + char *ptr; > > + int i; > > + > > + remaining_size = sizeof(supported_values); > > + ptr = supported_values; > > + > > + for (i = 0; i < array_size; i++) { > > + added_len = snprintf(ptr, remaining_size, > > + i == 0 ? "%d" : ", %d", array[i].milliamp); > > + > > + if (added_len < 0 || added_len >= remaining_size) > > Nit: snprintf() does not return negatives value. thx! will fix it ... > > +static int ksz_parse_drive_strength(struct ksz_device *dev) > > +{ > > + struct ksz_driver_strength_prop of_props[] = { > > + [KSZ_DRIVER_STRENGTH_HI] = { > > + .name = "microchip,hi-drive-strength-microamp", > > + .offset = SW_HI_SPEED_DRIVE_STRENGTH_S, > > + .value = -1 > > + }, > > + [KSZ_DRIVER_STRENGTH_LO] = { > > + .name = "microchip,lo-drive-strength-microamp", > > + .offset = SW_LO_SPEED_DRIVE_STRENGTH_S, > > + .value = -1 > > + }, > > + [KSZ_DRIVER_STRENGTH_IO] = { > > + .name = "microchip,io-drive-strength-microamp", > > + .offset = 0, /* don't care */ > > + .value = -1 > > + }, > > + }; > > + struct device_node *np = dev->dev->of_node; > > + bool found = false; > > + int i, ret; > > + > > + for (i = 0; i < ARRAY_SIZE(of_props); i++) { > > + ret = of_property_read_u32(np, of_props[i].name, > > + &of_props[i].value); > > + if (ret && ret != -EINVAL) > > + dev_warn(dev->dev, "Failed to read %s\n", > > + of_props[i].name); > > + if (ret) > > + continue; > > + > > + found = true; > > Nit: break? No, we may have more then one property. Regards, Oleksij -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |