From: Andrew Lunn <and...@lunn.ch> Date: Wed, 14 Feb 2018 14:40:40 +0100
> linux/drivers$ grep -ir aspm * | grep MODULE_ > gpu/drm/amd/amdgpu/amdgpu_drv.c:MODULE_PARM_DESC(aspm, "ASPM support (1 = > enable, 0 = disable, -1 = auto)"); > gpu/drm/radeon/radeon_drv.c:MODULE_PARM_DESC(aspm, "ASPM support (1 = enable, > 0 = disable, -1 = auto)"); > infiniband/hw/hfi1/pcie.c:MODULE_PARM_DESC(aspm, "PCIe ASPM: 0: disable, 1: > enable, 2: dynamic"); > net/wireless/realtek/rtlwifi/rtl8192ee/sw.c:MODULE_PARM_DESC(aspm, "Set to 1 > to enable ASPM (default 1)\n"); > net/wireless/realtek/rtlwifi/rtl8188ee/sw.c:MODULE_PARM_DESC(aspm, "Set to 1 > to enable ASPM (default 1)\n"); > net/wireless/realtek/rtlwifi/rtl8821ae/sw.c:MODULE_PARM_DESC(aspm, "Set to 1 > to enable ASPM (default 1)\n"); > net/wireless/realtek/rtlwifi/rtl8192se/sw.c:MODULE_PARM_DESC(aspm, "Set to 1 > to enable ASPM (default 1)\n"); > net/wireless/realtek/rtlwifi/rtl8192ce/sw.c:MODULE_PARM_DESC(aspm, "Set to 1 > to enable ASPM (default 1)\n"); > net/wireless/realtek/rtlwifi/rtl8723be/sw.c:MODULE_PARM_DESC(aspm, "Set to 1 > to enable ASPM (default 1)\n"); > net/wireless/realtek/rtlwifi/rtl8192de/sw.c:MODULE_PARM_DESC(aspm, "Set to 1 > to enable ASPM (default 1)\n"); > net/wireless/realtek/rtlwifi/rtl8723ae/sw.c:MODULE_PARM_DESC(aspm, "Set to 1 > to enable ASPM (default 1)\n"); > staging/rts5208/rtsx.c:MODULE_PARM_DESC(aspm_l0s_l1_en, "enable device aspm"); > staging/rtlwifi/rtl8822be/sw.c:MODULE_PARM_DESC(aspm, "Set to 1 to enable > ASPM (default 1)\n"); > > This patch seems to have the exact opposite of everybody else already > does. > > Maybe you can follow the AMD example, and default to -1, since you are > proposing to mostly have it enabled, but disabled in one case? This is just another good reminder of why module parameters are a terrible user experience for just about anything device configuration related. "Let's add knob X using a module parameter!" Then a dozen or so other drivers copy the same thing with subtly, or not so subtly, different behaviors, defaults, and semantics. For users, this leads to misery.