Re: [PATCH net-next v5 04/13] ax88179_178a: Add HW support for AX179A-based chips

From: Birger Koblitz

Date: Thu Aug 06 2026 - 15:32:41 EST



On 02/08/2026 23:28, Andrew Lunn wrote:
This is more of a nitpick, given how much work you have already done
on this driver. I think designated initializer syntax could make this
more readable:

num ax_bulk_in_speeds {
BULK_IN_SPEED_1G_SS = 0,
BULK_IN_SPEED_1G_HS = 1,
BULK_IN_SPEED_100_FULL_SS = 2,
BULK_IN_SPEED_100_HALF_SS = 3,
...
};


+static const struct ax_bulkin_settings AX88179A_BULKIN_SIZE[] = {
[BULK_IN_SPEED_1G_SS] = {5, 0x7B, 0x00, 0x17, 0x0F},
[BULK_IN_SPEED_1G_HS] = {5, 0xC0, 0x02, 0x06, 0x0F},

+static void ax88179a_bulkin_config(struct usbnet *dev, u8 link_sts)
+{
+ struct ax88179_data *ax179_data = dev->driver_priv;
+ const struct ax_bulkin_settings *bulkin_data;
+ int index = 0;
+
+ switch (ax179_data->speed) {
+ case ETHER_LINK_2500: /* AX88279 only */
+ index = BULK_IN_SPEED_2500;
+ break;
+
+ case ETHER_LINK_1000: /* AX88279 & AX88178A */
+ if (ax179_data->chip_version == AX_VERSION_AX88279) {
+ if (link_sts & AX_USB_SS)
+ index = BULK_IN_SPEED_1G_SS;
+ else if (link_sts & AX_USB_HS)
+ index = BULK_IN_SPEED_HS;

This removes the 1, 2, 3, etc making the relationship more obvious.

Will be done in v6. And the change even allows to remove the above
dependencies on the chip versions in ax88179a_bulkin_config(), since
the different ax_bulkin_settings structures no longer need to start at 0
index. Much more than nitpick!

Birger