+int genphy_c45_template_testmode(struct phy_device *phydev, int test_mode)
+{
+ int ctrl = 0;
+
+ switch (test_mode) {
+ case 0:
+ ctrl = MDIO_PMA_10GBT_TESTMODE_NORMAL;
+ break;
+
+ case 1:
+ ctrl = MDIO_PMA_10GBT_TESTMODE_1;
+ break;
+
+ case 2:
+ ctrl = MDIO_PMA_10GBT_TESTMODE_2;
+ break;
+
+ case 3:
+ ctrl = MDIO_PMA_10GBT_TESTMODE_3;
+ break;
+
+ case 4:
+ ctrl = MDIO_PMA_10GBT_TESTMODE_4;
+ break;
+
+ case 5:
+ ctrl = MDIO_PMA_10GBT_TESTMODE_5;
+ break;
+
+ case 6:
+ ctrl = MDIO_PMA_10GBT_TESTMODE_6;
+ break;
+
+ case 7:
+ ctrl = MDIO_PMA_10GBT_TESTMODE_7;
+ break;
+
+ default:
+ return -EINVAL;
+ }
You should be able to simplify this using FIELD_PREP().
Andrew