argv4.package.count = 1;
        argv4.package.elements = &obj_args;
 
-       obj = acpi_evaluate_dsm(ACPI_HANDLE(mac_cb->dev),
-                               &hns_dsaf_acpi_dsm_guid, 0,
-                               HNS_OP_GET_PORT_TYPE_FUNC, &argv4);
-
-       if (!obj || obj->type != ACPI_TYPE_INTEGER)
+       obj = acpi_evaluate_dsm_typed(ACPI_HANDLE(mac_cb->dev),
+                                     &hns_dsaf_acpi_dsm_guid, 0,
+                                     HNS_OP_GET_PORT_TYPE_FUNC, &argv4,
+                                     ACPI_TYPE_INTEGER);
+       if (!obj)
                return phy_if;
 
        phy_if = obj->integer.value ?
        argv4.package.count = 1;
        argv4.package.elements = &obj_args;
 
-       obj = acpi_evaluate_dsm(ACPI_HANDLE(mac_cb->dev),
-                               &hns_dsaf_acpi_dsm_guid, 0,
-                               HNS_OP_GET_SFP_STAT_FUNC, &argv4);
-
-       if (!obj || obj->type != ACPI_TYPE_INTEGER)
+       obj = acpi_evaluate_dsm_typed(ACPI_HANDLE(mac_cb->dev),
+                                     &hns_dsaf_acpi_dsm_guid, 0,
+                                     HNS_OP_GET_SFP_STAT_FUNC, &argv4,
+                                     ACPI_TYPE_INTEGER);
+       if (!obj)
                return -ENODEV;
 
        *sfp_prsnt = obj->integer.value;