Re: [PATCH 1/4] usb: misc: onboard-hub: resort by VID and PID

From: Matthias Kaehlcke
Date: Wed Jun 21 2023 - 10:06:39 EST


On Wed, Jun 21, 2023 at 12:38:00PM +0200, Benjamin Bara wrote:
> From: Benjamin Bara <benjamin.bara@xxxxxxxxxxx>
>
> Resort the existing entries by VID and then by PID to be able to find
> entries easier.

I don't think it actually makes it easier. In both the 'onboard_hub_id_table'
and the list of 'onboard_hub_pdata' the numerical VID isn't even visible
because the 'VENDOR_ID_*' constant is used, so the ordering becomes arbitrary
for a human reader, at least for the 99.9% who doesn't know all the VIDs by
heart.

For the 'VENDOR_ID_*' list one can argue in either way. My POV is that a
reader sees the name of the constant first, therefore the list should be
ordered by name. For the occasional case that a new hub model is added it
shouldn't be too hard to search the file for the VID to check if it already
exists.

> Signed-off-by: Benjamin Bara <benjamin.bara@xxxxxxxxxxx>
> ---
> drivers/usb/misc/onboard_usb_hub.c | 12 ++++++------
> drivers/usb/misc/onboard_usb_hub.h | 8 ++++----
> 2 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c
> index 12fc6eb67c3b..94006714c273 100644
> --- a/drivers/usb/misc/onboard_usb_hub.c
> +++ b/drivers/usb/misc/onboard_usb_hub.c
> @@ -329,10 +329,10 @@ static struct platform_driver onboard_hub_driver = {
>
> /************************** USB driver **************************/
>
> -#define VENDOR_ID_GENESYS 0x05e3
> #define VENDOR_ID_MICROCHIP 0x0424
> -#define VENDOR_ID_REALTEK 0x0bda
> #define VENDOR_ID_TI 0x0451
> +#define VENDOR_ID_GENESYS 0x05e3
> +#define VENDOR_ID_REALTEK 0x0bda
> #define VENDOR_ID_VIA 0x2109
>
> /*
> @@ -407,16 +407,16 @@ static void onboard_hub_usbdev_disconnect(struct usb_device *udev)
> }
>
> static const struct usb_device_id onboard_hub_id_table[] = {
> - { USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 */
> - { USB_DEVICE(VENDOR_ID_GENESYS, 0x0610) }, /* Genesys Logic GL852G USB 2.0 */
> { USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 */
> { USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2517) }, /* USB2517 USB 2.0 */
> + { USB_DEVICE(VENDOR_ID_TI, 0x8140) }, /* TI USB8041 3.0 */
> + { USB_DEVICE(VENDOR_ID_TI, 0x8142) }, /* TI USB8041 2.0 */
> + { USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 */
> + { USB_DEVICE(VENDOR_ID_GENESYS, 0x0610) }, /* Genesys Logic GL852G USB 2.0 */
> { USB_DEVICE(VENDOR_ID_REALTEK, 0x0411) }, /* RTS5411 USB 3.1 */
> { USB_DEVICE(VENDOR_ID_REALTEK, 0x5411) }, /* RTS5411 USB 2.1 */
> { USB_DEVICE(VENDOR_ID_REALTEK, 0x0414) }, /* RTS5414 USB 3.2 */
> { USB_DEVICE(VENDOR_ID_REALTEK, 0x5414) }, /* RTS5414 USB 2.1 */
> - { USB_DEVICE(VENDOR_ID_TI, 0x8140) }, /* TI USB8041 3.0 */
> - { USB_DEVICE(VENDOR_ID_TI, 0x8142) }, /* TI USB8041 2.0 */
> { USB_DEVICE(VENDOR_ID_VIA, 0x0817) }, /* VIA VL817 3.1 */
> { USB_DEVICE(VENDOR_ID_VIA, 0x2817) }, /* VIA VL817 2.0 */
> {}
> diff --git a/drivers/usb/misc/onboard_usb_hub.h b/drivers/usb/misc/onboard_usb_hub.h
> index aca5f50eb0da..ff8925aa6d3a 100644
> --- a/drivers/usb/misc/onboard_usb_hub.h
> +++ b/drivers/usb/misc/onboard_usb_hub.h
> @@ -14,10 +14,6 @@ static const struct onboard_hub_pdata microchip_usb424_data = {
> .reset_us = 1,
> };
>
> -static const struct onboard_hub_pdata realtek_rts5411_data = {
> - .reset_us = 0,
> -};
> -
> static const struct onboard_hub_pdata ti_tusb8041_data = {
> .reset_us = 3000,
> };
> @@ -30,6 +26,10 @@ static const struct onboard_hub_pdata genesys_gl852g_data = {
> .reset_us = 50,
> };
>
> +static const struct onboard_hub_pdata realtek_rts5411_data = {
> + .reset_us = 0,
> +};
> +
> static const struct onboard_hub_pdata vialab_vl817_data = {
> .reset_us = 10,
> };
>
> --
> 2.34.1
>