Some drivers (or things outside NM like 'powertop') may turn powersave on, so don't touch it unless explicitly configured by user.
To achieve this, add new 'default' and 'ignore' options; the former can be used to fall back to a globally configured setting, while the latter tells NM not to touch the current setting.
When 'default' is specified, a missing global default configuration is equivalent to 'ignore'.
It is possible to enable Wi-Fi power saving for all connections by dropping a file in /etc/NetworkManager/conf.d with the following content:
10b2222 wifi: don't touch by default current powersave setting
clients/cli/settings.c | 50 ++++++++++++++++++++++----------
libnm-core/nm-setting-wireless.c | 15 +++++-----
libnm-core/nm-setting-wireless.h | 19 ++++++++++++
libnm/libnm.ver | 1 +
man/NetworkManager.conf.xml.in | 5 ++++
src/devices/wifi/nm-device-wifi.c | 41 +++++++++++++++++++++-----
src/settings/plugins/ifcfg-rh/reader.c | 23 ++++++++++++++-
src/settings/plugins/ifcfg-rh/writer.c | 17 ++++++++++-
8 files changed, 139 insertions(+), 32 deletions(-)