asus-wmi.c (9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e) asus-wmi.c (77ee9d299e6d69a75e9a3e15a1f09cd7c8f88ff0)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Asus PC WMI hotkey driver
4 *
5 * Copyright(C) 2010 Intel Corporation.
6 * Copyright(C) 2010-2011 Corentin Chary <corentin.chary@gmail.com>
7 *
8 * Portions based on wistron_btns.c:

--- 223 unchanged lines hidden (view full) ---

232 int fan_pwm_mode;
233 int gpu_fan_pwm_mode;
234 int agfn_pwm;
235
236 bool fan_boost_mode_available;
237 u8 fan_boost_mode_mask;
238 u8 fan_boost_mode;
239
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Asus PC WMI hotkey driver
4 *
5 * Copyright(C) 2010 Intel Corporation.
6 * Copyright(C) 2010-2011 Corentin Chary <corentin.chary@gmail.com>
7 *
8 * Portions based on wistron_btns.c:

--- 223 unchanged lines hidden (view full) ---

232 int fan_pwm_mode;
233 int gpu_fan_pwm_mode;
234 int agfn_pwm;
235
236 bool fan_boost_mode_available;
237 u8 fan_boost_mode_mask;
238 u8 fan_boost_mode;
239
240 bool charge_mode_available;
240 bool egpu_enable_available;
241 bool dgpu_disable_available;
242 bool gpu_mux_mode_available;
243
244 bool kbd_rgb_mode_available;
245 bool kbd_rgb_state_available;
246
247 bool throttle_thermal_policy_available;

--- 333 unchanged lines hidden (view full) ---

581 if (!asus->tablet_switch_dev_id)
582 return;
583
584 result = asus_wmi_get_devstate_simple(asus, asus->tablet_switch_dev_id);
585 if (result >= 0)
586 asus_wmi_tablet_sw_report(asus, result);
587}
588
241 bool egpu_enable_available;
242 bool dgpu_disable_available;
243 bool gpu_mux_mode_available;
244
245 bool kbd_rgb_mode_available;
246 bool kbd_rgb_state_available;
247
248 bool throttle_thermal_policy_available;

--- 333 unchanged lines hidden (view full) ---

582 if (!asus->tablet_switch_dev_id)
583 return;
584
585 result = asus_wmi_get_devstate_simple(asus, asus->tablet_switch_dev_id);
586 if (result >= 0)
587 asus_wmi_tablet_sw_report(asus, result);
588}
589
590/* Charging mode, 1=Barrel, 2=USB ******************************************/
591static ssize_t charge_mode_show(struct device *dev,
592 struct device_attribute *attr, char *buf)
593{
594 struct asus_wmi *asus = dev_get_drvdata(dev);
595 int result, value;
596
597 result = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_CHARGE_MODE, &value);
598 if (result < 0)
599 return result;
600
601 return sysfs_emit(buf, "%d\n", value & 0xff);
602}
603
604static DEVICE_ATTR_RO(charge_mode);
605
589/* dGPU ********************************************************************/
590static ssize_t dgpu_disable_show(struct device *dev,
591 struct device_attribute *attr, char *buf)
592{
593 struct asus_wmi *asus = dev_get_drvdata(dev);
594 int result;
595
596 result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_DGPU);

--- 2860 unchanged lines hidden (view full) ---

