/* All string identifier should be allocated using this, @usb_string_id() or @usb_string_ids_n() routine, to ensure that for example different functions don't wrongly assign different meanings to the same identifier.  */
int usb_string_ids_tab(struct usb_composite_dev *cdev, struct usb_string *str)
/* All string identifier should be allocated using this, @usb_string_id() or @usb_string_ids_n() routine, to ensure that for example different functions don't wrongly assign different meanings to the same identifier.  */
int usb_string_ids_tab(struct usb_composite_dev *cdev, struct usb_string *str)
{
	u8 next = cdev->next_string_id;
	for (; str->s; ++str) {
		if (next >= 254)
			return -ENODEV;
		str->id = ++next;
	}
	cdev->next_string_id = next;
	return 0;
}