set noparent

# Please get a review from someone who's knowledgeable (per commit history)
# about the component whose constants you're changing.
derat@chromium.org
vapier@chromium.org
benchan@chromium.org