3457
3458static DEVICE_ATTR_WO(cpufv);
3459
3460static struct attribute *platform_attributes[] = {
3461 &dev_attr_cpufv.attr,
3462 &dev_attr_camera.attr,
3463 &dev_attr_cardr.attr,
3464 &dev_attr_touchpad.attr,
606/* dGPU ********************************************************************/
607static ssize_t dgpu_disable_show(struct device *dev,
608 struct device_attribute *attr, char *buf)
609{
610 struct asus_wmi *asus = dev_get_drvdata(dev);
611 int result;
612
613 result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_DGPU);

--- 2860 unchanged lines hidden (view full) ---

3474
3475static DEVICE_ATTR_WO(cpufv);
3476
3477static struct attribute *platform_attributes[] = {
3478 &dev_attr_cpufv.attr,
3479 &dev_attr_camera.attr,
3480 &dev_attr_cardr.attr,
3481 &dev_attr_touchpad.attr,
3482 &dev_attr_charge_mode.attr,
3465 &dev_attr_egpu_enable.attr,
3466 &dev_attr_dgpu_disable.attr,
3467 &dev_attr_gpu_mux_mode.attr,
3468 &dev_attr_lid_resume.attr,
3469 &dev_attr_als_enable.attr,
3470 &dev_attr_fan_boost_mode.attr,
3471 &dev_attr_throttle_thermal_policy.attr,
3472 &dev_attr_panel_od.attr,

--- 13 unchanged lines hidden (view full) ---

3486 else if (attr == &dev_attr_cardr.attr)
3487 devid = ASUS_WMI_DEVID_CARDREADER;
3488 else if (attr == &dev_attr_touchpad.attr)
3489 devid = ASUS_WMI_DEVID_TOUCHPAD;
3490 else if (attr == &dev_attr_lid_resume.attr)
3491 devid = ASUS_WMI_DEVID_LID_RESUME;
3492 else if (attr == &dev_attr_als_enable.attr)
3493 devid = ASUS_WMI_DEVID_ALS_ENABLE;
3483 &dev_attr_egpu_enable.attr,
3484 &dev_attr_dgpu_disable.attr,
3485 &dev_attr_gpu_mux_mode.attr,
3486 &dev_attr_lid_resume.attr,
3487 &dev_attr_als_enable.attr,
3488 &dev_attr_fan_boost_mode.attr,
3489 &dev_attr_throttle_thermal_policy.attr,
3490 &dev_attr_panel_od.attr,

--- 13 unchanged lines hidden (view full) ---

3504 else if (attr == &dev_attr_cardr.attr)
3505 devid = ASUS_WMI_DEVID_CARDREADER;
3506 else if (attr == &dev_attr_touchpad.attr)
3507 devid = ASUS_WMI_DEVID_TOUCHPAD;
3508 else if (attr == &dev_attr_lid_resume.attr)
3509 devid = ASUS_WMI_DEVID_LID_RESUME;
3510 else if (attr == &dev_attr_als_enable.attr)
3511 devid = ASUS_WMI_DEVID_ALS_ENABLE;
3512 else if (attr == &dev_attr_charge_mode.attr)
3513 ok = asus->charge_mode_available;
3494 else if (attr == &dev_attr_egpu_enable.attr)
3495 ok = asus->egpu_enable_available;
3496 else if (attr == &dev_attr_dgpu_disable.attr)
3497 ok = asus->dgpu_disable_available;
3498 else if (attr == &dev_attr_gpu_mux_mode.attr)
3499 ok = asus->gpu_mux_mode_available;
3500 else if (attr == &dev_attr_fan_boost_mode.attr)
3501 ok = asus->fan_boost_mode_available;

--- 250 unchanged lines hidden (view full) ---

3752
3753 if (wdrv->detect_quirks)
3754 wdrv->detect_quirks(asus->driver);
3755
3756 err = asus_wmi_platform_init(asus);
3757 if (err)
3758 goto fail_platform;
3759
3514 else if (attr == &dev_attr_egpu_enable.attr)
3515 ok = asus->egpu_enable_available;
3516 else if (attr == &dev_attr_dgpu_disable.attr)
3517 ok = asus->dgpu_disable_available;
3518 else if (attr == &dev_attr_gpu_mux_mode.attr)
3519 ok = asus->gpu_mux_mode_available;
3520 else if (attr == &dev_attr_fan_boost_mode.attr)
3521 ok = asus->fan_boost_mode_available;

--- 250 unchanged lines hidden (view full) ---

3772
3773 if (wdrv->detect_quirks)
3774 wdrv->detect_quirks(asus->driver);
3775
3776 err = asus_wmi_platform_init(asus);
3777 if (err)
3778 goto fail_platform;
3779
3780 asus->charge_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_CHARGE_MODE);
3760 asus->egpu_enable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_EGPU);
3761 asus->dgpu_disable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_DGPU);
3762 asus->gpu_mux_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_MUX);
3763 asus->kbd_rgb_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_MODE);
3764 asus->kbd_rgb_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_STATE);
3765 asus->panel_overdrive_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_PANEL_OD);
3766
3767 err = fan_boost_mode_check_present(asus);

--- 279 unchanged lines hidden ---
3781 asus->egpu_enable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_EGPU);
3782 asus->dgpu_disable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_DGPU);
3783 asus->gpu_mux_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_MUX);
3784 asus->kbd_rgb_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_MODE);
3785 asus->kbd_rgb_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_STATE);
3786 asus->panel_overdrive_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_PANEL_OD);
3787
3788 err = fan_boost_mode_check_present(asus);

--- 279 unchanged lines hidden ---