diff options
Diffstat (limited to '0009-v4-platform-x86-asus-wmi-add-clean-up-structs.patch')
-rw-r--r-- | 0009-v4-platform-x86-asus-wmi-add-clean-up-structs.patch | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/0009-v4-platform-x86-asus-wmi-add-clean-up-structs.patch b/0009-v4-platform-x86-asus-wmi-add-clean-up-structs.patch new file mode 100644 index 000000000000..27ea10404d76 --- /dev/null +++ b/0009-v4-platform-x86-asus-wmi-add-clean-up-structs.patch @@ -0,0 +1,92 @@ +From: "Luke D. Jones" <luke@ljones.dev> +To: hdegoede@redhat.com +Cc: corentin.chary@gmail.com, ilpo.jarvinen@linux.intel.com, + platform-driver-x86@vger.kernel.org, + linux-kernel@vger.kernel.org, "Luke D. Jones" <luke@ljones.dev> +Subject: [PATCH v4 9/9] platform/x86: asus-wmi: cleanup main struct to avoid some holes +Date: Thu, 4 Apr 2024 13:16:52 +1300 [thread overview] +Message-ID: <20240404001652.86207-10-luke@ljones.dev> (raw) +In-Reply-To: <20240404001652.86207-1-luke@ljones.dev> + +Reorganises some attr-available calls to remove a few unrequired +booleans in the main driver struct which combined with some +reorganisation prevents a series of large holes seen with pahole. + +Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> +Signed-off-by: Luke D. Jones <luke@ljones.dev> +--- + drivers/platform/x86/asus-wmi.c | 17 ++++++----------- + 1 file changed, 6 insertions(+), 11 deletions(-) + +diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c +index d06d9e0c498c..2d2b4eca7fd8 100644 +--- a/drivers/platform/x86/asus-wmi.c ++++ b/drivers/platform/x86/asus-wmi.c +@@ -254,6 +254,9 @@ struct asus_wmi { + u32 tablet_switch_dev_id; + bool tablet_switch_inverted; + ++ /* The ROG Ally device requires the MCU USB device be disconnected before suspend */ ++ bool ally_mcu_usb_switch; ++ + enum fan_type fan_type; + enum fan_type gpu_fan_type; + enum fan_type mid_fan_type; +@@ -266,9 +269,7 @@ struct asus_wmi { + u8 fan_boost_mode_mask; + u8 fan_boost_mode; + +- bool charge_mode_available; + bool egpu_enable_available; +- bool egpu_connect_available; + bool dgpu_disable_available; + u32 gpu_mux_dev; + +@@ -309,9 +310,6 @@ struct asus_wmi { + + bool fnlock_locked; + +- /* The ROG Ally device requires the MCU USB device be disconnected before suspend */ +- bool ally_mcu_usb_switch; +- + struct asus_wmi_debug debug; + + struct asus_wmi_driver *driver; +@@ -4391,11 +4389,11 @@ static umode_t asus_sysfs_is_visible(struct kobject *kobj, + else if (attr == &dev_attr_als_enable.attr) + devid = ASUS_WMI_DEVID_ALS_ENABLE; + else if (attr == &dev_attr_charge_mode.attr) +- ok = asus->charge_mode_available; ++ devid = ASUS_WMI_DEVID_CHARGE_MODE; + else if (attr == &dev_attr_egpu_enable.attr) + ok = asus->egpu_enable_available; + else if (attr == &dev_attr_egpu_connected.attr) +- ok = asus->egpu_connect_available; ++ devid = ASUS_WMI_DEVID_EGPU_CONNECTED; + else if (attr == &dev_attr_dgpu_disable.attr) + ok = asus->dgpu_disable_available; + else if (attr == &dev_attr_gpu_mux_mode.attr) +@@ -4423,7 +4421,7 @@ static umode_t asus_sysfs_is_visible(struct kobject *kobj, + else if (attr == &dev_attr_boot_sound.attr) + devid = ASUS_WMI_DEVID_BOOT_SOUND; + else if (attr == &dev_attr_panel_od.attr) +- ok = asus->panel_overdrive_available; ++ devid = ASUS_WMI_DEVID_PANEL_OD; + else if (attr == &dev_attr_mini_led_mode.attr) + ok = asus->mini_led_dev_id != 0; + else if (attr == &dev_attr_available_mini_led_mode.attr) +@@ -4674,12 +4672,9 @@ static int asus_wmi_add(struct platform_device *pdev) + asus->nv_dynamic_boost = 5; + asus->nv_temp_target = 75; + +- asus->charge_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_CHARGE_MODE); + asus->egpu_enable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_EGPU); +- asus->egpu_connect_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_EGPU_CONNECTED); + asus->dgpu_disable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_DGPU); + asus->kbd_rgb_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_STATE); +- asus->panel_overdrive_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_PANEL_OD); + asus->ally_mcu_usb_switch = acpi_has_method(NULL, ASUS_USB0_PWR_EC0_CSEE) + && dmi_match(DMI_BOARD_NAME, "RC71L"); + +-- +2.44.0 |