n = 2;
 
        /* Get length, MSB first */
-       len = be16_to_cpu(get_unaligned((__be16 *)(fp+n))); n += 2;
+       len = get_unaligned_be16(fp + n);
+       n += 2;
 
        IRDA_DEBUG(4, "%s(), len=%d\n", __func__, len);
 
        /* Get object ID, MSB first */
-       obj_id = be16_to_cpu(get_unaligned((__be16 *)(fp+n))); n += 2;
+       obj_id = get_unaligned_be16(fp + n);
+       n += 2;
 
        type = fp[n++];
        IRDA_DEBUG(4, "%s(), Value type = %d\n", __func__, type);
                value = irias_new_string_value(fp+n);
                break;
        case IAS_OCT_SEQ:
-               value_len = be16_to_cpu(get_unaligned((__be16 *)(fp+n)));
+               value_len = get_unaligned_be16(fp + n);
                n += 2;
 
                /* Will truncate to IAS_MAX_OCTET_STRING bytes */