def METHOD_NAME(self, port_num):
    QSFP_RESET_REGISTER_DEVICE_FILE = "/sys/devices/platform/ms200i_cpld/qsfp_reset"
    # Check for invalid port_num
    if port_num < self.port_start or port_num > self.port_end:
        return False
    try:
        reg_file = open(QSFP_RESET_REGISTER_DEVICE_FILE, "r+")
    except IOError as e:
        print("Error: unable to open file: %s" % str(e))
        return False
    content = reg_file.readline().rstrip()
    # File content is a string containing the hex representation of the register
    reg_value = int(content, 16)
    # Determind if port_num start from 1 or 0
    if self.port_start == 1:
        bit_index = port_num - 1
    else:
        bit_index = port_num
    # Mask off the bit corresponding to our port
    mask = (1 << bit_index)
    # ResetL is active low
    reg_value = reg_value & ~mask
    # Convert our register value back to a hex string and write back
    reg_file.seek(0)
    reg_file.write(hex(reg_value).rstrip('L'))
    reg_file.close()
    # Sleep 1 second to allow it to settle
    time.sleep(1)
    # Flip the bit back high and write back to the register to take port out of reset
    try:
        reg_file = open(QSFP_RESET_REGISTER_DEVICE_FILE, "w")
    except IOError as e:
        print("Error: unable to open file: %s" % str(e))
        return False
    reg_value = reg_value | mask
    reg_file.seek(0)
    reg_file.write(hex(reg_value).rstrip('L'))
    reg_file.close()
    return True