drivers/hwmon/w83781d.c
1144
vendid = asus;
drivers/platform/x86/asus-laptop.c
1004
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1006
return sysfs_acpi_set(asus, buf, count, METHOD_WLAN);
drivers/platform/x86/asus-laptop.c
1013
static int asus_bluetooth_set(struct asus_laptop *asus, int status)
drivers/platform/x86/asus-laptop.c
1015
if (write_acpi_int(asus->handle, METHOD_BLUETOOTH, !!status)) {
drivers/platform/x86/asus-laptop.c
1025
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1027
return sysfs_emit(buf, "%d\n", asus_wireless_status(asus, BT_RSTS));
drivers/platform/x86/asus-laptop.c
1034
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1036
return sysfs_acpi_set(asus, buf, count, METHOD_BLUETOOTH);
drivers/platform/x86/asus-laptop.c
1043
static int asus_wimax_set(struct asus_laptop *asus, int status)
drivers/platform/x86/asus-laptop.c
1045
if (write_acpi_int(asus->handle, METHOD_WIMAX, !!status)) {
drivers/platform/x86/asus-laptop.c
1055
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1057
return sysfs_emit(buf, "%d\n", asus_wireless_status(asus, WM_RSTS));
drivers/platform/x86/asus-laptop.c
1063
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1065
return sysfs_acpi_set(asus, buf, count, METHOD_WIMAX);
drivers/platform/x86/asus-laptop.c
1072
static int asus_wwan_set(struct asus_laptop *asus, int status)
drivers/platform/x86/asus-laptop.c
1074
if (write_acpi_int(asus->handle, METHOD_WWAN, !!status)) {
drivers/platform/x86/asus-laptop.c
1084
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1086
return sysfs_emit(buf, "%d\n", asus_wireless_status(asus, WW_RSTS));
drivers/platform/x86/asus-laptop.c
1092
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1094
return sysfs_acpi_set(asus, buf, count, METHOD_WWAN);
drivers/platform/x86/asus-laptop.c
1101
static void asus_set_display(struct asus_laptop *asus, int value)
drivers/platform/x86/asus-laptop.c
1104
if (write_acpi_int(asus->handle, METHOD_SWITCH_DISPLAY, value))
drivers/platform/x86/asus-laptop.c
1119
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1126
asus_set_display(asus, value);
drivers/platform/x86/asus-laptop.c
1134
static void asus_als_switch(struct asus_laptop *asus, int value)
drivers/platform/x86/asus-laptop.c
1138
if (asus->is_pega_lucid) {
drivers/platform/x86/asus-laptop.c
1139
ret = asus_pega_lucid_set(asus, PEGA_ALS, value);
drivers/platform/x86/asus-laptop.c
1141
ret = asus_pega_lucid_set(asus, PEGA_ALS_POWER, value);
drivers/platform/x86/asus-laptop.c
1143
ret = write_acpi_int(asus->handle, METHOD_ALS_CONTROL, value);
drivers/platform/x86/asus-laptop.c
1148
asus->light_switch = value;
drivers/platform/x86/asus-laptop.c
1154
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1156
return sysfs_emit(buf, "%d\n", asus->light_switch);
drivers/platform/x86/asus-laptop.c
1163
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1170
asus_als_switch(asus, value ? 1 : 0);
drivers/platform/x86/asus-laptop.c
1175
static void asus_als_level(struct asus_laptop *asus, int value)
drivers/platform/x86/asus-laptop.c
1177
if (write_acpi_int(asus->handle, METHOD_ALS_LEVEL, value))
drivers/platform/x86/asus-laptop.c
1179
asus->light_level = value;
drivers/platform/x86/asus-laptop.c
1185
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1187
return sysfs_emit(buf, "%d\n", asus->light_level);
drivers/platform/x86/asus-laptop.c
1193
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1202
asus_als_level(asus, value);
drivers/platform/x86/asus-laptop.c
1208
static int pega_int_read(struct asus_laptop *asus, int arg, int *result)
drivers/platform/x86/asus-laptop.c
1211
int err = write_acpi_int_ret(asus->handle, METHOD_PEGA_READ, arg,
drivers/platform/x86/asus-laptop.c
1226
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1229
err = pega_int_read(asus, PEGA_READ_ALS_H, &hi);
drivers/platform/x86/asus-laptop.c
1231
err = pega_int_read(asus, PEGA_READ_ALS_L, &lo);
drivers/platform/x86/asus-laptop.c
1241
static int asus_gps_status(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
1246
rv = acpi_evaluate_integer(asus->handle, METHOD_GPS_STATUS,
drivers/platform/x86/asus-laptop.c
1255
static int asus_gps_switch(struct asus_laptop *asus, int status)
drivers/platform/x86/asus-laptop.c
1259
if (write_acpi_int(asus->handle, meth, 0x02))
drivers/platform/x86/asus-laptop.c
1267
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1269
return sysfs_emit(buf, "%d\n", asus_gps_status(asus));
drivers/platform/x86/asus-laptop.c
1275
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1282
ret = asus_gps_switch(asus, !!value);
drivers/platform/x86/asus-laptop.c
1285
rfkill_set_sw_state(asus->gps.rfkill, !value);
drivers/platform/x86/asus-laptop.c
1295
struct asus_laptop *asus = data;
drivers/platform/x86/asus-laptop.c
1297
return asus_gps_switch(asus, !blocked);
drivers/platform/x86/asus-laptop.c
1307
struct asus_laptop *asus = rfk->asus;
drivers/platform/x86/asus-laptop.c
1310
return asus_wlan_set(asus, !blocked);
drivers/platform/x86/asus-laptop.c
1312
return asus_bluetooth_set(asus, !blocked);
drivers/platform/x86/asus-laptop.c
1314
return asus_wimax_set(asus, !blocked);
drivers/platform/x86/asus-laptop.c
1316
return asus_wwan_set(asus, !blocked);
drivers/platform/x86/asus-laptop.c
1335
static void asus_rfkill_exit(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
1337
asus_rfkill_terminate(&asus->wwan);
drivers/platform/x86/asus-laptop.c
1338
asus_rfkill_terminate(&asus->bluetooth);
drivers/platform/x86/asus-laptop.c
1339
asus_rfkill_terminate(&asus->wlan);
drivers/platform/x86/asus-laptop.c
1340
asus_rfkill_terminate(&asus->gps);
drivers/platform/x86/asus-laptop.c
1343
static int asus_rfkill_setup(struct asus_laptop *asus, struct asus_rfkill *rfk,
drivers/platform/x86/asus-laptop.c
1350
rfk->asus = asus;
drivers/platform/x86/asus-laptop.c
1351
rfk->rfkill = rfkill_alloc(name, &asus->platform_device->dev,
drivers/platform/x86/asus-laptop.c
1365
static int asus_rfkill_init(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
1369
if (asus->is_pega_lucid)
drivers/platform/x86/asus-laptop.c
1372
if (!acpi_check_handle(asus->handle, METHOD_GPS_ON, NULL) &&
drivers/platform/x86/asus-laptop.c
1373
!acpi_check_handle(asus->handle, METHOD_GPS_OFF, NULL) &&
drivers/platform/x86/asus-laptop.c
1374
!acpi_check_handle(asus->handle, METHOD_GPS_STATUS, NULL))
drivers/platform/x86/asus-laptop.c
1375
result = asus_rfkill_setup(asus, &asus->gps, "asus-gps",
drivers/platform/x86/asus-laptop.c
1382
if (!acpi_check_handle(asus->handle, METHOD_WLAN, NULL) &&
drivers/platform/x86/asus-laptop.c
1383
asus->wled_type == TYPE_RFKILL)
drivers/platform/x86/asus-laptop.c
1384
result = asus_rfkill_setup(asus, &asus->wlan, "asus-wlan",
drivers/platform/x86/asus-laptop.c
1390
if (!acpi_check_handle(asus->handle, METHOD_BLUETOOTH, NULL) &&
drivers/platform/x86/asus-laptop.c
1391
asus->bled_type == TYPE_RFKILL)
drivers/platform/x86/asus-laptop.c
1392
result = asus_rfkill_setup(asus, &asus->bluetooth,
drivers/platform/x86/asus-laptop.c
1399
if (!acpi_check_handle(asus->handle, METHOD_WWAN, NULL))
drivers/platform/x86/asus-laptop.c
1400
result = asus_rfkill_setup(asus, &asus->wwan, "asus-wwan",
drivers/platform/x86/asus-laptop.c
1406
if (!acpi_check_handle(asus->handle, METHOD_WIMAX, NULL))
drivers/platform/x86/asus-laptop.c
1407
result = asus_rfkill_setup(asus, &asus->wimax, "asus-wimax",
drivers/platform/x86/asus-laptop.c
1415
asus_rfkill_exit(asus);
drivers/platform/x86/asus-laptop.c
1424
int ret = asus_pega_lucid_set(rfk->asus, rfk->control_id, !blocked);
drivers/platform/x86/asus-laptop.c
1432
static int pega_rfkill_setup(struct asus_laptop *asus, struct asus_rfkill *rfk,
drivers/platform/x86/asus-laptop.c
1435
return asus_rfkill_setup(asus, rfk, name, controlid, rfkill_type,
drivers/platform/x86/asus-laptop.c
1439
static int pega_rfkill_init(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
1443
if(!asus->is_pega_lucid)
drivers/platform/x86/asus-laptop.c
1446
ret = pega_rfkill_setup(asus, &asus->wlan, "pega-wlan",
drivers/platform/x86/asus-laptop.c
1451
ret = pega_rfkill_setup(asus, &asus->bluetooth, "pega-bt",
drivers/platform/x86/asus-laptop.c
1456
ret = pega_rfkill_setup(asus, &asus->wwan, "pega-wwan",
drivers/platform/x86/asus-laptop.c
1461
asus_rfkill_exit(asus);
drivers/platform/x86/asus-laptop.c
1469
static void asus_input_notify(struct asus_laptop *asus, int event)
drivers/platform/x86/asus-laptop.c
1471
if (!asus->inputdev)
drivers/platform/x86/asus-laptop.c
1473
if (!sparse_keymap_report_event(asus->inputdev, event, 1, true))
drivers/platform/x86/asus-laptop.c
1477
static int asus_input_init(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
1489
input->dev.parent = &asus->platform_device->dev;
drivers/platform/x86/asus-laptop.c
1502
asus->inputdev = input;
drivers/platform/x86/asus-laptop.c
1510
static void asus_input_exit(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
1512
if (asus->inputdev)
drivers/platform/x86/asus-laptop.c
1513
input_unregister_device(asus->inputdev);
drivers/platform/x86/asus-laptop.c
1514
asus->inputdev = NULL;
drivers/platform/x86/asus-laptop.c
1522
struct asus_laptop *asus = data;
drivers/platform/x86/asus-laptop.c
1526
count = asus->event_count[event % 128]++;
drivers/platform/x86/asus-laptop.c
1527
acpi_bus_generate_netlink_event(asus->device->pnp.device_class,
drivers/platform/x86/asus-laptop.c
1528
dev_name(&asus->device->dev), event,
drivers/platform/x86/asus-laptop.c
1539
if (asus->backlight_device != NULL) {
drivers/platform/x86/asus-laptop.c
1541
asus_backlight_notify(asus);
drivers/platform/x86/asus-laptop.c
1547
if (asus->pega_accel_poll && event == 0xEA) {
drivers/platform/x86/asus-laptop.c
1548
kobject_uevent(&asus->pega_accel_poll->dev.kobj, KOBJ_CHANGE);
drivers/platform/x86/asus-laptop.c
1552
asus_input_notify(asus, event);
drivers/platform/x86/asus-laptop.c
1575
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
1576
acpi_handle handle = asus->handle;
drivers/platform/x86/asus-laptop.c
1579
if (asus->is_pega_lucid) {
drivers/platform/x86/asus-laptop.c
1603
!acpi_check_handle(asus->handle, METHOD_WIMAX, NULL);
drivers/platform/x86/asus-laptop.c
1606
supported = !acpi_check_handle(asus->handle, METHOD_WWAN, NULL);
drivers/platform/x86/asus-laptop.c
1616
supported = asus->is_pega_lucid;
drivers/platform/x86/asus-laptop.c
1634
static int asus_platform_init(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
1638
asus->platform_device = platform_device_alloc(ASUS_LAPTOP_FILE, PLATFORM_DEVID_NONE);
drivers/platform/x86/asus-laptop.c
1639
if (!asus->platform_device)
drivers/platform/x86/asus-laptop.c
1641
platform_set_drvdata(asus->platform_device, asus);
drivers/platform/x86/asus-laptop.c
1643
result = platform_device_add(asus->platform_device);
drivers/platform/x86/asus-laptop.c
1647
result = sysfs_create_group(&asus->platform_device->dev.kobj,
drivers/platform/x86/asus-laptop.c
1655
platform_device_del(asus->platform_device);
drivers/platform/x86/asus-laptop.c
1657
platform_device_put(asus->platform_device);
drivers/platform/x86/asus-laptop.c
1661
static void asus_platform_exit(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
1663
sysfs_remove_group(&asus->platform_device->dev.kobj, &asus_attr_group);
drivers/platform/x86/asus-laptop.c
1664
platform_device_unregister(asus->platform_device);
drivers/platform/x86/asus-laptop.c
1678
static int asus_laptop_get_info(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
1693
status = acpi_get_table(ACPI_SIG_DSDT, 1, &asus->dsdt_info);
drivers/platform/x86/asus-laptop.c
1698
if (write_acpi_int_ret(asus->handle, "INIT", 0, &buffer)) {
drivers/platform/x86/asus-laptop.c
1705
acpi_evaluate_integer(asus->handle, "BSTS", NULL, &bsts_result);
drivers/platform/x86/asus-laptop.c
1713
if (write_acpi_int(asus->handle, "CWAP", wapf))
drivers/platform/x86/asus-laptop.c
1735
asus->name = kstrdup(string, GFP_KERNEL);
drivers/platform/x86/asus-laptop.c
1736
if (!asus->name) {
drivers/platform/x86/asus-laptop.c
1744
if (!acpi_check_handle(asus->handle, METHOD_WL_STATUS, NULL))
drivers/platform/x86/asus-laptop.c
1745
asus->have_rsts = true;
drivers/platform/x86/asus-laptop.c
1752
static int asus_acpi_init(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
1756
result = acpi_bus_get_status(asus->device);
drivers/platform/x86/asus-laptop.c
1759
if (!asus->device->status.present) {
drivers/platform/x86/asus-laptop.c
1764
result = asus_laptop_get_info(asus);
drivers/platform/x86/asus-laptop.c
1769
asus->bled_type = TYPE_LED;
drivers/platform/x86/asus-laptop.c
1771
asus->bled_type = TYPE_RFKILL;
drivers/platform/x86/asus-laptop.c
1774
asus->wled_type = TYPE_LED;
drivers/platform/x86/asus-laptop.c
1776
asus->wled_type = TYPE_RFKILL;
drivers/platform/x86/asus-laptop.c
1779
asus_bluetooth_set(asus, !!bluetooth_status);
drivers/platform/x86/asus-laptop.c
1782
asus_wlan_set(asus, !!wlan_status);
drivers/platform/x86/asus-laptop.c
1785
asus_wimax_set(asus, !!wimax_status);
drivers/platform/x86/asus-laptop.c
1788
asus_wwan_set(asus, !!wwan_status);
drivers/platform/x86/asus-laptop.c
1791
if (!acpi_check_handle(asus->handle, METHOD_KBD_LIGHT_SET, NULL))
drivers/platform/x86/asus-laptop.c
1792
asus_kled_set(asus, 1);
drivers/platform/x86/asus-laptop.c
1795
asus->ledd_status = 0xFFF;
drivers/platform/x86/asus-laptop.c
1798
asus->light_switch = !!als_status;
drivers/platform/x86/asus-laptop.c
1799
asus->light_level = 5; /* level 5 for sensor sensitivity */
drivers/platform/x86/asus-laptop.c
1801
if (asus->is_pega_lucid) {
drivers/platform/x86/asus-laptop.c
1802
asus_als_switch(asus, asus->light_switch);
drivers/platform/x86/asus-laptop.c
1803
} else if (!acpi_check_handle(asus->handle, METHOD_ALS_CONTROL, NULL) &&
drivers/platform/x86/asus-laptop.c
1804
!acpi_check_handle(asus->handle, METHOD_ALS_LEVEL, NULL)) {
drivers/platform/x86/asus-laptop.c
1805
asus_als_switch(asus, asus->light_switch);
drivers/platform/x86/asus-laptop.c
1806
asus_als_level(asus, asus->light_level);
drivers/platform/x86/asus-laptop.c
1830
struct asus_laptop *asus;
drivers/platform/x86/asus-laptop.c
1839
asus = kzalloc_obj(struct asus_laptop);
drivers/platform/x86/asus-laptop.c
1840
if (!asus)
drivers/platform/x86/asus-laptop.c
1842
asus->handle = device->handle;
drivers/platform/x86/asus-laptop.c
1845
asus->device = device;
drivers/platform/x86/asus-laptop.c
1849
result = asus_acpi_init(asus);
drivers/platform/x86/asus-laptop.c
1853
platform_set_drvdata(pdev, asus);
drivers/platform/x86/asus-laptop.c
1859
asus->is_pega_lucid = asus_check_pega_lucid(asus);
drivers/platform/x86/asus-laptop.c
1860
result = asus_platform_init(asus);
drivers/platform/x86/asus-laptop.c
1865
result = asus_backlight_init(asus);
drivers/platform/x86/asus-laptop.c
1870
result = asus_input_init(asus);
drivers/platform/x86/asus-laptop.c
1874
result = asus_led_init(asus);
drivers/platform/x86/asus-laptop.c
1878
result = asus_rfkill_init(asus);
drivers/platform/x86/asus-laptop.c
1882
result = pega_accel_init(asus);
drivers/platform/x86/asus-laptop.c
1886
result = pega_rfkill_init(asus);
drivers/platform/x86/asus-laptop.c
1891
asus_acpi_notify, asus);
drivers/platform/x86/asus-laptop.c
1899
pega_accel_exit(asus);
drivers/platform/x86/asus-laptop.c
1901
asus_rfkill_exit(asus);
drivers/platform/x86/asus-laptop.c
1903
asus_led_exit(asus);
drivers/platform/x86/asus-laptop.c
1905
asus_input_exit(asus);
drivers/platform/x86/asus-laptop.c
1907
asus_backlight_exit(asus);
drivers/platform/x86/asus-laptop.c
1909
asus_platform_exit(asus);
drivers/platform/x86/asus-laptop.c
1911
kfree(asus);
drivers/platform/x86/asus-laptop.c
1918
struct asus_laptop *asus = platform_get_drvdata(pdev);
drivers/platform/x86/asus-laptop.c
1920
acpi_dev_remove_notify_handler(asus->device, ACPI_DEVICE_NOTIFY,
drivers/platform/x86/asus-laptop.c
1922
asus_backlight_exit(asus);
drivers/platform/x86/asus-laptop.c
1923
asus_rfkill_exit(asus);
drivers/platform/x86/asus-laptop.c
1924
asus_led_exit(asus);
drivers/platform/x86/asus-laptop.c
1925
asus_input_exit(asus);
drivers/platform/x86/asus-laptop.c
1926
pega_accel_exit(asus);
drivers/platform/x86/asus-laptop.c
1927
asus_platform_exit(asus);
drivers/platform/x86/asus-laptop.c
1929
kfree(asus->name);
drivers/platform/x86/asus-laptop.c
1930
kfree(asus);
drivers/platform/x86/asus-laptop.c
217
struct asus_laptop *asus;
drivers/platform/x86/asus-laptop.c
228
struct asus_laptop *asus;
drivers/platform/x86/asus-laptop.c
413
static bool asus_check_pega_lucid(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
415
return !strcmp(asus->name, DEVICE_NAME_PEGA) &&
drivers/platform/x86/asus-laptop.c
416
!acpi_check_handle(asus->handle, METHOD_PEGA_ENABLE, NULL) &&
drivers/platform/x86/asus-laptop.c
417
!acpi_check_handle(asus->handle, METHOD_PEGA_DISABLE, NULL) &&
drivers/platform/x86/asus-laptop.c
418
!acpi_check_handle(asus->handle, METHOD_PEGA_READ, NULL);
drivers/platform/x86/asus-laptop.c
421
static int asus_pega_lucid_set(struct asus_laptop *asus, int unit, bool enable)
drivers/platform/x86/asus-laptop.c
424
return write_acpi_int(asus->handle, method, unit);
drivers/platform/x86/asus-laptop.c
427
static int pega_acc_axis(struct asus_laptop *asus, int curr, char *method)
drivers/platform/x86/asus-laptop.c
434
status = acpi_evaluate_integer(asus->handle, method, NULL, &val);
drivers/platform/x86/asus-laptop.c
453
struct asus_laptop *asus = dev_get_drvdata(parent);
drivers/platform/x86/asus-laptop.c
459
if (!asus->pega_acc_live) {
drivers/platform/x86/asus-laptop.c
460
asus->pega_acc_live = true;
drivers/platform/x86/asus-laptop.c
468
asus->pega_acc_x = pega_acc_axis(asus, asus->pega_acc_x, METHOD_XLRX);
drivers/platform/x86/asus-laptop.c
469
asus->pega_acc_y = pega_acc_axis(asus, asus->pega_acc_y, METHOD_XLRY);
drivers/platform/x86/asus-laptop.c
470
asus->pega_acc_z = pega_acc_axis(asus, asus->pega_acc_z, METHOD_XLRZ);
drivers/platform/x86/asus-laptop.c
475
input_report_abs(input, ABS_X, -asus->pega_acc_x);
drivers/platform/x86/asus-laptop.c
476
input_report_abs(input, ABS_Y, -asus->pega_acc_y);
drivers/platform/x86/asus-laptop.c
477
input_report_abs(input, ABS_Z, asus->pega_acc_z);
drivers/platform/x86/asus-laptop.c
481
static void pega_accel_exit(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
483
if (asus->pega_accel_poll) {
drivers/platform/x86/asus-laptop.c
484
input_unregister_device(asus->pega_accel_poll);
drivers/platform/x86/asus-laptop.c
485
asus->pega_accel_poll = NULL;
drivers/platform/x86/asus-laptop.c
489
static int pega_accel_init(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
494
if (!asus->is_pega_lucid)
drivers/platform/x86/asus-laptop.c
497
if (acpi_check_handle(asus->handle, METHOD_XLRX, NULL) ||
drivers/platform/x86/asus-laptop.c
498
acpi_check_handle(asus->handle, METHOD_XLRY, NULL) ||
drivers/platform/x86/asus-laptop.c
499
acpi_check_handle(asus->handle, METHOD_XLRZ, NULL))
drivers/platform/x86/asus-laptop.c
508
input->dev.parent = &asus->platform_device->dev;
drivers/platform/x86/asus-laptop.c
530
asus->pega_accel_poll = input;
drivers/platform/x86/asus-laptop.c
539
static int asus_led_set(struct asus_laptop *asus, const char *method,
drivers/platform/x86/asus-laptop.c
549
return write_acpi_int(asus->handle, method, value);
drivers/platform/x86/asus-laptop.c
560
struct asus_laptop *asus = led->asus;
drivers/platform/x86/asus-laptop.c
563
queue_work(asus->led_workqueue, &led->work);
drivers/platform/x86/asus-laptop.c
569
struct asus_laptop *asus = led->asus;
drivers/platform/x86/asus-laptop.c
571
asus_led_set(asus, led->method, led->wk);
drivers/platform/x86/asus-laptop.c
582
static int asus_kled_lvl(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
594
rv = acpi_evaluate_integer(asus->handle, METHOD_KBD_LIGHT_GET,
drivers/platform/x86/asus-laptop.c
603
static int asus_kled_set(struct asus_laptop *asus, int kblv)
drivers/platform/x86/asus-laptop.c
610
if (write_acpi_int(asus->handle, METHOD_KBD_LIGHT_SET, kblv)) {
drivers/platform/x86/asus-laptop.c
621
struct asus_laptop *asus = led->asus;
drivers/platform/x86/asus-laptop.c
624
queue_work(asus->led_workqueue, &led->work);
drivers/platform/x86/asus-laptop.c
630
struct asus_laptop *asus = led->asus;
drivers/platform/x86/asus-laptop.c
632
asus_kled_set(asus, led->wk);
drivers/platform/x86/asus-laptop.c
638
struct asus_laptop *asus = led->asus;
drivers/platform/x86/asus-laptop.c
640
return asus_kled_lvl(asus);
drivers/platform/x86/asus-laptop.c
643
static void asus_led_exit(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
645
led_classdev_unregister(&asus->wled.led);
drivers/platform/x86/asus-laptop.c
646
led_classdev_unregister(&asus->bled.led);
drivers/platform/x86/asus-laptop.c
647
led_classdev_unregister(&asus->mled.led);
drivers/platform/x86/asus-laptop.c
648
led_classdev_unregister(&asus->tled.led);
drivers/platform/x86/asus-laptop.c
649
led_classdev_unregister(&asus->pled.led);
drivers/platform/x86/asus-laptop.c
650
led_classdev_unregister(&asus->rled.led);
drivers/platform/x86/asus-laptop.c
651
led_classdev_unregister(&asus->gled.led);
drivers/platform/x86/asus-laptop.c
652
led_classdev_unregister(&asus->kled.led);
drivers/platform/x86/asus-laptop.c
654
if (asus->led_workqueue) {
drivers/platform/x86/asus-laptop.c
655
destroy_workqueue(asus->led_workqueue);
drivers/platform/x86/asus-laptop.c
656
asus->led_workqueue = NULL;
drivers/platform/x86/asus-laptop.c
661
static int asus_led_register(struct asus_laptop *asus,
drivers/platform/x86/asus-laptop.c
667
if (!method || acpi_check_handle(asus->handle, method, NULL))
drivers/platform/x86/asus-laptop.c
670
led->asus = asus;
drivers/platform/x86/asus-laptop.c
678
return led_classdev_register(&asus->platform_device->dev, led_cdev);
drivers/platform/x86/asus-laptop.c
681
static int asus_led_init(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
689
if (asus->is_pega_lucid)
drivers/platform/x86/asus-laptop.c
698
asus->led_workqueue = create_singlethread_workqueue("led_workqueue");
drivers/platform/x86/asus-laptop.c
699
if (!asus->led_workqueue)
drivers/platform/x86/asus-laptop.c
702
if (asus->wled_type == TYPE_LED)
drivers/platform/x86/asus-laptop.c
703
r = asus_led_register(asus, &asus->wled, "asus::wlan",
drivers/platform/x86/asus-laptop.c
707
if (asus->bled_type == TYPE_LED)
drivers/platform/x86/asus-laptop.c
708
r = asus_led_register(asus, &asus->bled, "asus::bluetooth",
drivers/platform/x86/asus-laptop.c
712
r = asus_led_register(asus, &asus->mled, "asus::mail", METHOD_MLED);
drivers/platform/x86/asus-laptop.c
715
r = asus_led_register(asus, &asus->tled, "asus::touchpad", METHOD_TLED);
drivers/platform/x86/asus-laptop.c
718
r = asus_led_register(asus, &asus->rled, "asus::record", METHOD_RLED);
drivers/platform/x86/asus-laptop.c
721
r = asus_led_register(asus, &asus->pled, "asus::phone", METHOD_PLED);
drivers/platform/x86/asus-laptop.c
724
r = asus_led_register(asus, &asus->gled, "asus::gaming", METHOD_GLED);
drivers/platform/x86/asus-laptop.c
727
if (!acpi_check_handle(asus->handle, METHOD_KBD_LIGHT_SET, NULL) &&
drivers/platform/x86/asus-laptop.c
728
!acpi_check_handle(asus->handle, METHOD_KBD_LIGHT_GET, NULL)) {
drivers/platform/x86/asus-laptop.c
729
struct asus_led *led = &asus->kled;
drivers/platform/x86/asus-laptop.c
732
led->asus = asus;
drivers/platform/x86/asus-laptop.c
739
r = led_classdev_register(&asus->platform_device->dev, cdev);
drivers/platform/x86/asus-laptop.c
743
asus_led_exit(asus);
drivers/platform/x86/asus-laptop.c
752
struct asus_laptop *asus = bl_get_data(bd);
drivers/platform/x86/asus-laptop.c
756
rv = acpi_evaluate_integer(asus->handle, METHOD_BRIGHTNESS_GET,
drivers/platform/x86/asus-laptop.c
768
struct asus_laptop *asus = bl_get_data(bd);
drivers/platform/x86/asus-laptop.c
770
if (write_acpi_int(asus->handle, METHOD_BRIGHTNESS_SET, value)) {
drivers/platform/x86/asus-laptop.c
789
static int asus_backlight_notify(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
791
struct backlight_device *bd = asus->backlight_device;
drivers/platform/x86/asus-laptop.c
799
static int asus_backlight_init(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
804
if (acpi_check_handle(asus->handle, METHOD_BRIGHTNESS_GET, NULL) ||
drivers/platform/x86/asus-laptop.c
805
acpi_check_handle(asus->handle, METHOD_BRIGHTNESS_SET, NULL))
drivers/platform/x86/asus-laptop.c
813
&asus->platform_device->dev, asus,
drivers/platform/x86/asus-laptop.c
817
asus->backlight_device = NULL;
drivers/platform/x86/asus-laptop.c
821
asus->backlight_device = bd;
drivers/platform/x86/asus-laptop.c
828
static void asus_backlight_exit(struct asus_laptop *asus)
drivers/platform/x86/asus-laptop.c
830
backlight_device_unregister(asus->backlight_device);
drivers/platform/x86/asus-laptop.c
831
asus->backlight_device = NULL;
drivers/platform/x86/asus-laptop.c
846
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
858
len += sysfs_emit_at(page, len, "Model reference : %s\n", asus->name);
drivers/platform/x86/asus-laptop.c
865
rv = acpi_evaluate_integer(asus->handle, "SFUN", NULL, &temp);
drivers/platform/x86/asus-laptop.c
877
rv = acpi_evaluate_integer(asus->handle, "HWRS", NULL, &temp);
drivers/platform/x86/asus-laptop.c
888
rv = acpi_evaluate_integer(asus->handle, "ASYM", NULL, &temp);
drivers/platform/x86/asus-laptop.c
892
if (asus->dsdt_info) {
drivers/platform/x86/asus-laptop.c
893
snprintf(buf, 16, "%d", asus->dsdt_info->length);
drivers/platform/x86/asus-laptop.c
895
snprintf(buf, 16, "%d", asus->dsdt_info->checksum);
drivers/platform/x86/asus-laptop.c
897
snprintf(buf, 16, "%d", asus->dsdt_info->revision);
drivers/platform/x86/asus-laptop.c
899
snprintf(buf, 7, "%s", asus->dsdt_info->oem_id);
drivers/platform/x86/asus-laptop.c
901
snprintf(buf, 9, "%s", asus->dsdt_info->oem_table_id);
drivers/platform/x86/asus-laptop.c
903
snprintf(buf, 16, "%x", asus->dsdt_info->oem_revision);
drivers/platform/x86/asus-laptop.c
905
snprintf(buf, 5, "%s", asus->dsdt_info->asl_compiler_id);
drivers/platform/x86/asus-laptop.c
907
snprintf(buf, 16, "%x", asus->dsdt_info->asl_compiler_revision);
drivers/platform/x86/asus-laptop.c
915
static ssize_t sysfs_acpi_set(struct asus_laptop *asus,
drivers/platform/x86/asus-laptop.c
925
if (write_acpi_int(asus->handle, method, value))
drivers/platform/x86/asus-laptop.c
936
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
938
return sysfs_emit(buf, "0x%08x\n", asus->ledd_status);
drivers/platform/x86/asus-laptop.c
944
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
951
if (write_acpi_int(asus->handle, METHOD_LEDD, value)) {
drivers/platform/x86/asus-laptop.c
956
asus->ledd_status = (u32) value;
drivers/platform/x86/asus-laptop.c
964
static int asus_wireless_status(struct asus_laptop *asus, int mask)
drivers/platform/x86/asus-laptop.c
969
if (!asus->have_rsts)
drivers/platform/x86/asus-laptop.c
970
return (asus->wireless_status & mask) ? 1 : 0;
drivers/platform/x86/asus-laptop.c
972
rv = acpi_evaluate_integer(asus->handle, METHOD_WL_STATUS,
drivers/platform/x86/asus-laptop.c
984
static int asus_wlan_set(struct asus_laptop *asus, int status)
drivers/platform/x86/asus-laptop.c
986
if (write_acpi_int(asus->handle, METHOD_WLAN, !!status)) {
drivers/platform/x86/asus-laptop.c
996
struct asus_laptop *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-laptop.c
998
return sysfs_emit(buf, "%d\n", asus_wireless_status(asus, WL_RSTS));
drivers/platform/x86/asus-wmi.c
1007
if (asus->dgpu_disable_available) {
drivers/platform/x86/asus-wmi.c
1008
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_DGPU);
drivers/platform/x86/asus-wmi.c
1019
if (asus->egpu_enable_available) {
drivers/platform/x86/asus-wmi.c
1020
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU);
drivers/platform/x86/asus-wmi.c
1031
err = asus_wmi_set_devstate(asus->gpu_mux_dev, optimus, &result);
drivers/platform/x86/asus-wmi.c
1042
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "gpu_mux_mode");
drivers/platform/x86/asus-wmi.c
1056
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1060
asus = container_of(led, struct asus_wmi, kbd_led);
drivers/platform/x86/asus-wmi.c
1095
err = asus_wmi_evaluate_method3(ASUS_WMI_METHODID_DEVS, asus->kbd_rgb_dev,
drivers/platform/x86/asus-wmi.c
1176
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1198
asus->ppt_pl2_sppt = value;
drivers/platform/x86/asus-wmi.c
1199
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_pl2_sppt");
drivers/platform/x86/asus-wmi.c
1208
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1212
return sysfs_emit(buf, "%u\n", asus->ppt_pl2_sppt);
drivers/platform/x86/asus-wmi.c
1221
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1243
asus->ppt_pl1_spl = value;
drivers/platform/x86/asus-wmi.c
1244
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_pl1_spl");
drivers/platform/x86/asus-wmi.c
1252
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1256
return sysfs_emit(buf, "%u\n", asus->ppt_pl1_spl);
drivers/platform/x86/asus-wmi.c
1265
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1287
asus->ppt_fppt = value;
drivers/platform/x86/asus-wmi.c
1288
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_fpu_sppt");
drivers/platform/x86/asus-wmi.c
1297
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1301
return sysfs_emit(buf, "%u\n", asus->ppt_fppt);
drivers/platform/x86/asus-wmi.c
1310
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1332
asus->ppt_apu_sppt = value;
drivers/platform/x86/asus-wmi.c
1333
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_apu_sppt");
drivers/platform/x86/asus-wmi.c
1342
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1346
return sysfs_emit(buf, "%u\n", asus->ppt_apu_sppt);
drivers/platform/x86/asus-wmi.c
1355
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1377
asus->ppt_platform_sppt = value;
drivers/platform/x86/asus-wmi.c
1378
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_platform_sppt");
drivers/platform/x86/asus-wmi.c
1387
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1391
return sysfs_emit(buf, "%u\n", asus->ppt_platform_sppt);
drivers/platform/x86/asus-wmi.c
1400
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1422
asus->nv_dynamic_boost = value;
drivers/platform/x86/asus-wmi.c
1423
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "nv_dynamic_boost");
drivers/platform/x86/asus-wmi.c
1432
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1436
return sysfs_emit(buf, "%u\n", asus->nv_dynamic_boost);
drivers/platform/x86/asus-wmi.c
1445
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1467
asus->nv_temp_target = value;
drivers/platform/x86/asus-wmi.c
1468
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "nv_temp_target");
drivers/platform/x86/asus-wmi.c
1477
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1481
return sysfs_emit(buf, "%u\n", asus->nv_temp_target);
drivers/platform/x86/asus-wmi.c
1529
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1532
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_MCU_POWERSAVE);
drivers/platform/x86/asus-wmi.c
1548
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1568
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "mcu_powersave");
drivers/platform/x86/asus-wmi.c
1679
static void asus_wmi_battery_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
1681
asus->battery_rsoc_available = false;
drivers/platform/x86/asus-wmi.c
1682
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_RSOC)) {
drivers/platform/x86/asus-wmi.c
1683
asus->battery_rsoc_available = true;
drivers/platform/x86/asus-wmi.c
1688
static void asus_wmi_battery_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
1690
if (asus->battery_rsoc_available)
drivers/platform/x86/asus-wmi.c
1698
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1705
.asus = NULL,
drivers/platform/x86/asus-wmi.c
1731
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1735
asus = asus_ref.asus;
drivers/platform/x86/asus-wmi.c
1736
if (asus)
drivers/platform/x86/asus-wmi.c
1737
queue_work(asus->led_workqueue, &asus->kbd_led_work);
drivers/platform/x86/asus-wmi.c
1757
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1761
asus = container_of(work, struct asus_wmi, kbd_led_work);
drivers/platform/x86/asus-wmi.c
1764
registered = asus->kbd_led_registered;
drivers/platform/x86/asus-wmi.c
1765
value = asus->kbd_led_wk;
drivers/platform/x86/asus-wmi.c
1766
notify = asus->kbd_led_notify;
drivers/platform/x86/asus-wmi.c
1776
ret = devm_led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
1777
&asus->kbd_led);
drivers/platform/x86/asus-wmi.c
1780
asus->kbd_led_registered = true;
drivers/platform/x86/asus-wmi.c
1788
do_kbd_led_set(&asus->kbd_led, value);
drivers/platform/x86/asus-wmi.c
1791
asus->kbd_led_notify = false;
drivers/platform/x86/asus-wmi.c
1792
led_classdev_notify_brightness_hw_changed(&asus->kbd_led, value);
drivers/platform/x86/asus-wmi.c
1802
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1806
asus = asus_ref.asus;
drivers/platform/x86/asus-wmi.c
1807
if (!asus || !asus->kbd_led_registered)
drivers/platform/x86/asus-wmi.c
1810
brightness = asus->kbd_led_wk;
drivers/platform/x86/asus-wmi.c
1827
asus->kbd_led_wk = clamp_val(brightness, 0, ASUS_EV_MAX_BRIGHTNESS);
drivers/platform/x86/asus-wmi.c
1828
asus->kbd_led_notify = true;
drivers/platform/x86/asus-wmi.c
1829
queue_work(asus->led_workqueue, &asus->kbd_led_work);
drivers/platform/x86/asus-wmi.c
1843
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1845
asus = container_of(work, struct asus_wmi, tpd_led_work);
drivers/platform/x86/asus-wmi.c
1847
ctrl_param = asus->tpd_led_wk;
drivers/platform/x86/asus-wmi.c
1854
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1856
asus = container_of(led_cdev, struct asus_wmi, tpd_led);
drivers/platform/x86/asus-wmi.c
1858
asus->tpd_led_wk = !!value;
drivers/platform/x86/asus-wmi.c
1859
queue_work(asus->led_workqueue, &asus->tpd_led_work);
drivers/platform/x86/asus-wmi.c
1862
static int read_tpd_led_state(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
1864
return asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_TOUCHPAD_LED);
drivers/platform/x86/asus-wmi.c
1869
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1871
asus = container_of(led_cdev, struct asus_wmi, tpd_led);
drivers/platform/x86/asus-wmi.c
1873
return read_tpd_led_state(asus);
drivers/platform/x86/asus-wmi.c
1876
static void kbd_led_update(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
1881
ctrl_param = 0x80 | (asus->kbd_led_wk & 0x7F);
drivers/platform/x86/asus-wmi.c
1885
static int kbd_led_read(struct asus_wmi *asus, int *level, int *env)
drivers/platform/x86/asus-wmi.c
1895
retval = asus_wmi_get_devstate_bits(asus, ASUS_WMI_DEVID_KBD_BACKLIGHT,
drivers/platform/x86/asus-wmi.c
1915
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1917
asus = container_of(led_cdev, struct asus_wmi, kbd_led);
drivers/platform/x86/asus-wmi.c
1920
asus->kbd_led_wk = clamp_val(value, 0, ASUS_EV_MAX_BRIGHTNESS);
drivers/platform/x86/asus-wmi.c
1922
if (asus->kbd_led_avail)
drivers/platform/x86/asus-wmi.c
1923
kbd_led_update(asus);
drivers/platform/x86/asus-wmi.c
1927
listener->brightness_set(listener, asus->kbd_led_wk);
drivers/platform/x86/asus-wmi.c
1941
static void kbd_led_set_by_kbd(struct asus_wmi *asus, enum led_brightness value)
drivers/platform/x86/asus-wmi.c
1944
asus->kbd_led_wk = value;
drivers/platform/x86/asus-wmi.c
1945
asus->kbd_led_notify = true;
drivers/platform/x86/asus-wmi.c
1947
queue_work(asus->led_workqueue, &asus->kbd_led_work);
drivers/platform/x86/asus-wmi.c
1952
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1955
asus = container_of(led_cdev, struct asus_wmi, kbd_led);
drivers/platform/x86/asus-wmi.c
1958
if (!asus->kbd_led_avail)
drivers/platform/x86/asus-wmi.c
1959
return asus->kbd_led_wk;
drivers/platform/x86/asus-wmi.c
1962
retval = kbd_led_read(asus, &value, NULL);
drivers/platform/x86/asus-wmi.c
1967
asus->kbd_led_wk = value;
drivers/platform/x86/asus-wmi.c
1972
static int wlan_led_unknown_state(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
1976
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_WIRELESS_LED, &result);
drivers/platform/x86/asus-wmi.c
1984
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1986
asus = container_of(work, struct asus_wmi, wlan_led_work);
drivers/platform/x86/asus-wmi.c
1988
ctrl_param = asus->wlan_led_wk;
drivers/platform/x86/asus-wmi.c
1995
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1997
asus = container_of(led_cdev, struct asus_wmi, wlan_led);
drivers/platform/x86/asus-wmi.c
1999
asus->wlan_led_wk = !!value;
drivers/platform/x86/asus-wmi.c
2000
queue_work(asus->led_workqueue, &asus->wlan_led_work);
drivers/platform/x86/asus-wmi.c
2005
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
2008
asus = container_of(led_cdev, struct asus_wmi, wlan_led);
drivers/platform/x86/asus-wmi.c
2009
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_WIRELESS_LED, &result);
drivers/platform/x86/asus-wmi.c
2016
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
2019
asus = container_of(work, struct asus_wmi, lightbar_led_work);
drivers/platform/x86/asus-wmi.c
2021
ctrl_param = asus->lightbar_led_wk;
drivers/platform/x86/asus-wmi.c
2028
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
2030
asus = container_of(led_cdev, struct asus_wmi, lightbar_led);
drivers/platform/x86/asus-wmi.c
2032
asus->lightbar_led_wk = !!value;
drivers/platform/x86/asus-wmi.c
2033
queue_work(asus->led_workqueue, &asus->lightbar_led_work);
drivers/platform/x86/asus-wmi.c
2038
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
2041
asus = container_of(led_cdev, struct asus_wmi, lightbar_led);
drivers/platform/x86/asus-wmi.c
2042
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_LIGHTBAR, &result);
drivers/platform/x86/asus-wmi.c
2059
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
2062
asus = container_of(led_cdev, struct asus_wmi, camera_led);
drivers/platform/x86/asus-wmi.c
2063
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_CAMERA_LED, &result);
drivers/platform/x86/asus-wmi.c
2078
static void asus_wmi_led_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2081
asus_ref.asus = NULL;
drivers/platform/x86/asus-wmi.c
2083
led_classdev_unregister(&asus->tpd_led);
drivers/platform/x86/asus-wmi.c
2084
led_classdev_unregister(&asus->wlan_led);
drivers/platform/x86/asus-wmi.c
2085
led_classdev_unregister(&asus->lightbar_led);
drivers/platform/x86/asus-wmi.c
2086
led_classdev_unregister(&asus->micmute_led);
drivers/platform/x86/asus-wmi.c
2087
led_classdev_unregister(&asus->camera_led);
drivers/platform/x86/asus-wmi.c
2089
if (asus->led_workqueue)
drivers/platform/x86/asus-wmi.c
2090
destroy_workqueue(asus->led_workqueue);
drivers/platform/x86/asus-wmi.c
2093
static int asus_wmi_led_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2097
if (asus->kbd_rgb_dev)
drivers/platform/x86/asus-wmi.c
2099
if (asus->kbd_rgb_state_available)
drivers/platform/x86/asus-wmi.c
2102
asus->led_workqueue = create_singlethread_workqueue("led_workqueue");
drivers/platform/x86/asus-wmi.c
2103
if (!asus->led_workqueue)
drivers/platform/x86/asus-wmi.c
2106
if (read_tpd_led_state(asus) >= 0) {
drivers/platform/x86/asus-wmi.c
2107
INIT_WORK(&asus->tpd_led_work, tpd_led_update);
drivers/platform/x86/asus-wmi.c
2109
asus->tpd_led.name = "asus::touchpad";
drivers/platform/x86/asus-wmi.c
2110
asus->tpd_led.brightness_set = tpd_led_set;
drivers/platform/x86/asus-wmi.c
2111
asus->tpd_led.brightness_get = tpd_led_get;
drivers/platform/x86/asus-wmi.c
2112
asus->tpd_led.max_brightness = 1;
drivers/platform/x86/asus-wmi.c
2114
rv = led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
2115
&asus->tpd_led);
drivers/platform/x86/asus-wmi.c
2120
asus->kbd_led.name = "asus::kbd_backlight";
drivers/platform/x86/asus-wmi.c
2121
asus->kbd_led.flags = LED_BRIGHT_HW_CHANGED;
drivers/platform/x86/asus-wmi.c
2122
asus->kbd_led.brightness_set_blocking = kbd_led_set;
drivers/platform/x86/asus-wmi.c
2123
asus->kbd_led.brightness_get = kbd_led_get;
drivers/platform/x86/asus-wmi.c
2124
asus->kbd_led.max_brightness = ASUS_EV_MAX_BRIGHTNESS;
drivers/platform/x86/asus-wmi.c
2125
asus->kbd_led_avail = !kbd_led_read(asus, &led_val, NULL);
drivers/platform/x86/asus-wmi.c
2126
INIT_WORK(&asus->kbd_led_work, kbd_led_update_all);
drivers/platform/x86/asus-wmi.c
2128
if (asus->kbd_led_avail) {
drivers/platform/x86/asus-wmi.c
2129
asus->kbd_led_wk = led_val;
drivers/platform/x86/asus-wmi.c
2131
asus->kbd_led.groups = kbd_rgb_mode_groups;
drivers/platform/x86/asus-wmi.c
2133
asus->kbd_led_wk = -1;
drivers/platform/x86/asus-wmi.c
2137
asus_ref.asus = asus;
drivers/platform/x86/asus-wmi.c
2138
if (asus->kbd_led_avail || !list_empty(&asus_ref.listeners))
drivers/platform/x86/asus-wmi.c
2139
queue_work(asus->led_workqueue, &asus->kbd_led_work);
drivers/platform/x86/asus-wmi.c
2142
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_WIRELESS_LED)
drivers/platform/x86/asus-wmi.c
2143
&& (asus->driver->quirks->wapf > 0)) {
drivers/platform/x86/asus-wmi.c
2144
INIT_WORK(&asus->wlan_led_work, wlan_led_update);
drivers/platform/x86/asus-wmi.c
2146
asus->wlan_led.name = "asus::wlan";
drivers/platform/x86/asus-wmi.c
2147
asus->wlan_led.brightness_set = wlan_led_set;
drivers/platform/x86/asus-wmi.c
2148
if (!wlan_led_unknown_state(asus))
drivers/platform/x86/asus-wmi.c
2149
asus->wlan_led.brightness_get = wlan_led_get;
drivers/platform/x86/asus-wmi.c
2150
asus->wlan_led.flags = LED_CORE_SUSPENDRESUME;
drivers/platform/x86/asus-wmi.c
2151
asus->wlan_led.max_brightness = 1;
drivers/platform/x86/asus-wmi.c
2152
asus->wlan_led.default_trigger = "asus-wlan";
drivers/platform/x86/asus-wmi.c
2154
rv = led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
2155
&asus->wlan_led);
drivers/platform/x86/asus-wmi.c
2160
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_LIGHTBAR)) {
drivers/platform/x86/asus-wmi.c
2161
INIT_WORK(&asus->lightbar_led_work, lightbar_led_update);
drivers/platform/x86/asus-wmi.c
2163
asus->lightbar_led.name = "asus::lightbar";
drivers/platform/x86/asus-wmi.c
2164
asus->lightbar_led.brightness_set = lightbar_led_set;
drivers/platform/x86/asus-wmi.c
2165
asus->lightbar_led.brightness_get = lightbar_led_get;
drivers/platform/x86/asus-wmi.c
2166
asus->lightbar_led.max_brightness = 1;
drivers/platform/x86/asus-wmi.c
2168
rv = led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
2169
&asus->lightbar_led);
drivers/platform/x86/asus-wmi.c
2172
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MICMUTE_LED)) {
drivers/platform/x86/asus-wmi.c
2173
asus->micmute_led.name = "platform::micmute";
drivers/platform/x86/asus-wmi.c
2174
asus->micmute_led.max_brightness = 1;
drivers/platform/x86/asus-wmi.c
2175
asus->micmute_led.brightness_set_blocking = micmute_led_set;
drivers/platform/x86/asus-wmi.c
2176
asus->micmute_led.default_trigger = "audio-micmute";
drivers/platform/x86/asus-wmi.c
2178
rv = led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
2179
&asus->micmute_led);
drivers/platform/x86/asus-wmi.c
2184
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_CAMERA_LED)) {
drivers/platform/x86/asus-wmi.c
2185
asus->camera_led.name = "asus::camera";
drivers/platform/x86/asus-wmi.c
2186
asus->camera_led.max_brightness = 1;
drivers/platform/x86/asus-wmi.c
2187
asus->camera_led.brightness_get = camera_led_get;
drivers/platform/x86/asus-wmi.c
2188
asus->camera_led.brightness_set_blocking = camera_led_set;
drivers/platform/x86/asus-wmi.c
2190
rv = led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
2191
&asus->camera_led);
drivers/platform/x86/asus-wmi.c
2196
if (asus->oobe_state_available) {
drivers/platform/x86/asus-wmi.c
2208
asus_wmi_led_exit(asus);
drivers/platform/x86/asus-wmi.c
2218
static bool asus_wlan_rfkill_blocked(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2220
int result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_WLAN);
drivers/platform/x86/asus-wmi.c
2227
static void asus_rfkill_hotplug(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2235
mutex_lock(&asus->wmi_lock);
drivers/platform/x86/asus-wmi.c
2236
blocked = asus_wlan_rfkill_blocked(asus);
drivers/platform/x86/asus-wmi.c
2237
mutex_unlock(&asus->wmi_lock);
drivers/platform/x86/asus-wmi.c
2239
mutex_lock(&asus->hotplug_lock);
drivers/platform/x86/asus-wmi.c
2242
if (asus->wlan.rfkill)
drivers/platform/x86/asus-wmi.c
2243
rfkill_set_sw_state(asus->wlan.rfkill, blocked);
drivers/platform/x86/asus-wmi.c
2245
if (asus->hotplug_slot.ops) {
drivers/platform/x86/asus-wmi.c
225
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
2289
mutex_unlock(&asus->hotplug_lock);
drivers/platform/x86/asus-wmi.c
2294
struct asus_wmi *asus = data;
drivers/platform/x86/asus-wmi.c
2306
queue_work(asus->hotplug_workqueue, &asus->hotplug_work);
drivers/platform/x86/asus-wmi.c
2309
static int asus_register_rfkill_notifier(struct asus_wmi *asus, char *node)
drivers/platform/x86/asus-wmi.c
2319
asus_rfkill_notify, asus);
drivers/platform/x86/asus-wmi.c
2326
static void asus_unregister_rfkill_notifier(struct asus_wmi *asus, char *node)
drivers/platform/x86/asus-wmi.c
2344
struct asus_wmi *asus = container_of(hotplug_slot,
drivers/platform/x86/asus-wmi.c
2346
int result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_WLAN);
drivers/platform/x86/asus-wmi.c
2362
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
2364
asus = container_of(work, struct asus_wmi, hotplug_work);
drivers/platform/x86/asus-wmi.c
2365
asus_rfkill_hotplug(asus);
drivers/platform/x86/asus-wmi.c
2368
static int asus_setup_pci_hotplug(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2378
asus->hotplug_workqueue =
drivers/platform/x86/asus-wmi.c
2380
if (!asus->hotplug_workqueue)
drivers/platform/x86/asus-wmi.c
2383
INIT_WORK(&asus->hotplug_work, asus_hotplug_work);
drivers/platform/x86/asus-wmi.c
2385
asus->hotplug_slot.ops = &asus_hotplug_slot_ops;
drivers/platform/x86/asus-wmi.c
2387
ret = pci_hp_register(&asus->hotplug_slot, bus, 0, "asus-wifi");
drivers/platform/x86/asus-wmi.c
2396
asus->hotplug_slot.ops = NULL;
drivers/platform/x86/asus-wmi.c
2397
destroy_workqueue(asus->hotplug_workqueue);
drivers/platform/x86/asus-wmi.c
2420
priv->asus->driver->wlan_ctrl_by_user)
drivers/platform/x86/asus-wmi.c
2431
result = asus_wmi_get_devstate_simple(priv->asus, priv->dev_id);
drivers/platform/x86/asus-wmi.c
2442
struct asus_wmi *asus = priv->asus;
drivers/platform/x86/asus-wmi.c
2452
mutex_lock(&asus->wmi_lock);
drivers/platform/x86/asus-wmi.c
2454
mutex_unlock(&asus->wmi_lock);
drivers/platform/x86/asus-wmi.c
2468
static int asus_new_rfkill(struct asus_wmi *asus,
drivers/platform/x86/asus-wmi.c
2472
int result = asus_wmi_get_devstate_simple(asus, dev_id);
drivers/platform/x86/asus-wmi.c
2479
arfkill->asus = asus;
drivers/platform/x86/asus-wmi.c
2482
asus->driver->quirks->hotplug_wireless)
drivers/platform/x86/asus-wmi.c
2483
*rfkill = rfkill_alloc(name, &asus->platform_device->dev, type,
drivers/platform/x86/asus-wmi.c
2486
*rfkill = rfkill_alloc(name, &asus->platform_device->dev, type,
drivers/platform/x86/asus-wmi.c
2493
(asus->driver->quirks->wapf > 0))
drivers/platform/x86/asus-wmi.c
2506
static void asus_wmi_rfkill_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2508
if (asus->driver->wlan_ctrl_by_user && ashs_present())
drivers/platform/x86/asus-wmi.c
2511
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P5");
drivers/platform/x86/asus-wmi.c
2512
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P6");
drivers/platform/x86/asus-wmi.c
2513
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P7");
drivers/platform/x86/asus-wmi.c
2514
if (asus->wlan.rfkill) {
drivers/platform/x86/asus-wmi.c
2515
rfkill_unregister(asus->wlan.rfkill);
drivers/platform/x86/asus-wmi.c
2516
rfkill_destroy(asus->wlan.rfkill);
drivers/platform/x86/asus-wmi.c
2517
asus->wlan.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2523
asus_rfkill_hotplug(asus);
drivers/platform/x86/asus-wmi.c
2524
if (asus->hotplug_slot.ops)
drivers/platform/x86/asus-wmi.c
2525
pci_hp_deregister(&asus->hotplug_slot);
drivers/platform/x86/asus-wmi.c
2526
if (asus->hotplug_workqueue)
drivers/platform/x86/asus-wmi.c
2527
destroy_workqueue(asus->hotplug_workqueue);
drivers/platform/x86/asus-wmi.c
2529
if (asus->bluetooth.rfkill) {
drivers/platform/x86/asus-wmi.c
2530
rfkill_unregister(asus->bluetooth.rfkill);
drivers/platform/x86/asus-wmi.c
2531
rfkill_destroy(asus->bluetooth.rfkill);
drivers/platform/x86/asus-wmi.c
2532
asus->bluetooth.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2534
if (asus->wimax.rfkill) {
drivers/platform/x86/asus-wmi.c
2535
rfkill_unregister(asus->wimax.rfkill);
drivers/platform/x86/asus-wmi.c
2536
rfkill_destroy(asus->wimax.rfkill);
drivers/platform/x86/asus-wmi.c
2537
asus->wimax.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2539
if (asus->wwan3g.rfkill) {
drivers/platform/x86/asus-wmi.c
2540
rfkill_unregister(asus->wwan3g.rfkill);
drivers/platform/x86/asus-wmi.c
2541
rfkill_destroy(asus->wwan3g.rfkill);
drivers/platform/x86/asus-wmi.c
2542
asus->wwan3g.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2544
if (asus->gps.rfkill) {
drivers/platform/x86/asus-wmi.c
2545
rfkill_unregister(asus->gps.rfkill);
drivers/platform/x86/asus-wmi.c
2546
rfkill_destroy(asus->gps.rfkill);
drivers/platform/x86/asus-wmi.c
2547
asus->gps.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2549
if (asus->uwb.rfkill) {
drivers/platform/x86/asus-wmi.c
2550
rfkill_unregister(asus->uwb.rfkill);
drivers/platform/x86/asus-wmi.c
2551
rfkill_destroy(asus->uwb.rfkill);
drivers/platform/x86/asus-wmi.c
2552
asus->uwb.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2556
static int asus_wmi_rfkill_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2560
mutex_init(&asus->hotplug_lock);
drivers/platform/x86/asus-wmi.c
2561
mutex_init(&asus->wmi_lock);
drivers/platform/x86/asus-wmi.c
2563
result = asus_new_rfkill(asus, &asus->wlan, "asus-wlan",
drivers/platform/x86/asus-wmi.c
2569
result = asus_new_rfkill(asus, &asus->bluetooth,
drivers/platform/x86/asus-wmi.c
2576
result = asus_new_rfkill(asus, &asus->wimax, "asus-wimax",
drivers/platform/x86/asus-wmi.c
2582
result = asus_new_rfkill(asus, &asus->wwan3g, "asus-wwan3g",
drivers/platform/x86/asus-wmi.c
2588
result = asus_new_rfkill(asus, &asus->gps, "asus-gps",
drivers/platform/x86/asus-wmi.c
2594
result = asus_new_rfkill(asus, &asus->uwb, "asus-uwb",
drivers/platform/x86/asus-wmi.c
2600
if (!asus->driver->quirks->hotplug_wireless)
drivers/platform/x86/asus-wmi.c
2603
result = asus_setup_pci_hotplug(asus);
drivers/platform/x86/asus-wmi.c
2611
asus_register_rfkill_notifier(asus, "\\_SB.PCI0.P0P5");
drivers/platform/x86/asus-wmi.c
2612
asus_register_rfkill_notifier(asus, "\\_SB.PCI0.P0P6");
drivers/platform/x86/asus-wmi.c
2613
asus_register_rfkill_notifier(asus, "\\_SB.PCI0.P0P7");
drivers/platform/x86/asus-wmi.c
2618
asus_rfkill_hotplug(asus);
drivers/platform/x86/asus-wmi.c
2622
asus_wmi_rfkill_exit(asus);
drivers/platform/x86/asus-wmi.c
2635
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2638
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_PANEL_OD);
drivers/platform/x86/asus-wmi.c
2654
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2675
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "panel_od");
drivers/platform/x86/asus-wmi.c
2687
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2690
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_BOOT_SOUND);
drivers/platform/x86/asus-wmi.c
2706
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2726
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "boot_sound");
drivers/platform/x86/asus-wmi.c
2738
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2742
err = asus_wmi_get_devstate(asus, asus->mini_led_dev_id, &value);
drivers/platform/x86/asus-wmi.c
2751
if (asus->mini_led_dev_id == ASUS_WMI_DEVID_MINI_LED_MODE2) {
drivers/platform/x86/asus-wmi.c
2777
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2783
if (asus->mini_led_dev_id == ASUS_WMI_DEVID_MINI_LED_MODE &&
drivers/platform/x86/asus-wmi.c
2786
if (asus->mini_led_dev_id == ASUS_WMI_DEVID_MINI_LED_MODE2 &&
drivers/platform/x86/asus-wmi.c
2794
if (asus->mini_led_dev_id == ASUS_WMI_DEVID_MINI_LED_MODE2) {
drivers/platform/x86/asus-wmi.c
2808
err = asus_wmi_set_devstate(asus->mini_led_dev_id, mode, &result);
drivers/platform/x86/asus-wmi.c
2819
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "mini_led_mode");
drivers/platform/x86/asus-wmi.c
2828
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2830
switch (asus->mini_led_dev_id) {
drivers/platform/x86/asus-wmi.c
2847
static void asus_wmi_set_xusb2pr(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2851
u32 ports_available = asus->driver->quirks->xusb2pr;
drivers/platform/x86/asus-wmi.c
2883
static int asus_agfn_fan_speed_read(struct asus_wmi *asus, int fan,
drivers/platform/x86/asus-wmi.c
2910
static int asus_agfn_fan_speed_write(struct asus_wmi *asus, int fan,
drivers/platform/x86/asus-wmi.c
2933
asus->agfn_pwm = *speed;
drivers/platform/x86/asus-wmi.c
2942
static bool asus_wmi_has_agfn_fan(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2948
status = asus_agfn_fan_speed_read(asus, 1, &speed);
drivers/platform/x86/asus-wmi.c
2952
status = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_FAN_CTRL, &value);
drivers/platform/x86/asus-wmi.c
2965
|| (!asus->sfun && !(value & ASUS_WMI_DSTS_PRESENCE_BIT)));
drivers/platform/x86/asus-wmi.c
2968
static int asus_fan_set_auto(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2973
switch (asus->fan_type) {
drivers/platform/x86/asus-wmi.c
2985
status = asus_agfn_fan_speed_write(asus, 0, NULL);
drivers/platform/x86/asus-wmi.c
2997
if (asus->gpu_fan_type == FAN_TYPE_SPEC83) {
drivers/platform/x86/asus-wmi.c
3014
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3019
if (asus->agfn_pwm >= 0)
drivers/platform/x86/asus-wmi.c
3020
return sysfs_emit(buf, "%d\n", asus->agfn_pwm);
drivers/platform/x86/asus-wmi.c
3026
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_FAN_CTRL, &value);
drivers/platform/x86/asus-wmi.c
3049
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3060
state = asus_agfn_fan_speed_write(asus, 1, &value);
drivers/platform/x86/asus-wmi.c
3064
asus->fan_pwm_mode = ASUS_FAN_CTRL_MANUAL;
drivers/platform/x86/asus-wmi.c
3073
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3077
switch (asus->fan_type) {
drivers/platform/x86/asus-wmi.c
3079
ret = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_CPU_FAN_CTRL,
drivers/platform/x86/asus-wmi.c
3089
if (asus->fan_pwm_mode == ASUS_FAN_CTRL_MANUAL)
drivers/platform/x86/asus-wmi.c
3092
ret = asus_agfn_fan_speed_read(asus, 1, &value);
drivers/platform/x86/asus-wmi.c
3110
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3121
return sysfs_emit(buf, "%d\n", asus->fan_pwm_mode);
drivers/platform/x86/asus-wmi.c
3128
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3139
if (asus->fan_type == FAN_TYPE_SPEC83) {
drivers/platform/x86/asus-wmi.c
3158
} else if (asus->fan_type == FAN_TYPE_AGFN) {
drivers/platform/x86/asus-wmi.c
3164
status = asus_fan_set_auto(asus);
drivers/platform/x86/asus-wmi.c
3174
asus->fan_pwm_mode = state;
drivers/platform/x86/asus-wmi.c
3177
if (asus->cpu_fan_curve_available)
drivers/platform/x86/asus-wmi.c
3178
asus->custom_fan_curves[FAN_CURVE_DEV_CPU].enabled = false;
drivers/platform/x86/asus-wmi.c
3179
if (asus->gpu_fan_curve_available)
drivers/platform/x86/asus-wmi.c
3180
asus->custom_fan_curves[FAN_CURVE_DEV_GPU].enabled = false;
drivers/platform/x86/asus-wmi.c
3181
if (asus->mid_fan_curve_available)
drivers/platform/x86/asus-wmi.c
3182
asus->custom_fan_curves[FAN_CURVE_DEV_MID].enabled = false;
drivers/platform/x86/asus-wmi.c
3191
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3195
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_THERMAL_CTRL, &value);
drivers/platform/x86/asus-wmi.c
3208
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3212
ret = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_GPU_FAN_CTRL, &value);
drivers/platform/x86/asus-wmi.c
3226
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3230
ret = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_MID_FAN_CTRL, &value);
drivers/platform/x86/asus-wmi.c
3243
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3245
return sysfs_emit(buf, "%d\n", asus->gpu_fan_pwm_mode);
drivers/platform/x86/asus-wmi.c
3252
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3281
asus->gpu_fan_pwm_mode = state;
drivers/platform/x86/asus-wmi.c
3289
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3291
return sysfs_emit(buf, "%d\n", asus->mid_fan_pwm_mode);
drivers/platform/x86/asus-wmi.c
3298
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3327
asus->mid_fan_pwm_mode = state;
drivers/platform/x86/asus-wmi.c
3369
struct asus_wmi *asus = dev_get_drvdata(dev->parent);
drivers/platform/x86/asus-wmi.c
3373
if (asus->fan_type != FAN_TYPE_AGFN)
drivers/platform/x86/asus-wmi.c
3378
if (asus->fan_type == FAN_TYPE_NONE)
drivers/platform/x86/asus-wmi.c
3383
if (asus->gpu_fan_type == FAN_TYPE_NONE)
drivers/platform/x86/asus-wmi.c
3388
if (asus->mid_fan_type == FAN_TYPE_NONE)
drivers/platform/x86/asus-wmi.c
3391
int err = asus_wmi_get_devstate(asus,
drivers/platform/x86/asus-wmi.c
3415
static int asus_wmi_hwmon_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
3417
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
3420
hwmon = devm_hwmon_device_register_with_groups(dev, "asus", asus,
drivers/platform/x86/asus-wmi.c
3430
static int asus_wmi_fan_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
3432
asus->gpu_fan_type = FAN_TYPE_NONE;
drivers/platform/x86/asus-wmi.c
3433
asus->mid_fan_type = FAN_TYPE_NONE;
drivers/platform/x86/asus-wmi.c
3434
asus->fan_type = FAN_TYPE_NONE;
drivers/platform/x86/asus-wmi.c
3435
asus->agfn_pwm = -1;
drivers/platform/x86/asus-wmi.c
3437
if (asus->driver->quirks->wmi_ignore_fan)
drivers/platform/x86/asus-wmi.c
3438
asus->fan_type = FAN_TYPE_NONE;
drivers/platform/x86/asus-wmi.c
3439
else if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_CPU_FAN_CTRL))
drivers/platform/x86/asus-wmi.c
3440
asus->fan_type = FAN_TYPE_SPEC83;
drivers/platform/x86/asus-wmi.c
3441
else if (asus_wmi_has_agfn_fan(asus))
drivers/platform/x86/asus-wmi.c
3442
asus->fan_type = FAN_TYPE_AGFN;
drivers/platform/x86/asus-wmi.c
3445
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_FAN_CTRL))
drivers/platform/x86/asus-wmi.c
3446
asus->gpu_fan_type = FAN_TYPE_SPEC83;
drivers/platform/x86/asus-wmi.c
3449
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MID_FAN_CTRL))
drivers/platform/x86/asus-wmi.c
3450
asus->mid_fan_type = FAN_TYPE_SPEC83;
drivers/platform/x86/asus-wmi.c
3452
if (asus->fan_type == FAN_TYPE_NONE)
drivers/platform/x86/asus-wmi.c
3455
asus_fan_set_auto(asus);
drivers/platform/x86/asus-wmi.c
3456
asus->fan_pwm_mode = ASUS_FAN_CTRL_AUTO;
drivers/platform/x86/asus-wmi.c
3462
static int fan_boost_mode_check_present(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
3467
asus->fan_boost_mode_available = false;
drivers/platform/x86/asus-wmi.c
3469
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_FAN_BOOST_MODE,
drivers/platform/x86/asus-wmi.c
3480
asus->fan_boost_mode_available = true;
drivers/platform/x86/asus-wmi.c
3481
asus->fan_boost_mode_mask = result & ASUS_FAN_BOOST_MODES_MASK;
drivers/platform/x86/asus-wmi.c
3487
static int fan_boost_mode_write(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
3493
value = asus->fan_boost_mode;
drivers/platform/x86/asus-wmi.c
3499
sysfs_notify(&asus->platform_device->dev.kobj, NULL,
drivers/platform/x86/asus-wmi.c
3516
static int fan_boost_mode_switch_next(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
3518
u8 mask = asus->fan_boost_mode_mask;
drivers/platform/x86/asus-wmi.c
3520
if (asus->fan_boost_mode == ASUS_FAN_BOOST_MODE_NORMAL) {
drivers/platform/x86/asus-wmi.c
3522
asus->fan_boost_mode = ASUS_FAN_BOOST_MODE_OVERBOOST;
drivers/platform/x86/asus-wmi.c
3524
asus->fan_boost_mode = ASUS_FAN_BOOST_MODE_SILENT;
drivers/platform/x86/asus-wmi.c
3525
} else if (asus->fan_boost_mode == ASUS_FAN_BOOST_MODE_OVERBOOST) {
drivers/platform/x86/asus-wmi.c
3527
asus->fan_boost_mode = ASUS_FAN_BOOST_MODE_SILENT;
drivers/platform/x86/asus-wmi.c
3529
asus->fan_boost_mode = ASUS_FAN_BOOST_MODE_NORMAL;
drivers/platform/x86/asus-wmi.c
3531
asus->fan_boost_mode = ASUS_FAN_BOOST_MODE_NORMAL;
drivers/platform/x86/asus-wmi.c
3534
return fan_boost_mode_write(asus);
drivers/platform/x86/asus-wmi.c
3540
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3542
return sysfs_emit(buf, "%d\n", asus->fan_boost_mode);
drivers/platform/x86/asus-wmi.c
3549
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3550
u8 mask = asus->fan_boost_mode_mask;
drivers/platform/x86/asus-wmi.c
3570
asus->fan_boost_mode = new_mode;
drivers/platform/x86/asus-wmi.c
3571
fan_boost_mode_write(asus);
drivers/platform/x86/asus-wmi.c
3595
static int fan_curve_get_factory_default(struct asus_wmi *asus, u32 fan_dev)
drivers/platform/x86/asus-wmi.c
3602
if (asus->throttle_thermal_policy_dev)
drivers/platform/x86/asus-wmi.c
3603
mode = asus->throttle_thermal_policy_mode;
drivers/platform/x86/asus-wmi.c
3610
err = asus_wmi_evaluate_method_buf(asus->dsts_id, fan_dev, mode, buf,
drivers/platform/x86/asus-wmi.c
3624
curves = &asus->custom_fan_curves[fan_idx];
drivers/platform/x86/asus-wmi.c
3632
static int fan_curve_check_present(struct asus_wmi *asus, bool *available,
drivers/platform/x86/asus-wmi.c
3639
if (asus->fan_type == FAN_TYPE_NONE)
drivers/platform/x86/asus-wmi.c
3642
err = fan_curve_get_factory_default(asus, fan_dev);
drivers/platform/x86/asus-wmi.c
3652
static struct fan_curve_data *fan_curve_attr_select(struct asus_wmi *asus,
drivers/platform/x86/asus-wmi.c
3657
return &asus->custom_fan_curves[index];
drivers/platform/x86/asus-wmi.c
3661
static struct fan_curve_data *fan_curve_attr_2_select(struct asus_wmi *asus,
drivers/platform/x86/asus-wmi.c
3666
return &asus->custom_fan_curves[nr & ~FAN_CURVE_PWM_MASK];
drivers/platform/x86/asus-wmi.c
3673
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3677
data = fan_curve_attr_2_select(asus, attr);
drivers/platform/x86/asus-wmi.c
3692
static int fan_curve_write(struct asus_wmi *asus,
drivers/platform/x86/asus-wmi.c
3722
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3727
data = fan_curve_attr_2_select(asus, attr);
drivers/platform/x86/asus-wmi.c
3753
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3757
data = fan_curve_attr_select(asus, attr);
drivers/platform/x86/asus-wmi.c
3769
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3773
data = fan_curve_attr_select(asus, attr);
drivers/platform/x86/asus-wmi.c
3791
err = fan_curve_get_factory_default(asus, data->device_id);
drivers/platform/x86/asus-wmi.c
3801
err = fan_curve_write(asus, data);
drivers/platform/x86/asus-wmi.c
3809
if (asus->throttle_thermal_policy_dev) {
drivers/platform/x86/asus-wmi.c
3810
err = throttle_thermal_policy_write(asus);
drivers/platform/x86/asus-wmi.c
3814
} else if (asus->fan_type == FAN_TYPE_SPEC83) {
drivers/platform/x86/asus-wmi.c
3815
err = asus_fan_set_auto(asus);
drivers/platform/x86/asus-wmi.c
3820
err = fan_curve_get_factory_default(asus, data->device_id);
drivers/platform/x86/asus-wmi.c
3823
err = fan_curve_write(asus, data);
drivers/platform/x86/asus-wmi.c
4001
struct asus_wmi *asus = dev_get_drvdata(dev->parent);
drivers/platform/x86/asus-wmi.c
4007
if (asus->cpu_fan_curve_available && attr->name[3] == '1')
drivers/platform/x86/asus-wmi.c
4010
if (asus->gpu_fan_curve_available && attr->name[3] == '2')
drivers/platform/x86/asus-wmi.c
4013
if (asus->mid_fan_curve_available && attr->name[3] == '3')
drivers/platform/x86/asus-wmi.c
4029
static int asus_wmi_custom_fan_curve_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4031
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
4035
err = fan_curve_check_present(asus, &asus->cpu_fan_curve_available,
drivers/platform/x86/asus-wmi.c
4043
err = fan_curve_check_present(asus, &asus->gpu_fan_curve_available,
drivers/platform/x86/asus-wmi.c
4051
err = fan_curve_check_present(asus, &asus->mid_fan_curve_available,
drivers/platform/x86/asus-wmi.c
4059
if (!asus->cpu_fan_curve_available
drivers/platform/x86/asus-wmi.c
4060
&& !asus->gpu_fan_curve_available
drivers/platform/x86/asus-wmi.c
4061
&& !asus->mid_fan_curve_available)
drivers/platform/x86/asus-wmi.c
4065
dev, "asus_custom_fan_curve", asus, asus_fan_curve_attr_groups);
drivers/platform/x86/asus-wmi.c
4077
static int throttle_thermal_policy_write(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4082
if (asus->throttle_thermal_policy_dev == ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY_VIVO) {
drivers/platform/x86/asus-wmi.c
4083
switch (asus->throttle_thermal_policy_mode) {
drivers/platform/x86/asus-wmi.c
4097
value = asus->throttle_thermal_policy_mode;
drivers/platform/x86/asus-wmi.c
4101
err = asus_wmi_set_devstate(asus->throttle_thermal_policy_dev, value, NULL);
drivers/platform/x86/asus-wmi.c
4103
sysfs_notify(&asus->platform_device->dev.kobj, NULL,
drivers/platform/x86/asus-wmi.c
4112
if (asus->cpu_fan_curve_available)
drivers/platform/x86/asus-wmi.c
4113
asus->custom_fan_curves[FAN_CURVE_DEV_CPU].enabled = false;
drivers/platform/x86/asus-wmi.c
4114
if (asus->gpu_fan_curve_available)
drivers/platform/x86/asus-wmi.c
4115
asus->custom_fan_curves[FAN_CURVE_DEV_GPU].enabled = false;
drivers/platform/x86/asus-wmi.c
4116
if (asus->mid_fan_curve_available)
drivers/platform/x86/asus-wmi.c
4117
asus->custom_fan_curves[FAN_CURVE_DEV_MID].enabled = false;
drivers/platform/x86/asus-wmi.c
4122
static int throttle_thermal_policy_set_default(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4124
if (!asus->throttle_thermal_policy_dev)
drivers/platform/x86/asus-wmi.c
4127
asus->throttle_thermal_policy_mode = ASUS_THROTTLE_THERMAL_POLICY_DEFAULT;
drivers/platform/x86/asus-wmi.c
4128
return throttle_thermal_policy_write(asus);
drivers/platform/x86/asus-wmi.c
4135
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
4136
u8 mode = asus->throttle_thermal_policy_mode;
drivers/platform/x86/asus-wmi.c
4145
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
4157
asus->throttle_thermal_policy_mode = new_mode;
drivers/platform/x86/asus-wmi.c
4158
err = throttle_thermal_policy_write(asus);
drivers/platform/x86/asus-wmi.c
4166
platform_profile_notify(asus->ppdev);
drivers/platform/x86/asus-wmi.c
4181
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
4184
asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
4185
tp = asus->throttle_thermal_policy_mode;
drivers/platform/x86/asus-wmi.c
4207
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
4210
asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
4226
asus->throttle_thermal_policy_mode = tp;
drivers/platform/x86/asus-wmi.c
4227
return throttle_thermal_policy_write(asus);
drivers/platform/x86/asus-wmi.c
4245
static int platform_profile_setup(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4247
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
4254
if (!asus->throttle_thermal_policy_dev)
drivers/platform/x86/asus-wmi.c
4261
err = throttle_thermal_policy_set_default(asus);
drivers/platform/x86/asus-wmi.c
4269
asus->ppdev = devm_platform_profile_register(dev, "asus-wmi", asus,
drivers/platform/x86/asus-wmi.c
4271
if (IS_ERR(asus->ppdev)) {
drivers/platform/x86/asus-wmi.c
4273
return PTR_ERR(asus->ppdev);
drivers/platform/x86/asus-wmi.c
4276
asus->platform_profile_support = true;
drivers/platform/x86/asus-wmi.c
4282
static int read_backlight_power(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4286
if (asus->driver->quirks->store_backlight_power)
drivers/platform/x86/asus-wmi.c
4287
ret = !asus->driver->panel_power;
drivers/platform/x86/asus-wmi.c
4289
ret = asus_wmi_get_devstate_simple(asus,
drivers/platform/x86/asus-wmi.c
4298
static int read_brightness_max(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4303
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_BRIGHTNESS, &retval);
drivers/platform/x86/asus-wmi.c
4318
struct asus_wmi *asus = bl_get_data(bd);
drivers/platform/x86/asus-wmi.c
4322
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_BRIGHTNESS, &retval);
drivers/platform/x86/asus-wmi.c
4331
struct asus_wmi *asus = bl_get_data(bd);
drivers/platform/x86/asus-wmi.c
4334
if ((asus->driver->brightness < bd->props.brightness) ||
drivers/platform/x86/asus-wmi.c
4337
else if ((asus->driver->brightness > bd->props.brightness) ||
drivers/platform/x86/asus-wmi.c
4341
asus->driver->brightness = bd->props.brightness;
drivers/platform/x86/asus-wmi.c
4348
struct asus_wmi *asus = bl_get_data(bd);
drivers/platform/x86/asus-wmi.c
4352
power = read_backlight_power(asus);
drivers/platform/x86/asus-wmi.c
4357
if (asus->driver->quirks->store_backlight_power)
drivers/platform/x86/asus-wmi.c
4358
asus->driver->panel_power = bd->props.power;
drivers/platform/x86/asus-wmi.c
4362
if (asus->driver->quirks->scalar_panel_brightness)
drivers/platform/x86/asus-wmi.c
4366
if (asus->driver->quirks->scalar_panel_brightness)
drivers/platform/x86/asus-wmi.c
4382
static int asus_wmi_backlight_notify(struct asus_wmi *asus, int code)
drivers/platform/x86/asus-wmi.c
4384
struct backlight_device *bd = asus->backlight_device;
drivers/platform/x86/asus-wmi.c
4400
static int asus_wmi_backlight_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4407
max = read_brightness_max(asus);
drivers/platform/x86/asus-wmi.c
4411
power = read_backlight_power(asus);
drivers/platform/x86/asus-wmi.c
4420
bd = backlight_device_register(asus->driver->name,
drivers/platform/x86/asus-wmi.c
4421
&asus->platform_device->dev, asus,
drivers/platform/x86/asus-wmi.c
4428
asus->backlight_device = bd;
drivers/platform/x86/asus-wmi.c
4430
if (asus->driver->quirks->store_backlight_power)
drivers/platform/x86/asus-wmi.c
4431
asus->driver->panel_power = power;
drivers/platform/x86/asus-wmi.c
4437
asus->driver->brightness = bd->props.brightness;
drivers/platform/x86/asus-wmi.c
4442
static void asus_wmi_backlight_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4444
backlight_device_unregister(asus->backlight_device);
drivers/platform/x86/asus-wmi.c
4446
asus->backlight_device = NULL;
drivers/platform/x86/asus-wmi.c
4463
static int read_screenpad_backlight_power(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4467
ret = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_SCREENPAD_POWER);
drivers/platform/x86/asus-wmi.c
4476
struct asus_wmi *asus = bl_get_data(bd);
drivers/platform/x86/asus-wmi.c
4480
err = read_screenpad_backlight_power(asus);
drivers/platform/x86/asus-wmi.c
4487
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_SCREENPAD_LIGHT, &retval);
drivers/platform/x86/asus-wmi.c
4524
static int asus_screenpad_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4531
power = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_SCREENPAD_POWER);
drivers/platform/x86/asus-wmi.c
4536
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_SCREENPAD_LIGHT, &brightness);
drivers/platform/x86/asus-wmi.c
4545
&asus->platform_device->dev, asus,
drivers/platform/x86/asus-wmi.c
4552
asus->screenpad_backlight_device = bd;
drivers/platform/x86/asus-wmi.c
4553
asus->driver->screenpad_brightness = brightness;
drivers/platform/x86/asus-wmi.c
4561
static void asus_screenpad_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4563
backlight_device_unregister(asus->screenpad_backlight_device);
drivers/platform/x86/asus-wmi.c
4565
asus->screenpad_backlight_device = NULL;
drivers/platform/x86/asus-wmi.c
4570
static bool asus_wmi_has_fnlock_key(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4574
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_FNLOCK, &result);
drivers/platform/x86/asus-wmi.c
4580
static void asus_wmi_fnlock_update(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4582
int mode = asus->fnlock_locked;
drivers/platform/x86/asus-wmi.c
4601
static void asus_wmi_handle_event_code(int code, struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4607
if (asus->driver->key_filter) {
drivers/platform/x86/asus-wmi.c
4608
asus->driver->key_filter(asus->driver, &code, &key_value,
drivers/platform/x86/asus-wmi.c
4616
asus_wmi_backlight_notify(asus, code);
drivers/platform/x86/asus-wmi.c
4621
led_value = asus->kbd_led_wk;
drivers/platform/x86/asus-wmi.c
4624
kbd_led_set_by_kbd(asus, led_value + 1);
drivers/platform/x86/asus-wmi.c
4628
kbd_led_set_by_kbd(asus, led_value - 1);
drivers/platform/x86/asus-wmi.c
4633
kbd_led_set_by_kbd(asus, 0);
drivers/platform/x86/asus-wmi.c
4635
kbd_led_set_by_kbd(asus, led_value + 1);
drivers/platform/x86/asus-wmi.c
4640
asus->fnlock_locked = !asus->fnlock_locked;
drivers/platform/x86/asus-wmi.c
4641
asus_wmi_fnlock_update(asus);
drivers/platform/x86/asus-wmi.c
4645
if (code == asus->tablet_switch_event_code) {
drivers/platform/x86/asus-wmi.c
4646
asus_wmi_tablet_mode_get_state(asus);
drivers/platform/x86/asus-wmi.c
4651
if (asus->keystone_available)
drivers/platform/x86/asus-wmi.c
4652
asus_wmi_keystone_notify(asus);
drivers/platform/x86/asus-wmi.c
4657
if (asus->fan_boost_mode_available)
drivers/platform/x86/asus-wmi.c
4658
fan_boost_mode_switch_next(asus);
drivers/platform/x86/asus-wmi.c
4659
if (asus->throttle_thermal_policy_dev)
drivers/platform/x86/asus-wmi.c
4665
if (is_display_toggle(code) && asus->driver->quirks->no_display_toggle)
drivers/platform/x86/asus-wmi.c
4668
if (!sparse_keymap_report_event(asus->inputdev, code,
drivers/platform/x86/asus-wmi.c
4675
struct asus_wmi *asus = context;
drivers/platform/x86/asus-wmi.c
4683
asus_wmi_handle_event_code(code, asus);
drivers/platform/x86/asus-wmi.c
4688
static ssize_t store_sys_wmi(struct asus_wmi *asus, int devid,
drivers/platform/x86/asus-wmi.c
4694
value = asus_wmi_get_devstate_simple(asus, devid);
drivers/platform/x86/asus-wmi.c
4709
static ssize_t show_sys_wmi(struct asus_wmi *asus, int devid, char *buf)
drivers/platform/x86/asus-wmi.c
4711
int value = asus_wmi_get_devstate_simple(asus, devid);
drivers/platform/x86/asus-wmi.c
4724
struct asus_wmi *asus = dev_get_drvdata(dev); \
drivers/platform/x86/asus-wmi.c
4726
return show_sys_wmi(asus, _cm, buf); \
drivers/platform/x86/asus-wmi.c
4732
struct asus_wmi *asus = dev_get_drvdata(dev); \
drivers/platform/x86/asus-wmi.c
4734
return store_sys_wmi(asus, _cm, buf, count); \
drivers/platform/x86/asus-wmi.c
4807
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
4822
ok = asus->fan_boost_mode_available;
drivers/platform/x86/asus-wmi.c
4824
ok = asus->keystone_available;
drivers/platform/x86/asus-wmi.c
4830
ok = asus->egpu_enable_available;
drivers/platform/x86/asus-wmi.c
4834
ok = asus->dgpu_disable_available;
drivers/platform/x86/asus-wmi.c
4836
ok = asus->gpu_mux_dev != 0;
drivers/platform/x86/asus-wmi.c
4838
ok = asus->fan_boost_mode_available;
drivers/platform/x86/asus-wmi.c
4840
ok = asus->throttle_thermal_policy_dev != 0;
drivers/platform/x86/asus-wmi.c
4862
ok = asus->mini_led_dev_id != 0;
drivers/platform/x86/asus-wmi.c
4864
ok = asus->mini_led_dev_id != 0;
drivers/platform/x86/asus-wmi.c
4868
ok = !(asus_wmi_get_devstate_simple(asus, devid) < 0);
drivers/platform/x86/asus-wmi.c
4892
static int asus_wmi_platform_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4894
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
4905
asus->spec = rv;
drivers/platform/x86/asus-wmi.c
4916
asus->sfun = rv;
drivers/platform/x86/asus-wmi.c
4938
asus->dsts_id = ASUS_WMI_METHODID_DCTS;
drivers/platform/x86/asus-wmi.c
4941
asus->dsts_id = ASUS_WMI_METHODID_DSTS;
drivers/platform/x86/asus-wmi.c
4946
if (asus->driver->quirks->wapf >= 0)
drivers/platform/x86/asus-wmi.c
4948
asus->driver->quirks->wapf, NULL);
drivers/platform/x86/asus-wmi.c
4956
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
4963
struct asus_wmi *asus = m->private;
drivers/platform/x86/asus-wmi.c
4967
err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval);
drivers/platform/x86/asus-wmi.c
4971
seq_printf(m, "DSTS(%#x) = %#x\n", asus->debug.dev_id, retval);
drivers/platform/x86/asus-wmi.c
4978
struct asus_wmi *asus = m->private;
drivers/platform/x86/asus-wmi.c
4982
err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param,
drivers/platform/x86/asus-wmi.c
4987
seq_printf(m, "DEVS(%#x, %#x) = %#x\n", asus->debug.dev_id,
drivers/platform/x86/asus-wmi.c
4988
asus->debug.ctrl_param, retval);
drivers/platform/x86/asus-wmi.c
4995
struct asus_wmi *asus = m->private;
drivers/platform/x86/asus-wmi.c
4997
.arg0 = asus->debug.dev_id,
drivers/platform/x86/asus-wmi.c
4998
.arg1 = asus->debug.ctrl_param,
drivers/platform/x86/asus-wmi.c
5006
0, asus->debug.method_id,
drivers/platform/x86/asus-wmi.c
5014
seq_printf(m, "%#x(%#x, %#x) = %#x\n", asus->debug.method_id,
drivers/platform/x86/asus-wmi.c
5015
asus->debug.dev_id, asus->debug.ctrl_param,
drivers/platform/x86/asus-wmi.c
5018
seq_printf(m, "%#x(%#x, %#x) = t:%d\n", asus->debug.method_id,
drivers/platform/x86/asus-wmi.c
5019
asus->debug.dev_id, asus->debug.ctrl_param,
drivers/platform/x86/asus-wmi.c
5037
return single_open(file, node->show, node->asus);
drivers/platform/x86/asus-wmi.c
5048
static void asus_wmi_debugfs_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
5050
debugfs_remove_recursive(asus->debug.root);
drivers/platform/x86/asus-wmi.c
5053
static void asus_wmi_debugfs_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
5057
asus->debug.root = debugfs_create_dir(asus->driver->name, NULL);
drivers/platform/x86/asus-wmi.c
5059
debugfs_create_x32("method_id", S_IRUGO | S_IWUSR, asus->debug.root,
drivers/platform/x86/asus-wmi.c
5060
&asus->debug.method_id);
drivers/platform/x86/asus-wmi.c
5062
debugfs_create_x32("dev_id", S_IRUGO | S_IWUSR, asus->debug.root,
drivers/platform/x86/asus-wmi.c
5063
&asus->debug.dev_id);
drivers/platform/x86/asus-wmi.c
5065
debugfs_create_x32("ctrl_param", S_IRUGO | S_IWUSR, asus->debug.root,
drivers/platform/x86/asus-wmi.c
5066
&asus->debug.ctrl_param);
drivers/platform/x86/asus-wmi.c
5071
node->asus = asus;
drivers/platform/x86/asus-wmi.c
5073
asus->debug.root, node,
drivers/platform/x86/asus-wmi.c
5084
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
5089
asus = kzalloc_obj(struct asus_wmi);
drivers/platform/x86/asus-wmi.c
5090
if (!asus)
drivers/platform/x86/asus-wmi.c
5093
asus->driver = wdrv;
drivers/platform/x86/asus-wmi.c
5094
asus->platform_device = pdev;
drivers/platform/x86/asus-wmi.c
5096
platform_set_drvdata(asus->platform_device, asus);
drivers/platform/x86/asus-wmi.c
5099
wdrv->detect_quirks(asus->driver);
drivers/platform/x86/asus-wmi.c
5101
err = asus_wmi_platform_init(asus);
drivers/platform/x86/asus-wmi.c
5122
asus->ppt_pl2_sppt = 5;
drivers/platform/x86/asus-wmi.c
5123
asus->ppt_pl1_spl = 5;
drivers/platform/x86/asus-wmi.c
5124
asus->ppt_apu_sppt = 5;
drivers/platform/x86/asus-wmi.c
5125
asus->ppt_platform_sppt = 5;
drivers/platform/x86/asus-wmi.c
5126
asus->ppt_fppt = 5;
drivers/platform/x86/asus-wmi.c
5127
asus->nv_dynamic_boost = 5;
drivers/platform/x86/asus-wmi.c
5128
asus->nv_temp_target = 75;
drivers/platform/x86/asus-wmi.c
5130
asus->egpu_enable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_EGPU);
drivers/platform/x86/asus-wmi.c
5131
asus->dgpu_disable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_DGPU);
drivers/platform/x86/asus-wmi.c
5132
asus->kbd_rgb_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_STATE);
drivers/platform/x86/asus-wmi.c
5134
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MINI_LED_MODE))
drivers/platform/x86/asus-wmi.c
5135
asus->mini_led_dev_id = ASUS_WMI_DEVID_MINI_LED_MODE;
drivers/platform/x86/asus-wmi.c
5136
else if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MINI_LED_MODE2))
drivers/platform/x86/asus-wmi.c
5137
asus->mini_led_dev_id = ASUS_WMI_DEVID_MINI_LED_MODE2;
drivers/platform/x86/asus-wmi.c
5139
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_MUX))
drivers/platform/x86/asus-wmi.c
5140
asus->gpu_mux_dev = ASUS_WMI_DEVID_GPU_MUX;
drivers/platform/x86/asus-wmi.c
5141
else if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_MUX_VIVO))
drivers/platform/x86/asus-wmi.c
5142
asus->gpu_mux_dev = ASUS_WMI_DEVID_GPU_MUX_VIVO;
drivers/platform/x86/asus-wmi.c
5145
asus->oobe_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_OOBE);
drivers/platform/x86/asus-wmi.c
5147
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY))
drivers/platform/x86/asus-wmi.c
5148
asus->throttle_thermal_policy_dev = ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY;
drivers/platform/x86/asus-wmi.c
5149
else if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY_VIVO))
drivers/platform/x86/asus-wmi.c
5150
asus->throttle_thermal_policy_dev = ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY_VIVO;
drivers/platform/x86/asus-wmi.c
5152
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_MODE))
drivers/platform/x86/asus-wmi.c
5153
asus->kbd_rgb_dev = ASUS_WMI_DEVID_TUF_RGB_MODE;
drivers/platform/x86/asus-wmi.c
5154
else if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_MODE2))
drivers/platform/x86/asus-wmi.c
5155
asus->kbd_rgb_dev = ASUS_WMI_DEVID_TUF_RGB_MODE2;
drivers/platform/x86/asus-wmi.c
5157
err = fan_boost_mode_check_present(asus);
drivers/platform/x86/asus-wmi.c
5161
err = platform_profile_setup(asus);
drivers/platform/x86/asus-wmi.c
5165
err = keystone_check_present(asus);
drivers/platform/x86/asus-wmi.c
5169
err = asus_wmi_sysfs_init(asus->platform_device);
drivers/platform/x86/asus-wmi.c
5173
err = asus_wmi_input_init(asus);
drivers/platform/x86/asus-wmi.c
5177
err = asus_wmi_fan_init(asus); /* probably no problems on error */
drivers/platform/x86/asus-wmi.c
5179
err = asus_wmi_hwmon_init(asus);
drivers/platform/x86/asus-wmi.c
5183
err = asus_wmi_custom_fan_curve_init(asus);
drivers/platform/x86/asus-wmi.c
5187
err = asus_wmi_led_init(asus);
drivers/platform/x86/asus-wmi.c
5191
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_WLAN, &result);
drivers/platform/x86/asus-wmi.c
5194
asus->driver->wlan_ctrl_by_user = 1;
drivers/platform/x86/asus-wmi.c
5196
if (!(asus->driver->wlan_ctrl_by_user && ashs_present())) {
drivers/platform/x86/asus-wmi.c
5197
err = asus_wmi_rfkill_init(asus);
drivers/platform/x86/asus-wmi.c
5202
if (asus->driver->quirks->wmi_force_als_set)
drivers/platform/x86/asus-wmi.c
5205
if (asus->driver->quirks->xusb2pr)
drivers/platform/x86/asus-wmi.c
5206
asus_wmi_set_xusb2pr(asus);
drivers/platform/x86/asus-wmi.c
5209
err = asus_wmi_backlight_init(asus);
drivers/platform/x86/asus-wmi.c
5212
} else if (asus->driver->quirks->wmi_backlight_set_devstate)
drivers/platform/x86/asus-wmi.c
5215
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_SCREENPAD_LIGHT)) {
drivers/platform/x86/asus-wmi.c
5216
err = asus_screenpad_init(asus);
drivers/platform/x86/asus-wmi.c
5221
if (asus_wmi_has_fnlock_key(asus)) {
drivers/platform/x86/asus-wmi.c
5222
asus->fnlock_locked = fnlock_default;
drivers/platform/x86/asus-wmi.c
5223
asus_wmi_fnlock_update(asus);
drivers/platform/x86/asus-wmi.c
5226
status = wmi_install_notify_handler(asus->driver->event_guid,
drivers/platform/x86/asus-wmi.c
5227
asus_wmi_notify, asus);
drivers/platform/x86/asus-wmi.c
5234
if (asus->driver->i8042_filter) {
drivers/platform/x86/asus-wmi.c
5235
err = i8042_install_filter(asus->driver->i8042_filter, NULL);
drivers/platform/x86/asus-wmi.c
5240
asus_wmi_battery_init(asus);
drivers/platform/x86/asus-wmi.c
5242
asus_wmi_debugfs_init(asus);
drivers/platform/x86/asus-wmi.c
5247
asus_wmi_backlight_exit(asus);
drivers/platform/x86/asus-wmi.c
5249
asus_wmi_rfkill_exit(asus);
drivers/platform/x86/asus-wmi.c
5251
asus_screenpad_exit(asus);
drivers/platform/x86/asus-wmi.c
5253
asus_wmi_led_exit(asus);
drivers/platform/x86/asus-wmi.c
5256
asus_wmi_input_exit(asus);
drivers/platform/x86/asus-wmi.c
5258
asus_wmi_sysfs_exit(asus->platform_device);
drivers/platform/x86/asus-wmi.c
5264
kfree(asus);
drivers/platform/x86/asus-wmi.c
5270
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
5272
asus = platform_get_drvdata(device);
drivers/platform/x86/asus-wmi.c
5273
if (asus->driver->i8042_filter)
drivers/platform/x86/asus-wmi.c
5274
i8042_remove_filter(asus->driver->i8042_filter);
drivers/platform/x86/asus-wmi.c
5275
wmi_remove_notify_handler(asus->driver->event_guid);
drivers/platform/x86/asus-wmi.c
5276
asus_wmi_backlight_exit(asus);
drivers/platform/x86/asus-wmi.c
5277
asus_screenpad_exit(asus);
drivers/platform/x86/asus-wmi.c
5278
asus_wmi_input_exit(asus);
drivers/platform/x86/asus-wmi.c
5279
asus_wmi_led_exit(asus);
drivers/platform/x86/asus-wmi.c
5280
asus_wmi_rfkill_exit(asus);
drivers/platform/x86/asus-wmi.c
5281
asus_wmi_debugfs_exit(asus);
drivers/platform/x86/asus-wmi.c
5282
asus_wmi_sysfs_exit(asus->platform_device);
drivers/platform/x86/asus-wmi.c
5283
asus_fan_set_auto(asus);
drivers/platform/x86/asus-wmi.c
5284
throttle_thermal_policy_set_default(asus);
drivers/platform/x86/asus-wmi.c
5285
asus_wmi_battery_exit(asus);
drivers/platform/x86/asus-wmi.c
5287
kfree(asus);
drivers/platform/x86/asus-wmi.c
5294
struct asus_wmi *asus = dev_get_drvdata(device);
drivers/platform/x86/asus-wmi.c
5296
if (asus->wlan.rfkill) {
drivers/platform/x86/asus-wmi.c
5304
wlan = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_WLAN);
drivers/platform/x86/asus-wmi.c
5313
struct asus_wmi *asus = dev_get_drvdata(device);
drivers/platform/x86/asus-wmi.c
5315
if (!IS_ERR_OR_NULL(asus->kbd_led.dev))
drivers/platform/x86/asus-wmi.c
5316
kbd_led_update(asus);
drivers/platform/x86/asus-wmi.c
5318
if (asus_wmi_has_fnlock_key(asus))
drivers/platform/x86/asus-wmi.c
5319
asus_wmi_fnlock_update(asus);
drivers/platform/x86/asus-wmi.c
5321
asus_wmi_tablet_mode_get_state(asus);
drivers/platform/x86/asus-wmi.c
5328
struct asus_wmi *asus = dev_get_drvdata(device);
drivers/platform/x86/asus-wmi.c
5332
if (asus->wlan.rfkill)
drivers/platform/x86/asus-wmi.c
5333
asus_rfkill_hotplug(asus);
drivers/platform/x86/asus-wmi.c
5335
if (asus->bluetooth.rfkill) {
drivers/platform/x86/asus-wmi.c
5336
bl = !asus_wmi_get_devstate_simple(asus,
drivers/platform/x86/asus-wmi.c
5338
rfkill_set_sw_state(asus->bluetooth.rfkill, bl);
drivers/platform/x86/asus-wmi.c
5340
if (asus->wimax.rfkill) {
drivers/platform/x86/asus-wmi.c
5341
bl = !asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_WIMAX);
drivers/platform/x86/asus-wmi.c
5342
rfkill_set_sw_state(asus->wimax.rfkill, bl);
drivers/platform/x86/asus-wmi.c
5344
if (asus->wwan3g.rfkill) {
drivers/platform/x86/asus-wmi.c
5345
bl = !asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_WWAN3G);
drivers/platform/x86/asus-wmi.c
5346
rfkill_set_sw_state(asus->wwan3g.rfkill, bl);
drivers/platform/x86/asus-wmi.c
5348
if (asus->gps.rfkill) {
drivers/platform/x86/asus-wmi.c
5349
bl = !asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_GPS);
drivers/platform/x86/asus-wmi.c
5350
rfkill_set_sw_state(asus->gps.rfkill, bl);
drivers/platform/x86/asus-wmi.c
5352
if (asus->uwb.rfkill) {
drivers/platform/x86/asus-wmi.c
5353
bl = !asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_UWB);
drivers/platform/x86/asus-wmi.c
5354
rfkill_set_sw_state(asus->uwb.rfkill, bl);
drivers/platform/x86/asus-wmi.c
5356
if (!IS_ERR_OR_NULL(asus->kbd_led.dev))
drivers/platform/x86/asus-wmi.c
5357
kbd_led_update(asus);
drivers/platform/x86/asus-wmi.c
5358
if (asus->oobe_state_available) {
drivers/platform/x86/asus-wmi.c
5366
if (asus_wmi_has_fnlock_key(asus))
drivers/platform/x86/asus-wmi.c
5367
asus_wmi_fnlock_update(asus);
drivers/platform/x86/asus-wmi.c
5369
asus_wmi_tablet_mode_get_state(asus);
drivers/platform/x86/asus-wmi.c
553
static int asus_wmi_get_devstate(struct asus_wmi *asus, u32 dev_id, u32 *retval)
drivers/platform/x86/asus-wmi.c
557
err = asus_wmi_evaluate_method(asus->dsts_id, dev_id, 0, retval);
drivers/platform/x86/asus-wmi.c
616
static int asus_wmi_get_devstate_bits(struct asus_wmi *asus,
drivers/platform/x86/asus-wmi.c
622
err = asus_wmi_get_devstate(asus, dev_id, &retval);
drivers/platform/x86/asus-wmi.c
637
static int asus_wmi_get_devstate_simple(struct asus_wmi *asus, u32 dev_id)
drivers/platform/x86/asus-wmi.c
639
return asus_wmi_get_devstate_bits(asus, dev_id,
drivers/platform/x86/asus-wmi.c
643
static bool asus_wmi_dev_is_present(struct asus_wmi *asus, u32 dev_id)
drivers/platform/x86/asus-wmi.c
646
int status = asus_wmi_get_devstate(asus, dev_id, &retval);
drivers/platform/x86/asus-wmi.c
654
static int keystone_check_present(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
659
asus->keystone_available = false;
drivers/platform/x86/asus-wmi.c
670
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_KEYSTONE, &retval);
drivers/platform/x86/asus-wmi.c
676
asus->keystone_available = true;
drivers/platform/x86/asus-wmi.c
683
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
687
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_KEYSTONE, &retval);
drivers/platform/x86/asus-wmi.c
696
static void asus_wmi_keystone_notify(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
698
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "keystone");
drivers/platform/x86/asus-wmi.c
702
static void asus_wmi_tablet_sw_report(struct asus_wmi *asus, bool value)
drivers/platform/x86/asus-wmi.c
704
input_report_switch(asus->inputdev, SW_TABLET_MODE,
drivers/platform/x86/asus-wmi.c
705
asus->tablet_switch_inverted ? !value : value);
drivers/platform/x86/asus-wmi.c
706
input_sync(asus->inputdev);
drivers/platform/x86/asus-wmi.c
709
static void asus_wmi_tablet_sw_init(struct asus_wmi *asus, u32 dev_id, int event_code)
drivers/platform/x86/asus-wmi.c
711
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
714
result = asus_wmi_get_devstate_simple(asus, dev_id);
drivers/platform/x86/asus-wmi.c
716
input_set_capability(asus->inputdev, EV_SW, SW_TABLET_MODE);
drivers/platform/x86/asus-wmi.c
717
asus_wmi_tablet_sw_report(asus, result);
drivers/platform/x86/asus-wmi.c
718
asus->tablet_switch_dev_id = dev_id;
drivers/platform/x86/asus-wmi.c
719
asus->tablet_switch_event_code = event_code;
drivers/platform/x86/asus-wmi.c
727
static int asus_wmi_input_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
729
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
732
asus->inputdev = input_allocate_device();
drivers/platform/x86/asus-wmi.c
733
if (!asus->inputdev)
drivers/platform/x86/asus-wmi.c
736
asus->inputdev->name = asus->driver->input_name;
drivers/platform/x86/asus-wmi.c
737
asus->inputdev->phys = asus->driver->input_phys;
drivers/platform/x86/asus-wmi.c
738
asus->inputdev->id.bustype = BUS_HOST;
drivers/platform/x86/asus-wmi.c
739
asus->inputdev->dev.parent = dev;
drivers/platform/x86/asus-wmi.c
740
set_bit(EV_REP, asus->inputdev->evbit);
drivers/platform/x86/asus-wmi.c
742
err = sparse_keymap_setup(asus->inputdev, asus->driver->keymap, NULL);
drivers/platform/x86/asus-wmi.c
746
switch (asus->driver->quirks->tablet_switch_mode) {
drivers/platform/x86/asus-wmi.c
750
asus->tablet_switch_inverted = true;
drivers/platform/x86/asus-wmi.c
751
asus_wmi_tablet_sw_init(asus, ASUS_WMI_DEVID_KBD_DOCK, NOTIFY_KBD_DOCK_CHANGE);
drivers/platform/x86/asus-wmi.c
754
asus_wmi_tablet_sw_init(asus, ASUS_WMI_DEVID_LID_FLIP, NOTIFY_LID_FLIP);
drivers/platform/x86/asus-wmi.c
757
asus_wmi_tablet_sw_init(asus, ASUS_WMI_DEVID_LID_FLIP_ROG, NOTIFY_LID_FLIP_ROG);
drivers/platform/x86/asus-wmi.c
761
err = input_register_device(asus->inputdev);
drivers/platform/x86/asus-wmi.c
768
input_free_device(asus->inputdev);
drivers/platform/x86/asus-wmi.c
772
static void asus_wmi_input_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
774
if (asus->inputdev)
drivers/platform/x86/asus-wmi.c
775
input_unregister_device(asus->inputdev);
drivers/platform/x86/asus-wmi.c
777
asus->inputdev = NULL;
drivers/platform/x86/asus-wmi.c
782
static void asus_wmi_tablet_mode_get_state(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
786
if (!asus->tablet_switch_dev_id)
drivers/platform/x86/asus-wmi.c
789
result = asus_wmi_get_devstate_simple(asus, asus->tablet_switch_dev_id);
drivers/platform/x86/asus-wmi.c
791
asus_wmi_tablet_sw_report(asus, result);
drivers/platform/x86/asus-wmi.c
799
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
802
result = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_CHARGE_MODE, &value);
drivers/platform/x86/asus-wmi.c
819
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
822
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_DGPU);
drivers/platform/x86/asus-wmi.c
844
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
853
if (asus->gpu_mux_dev) {
drivers/platform/x86/asus-wmi.c
854
result = asus_wmi_get_devstate_simple(asus, asus->gpu_mux_dev);
drivers/platform/x86/asus-wmi.c
876
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "dgpu_disable");
drivers/platform/x86/asus-wmi.c
888
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
891
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU);
drivers/platform/x86/asus-wmi.c
908
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
917
err = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU_CONNECTED);
drivers/platform/x86/asus-wmi.c
923
if (asus->gpu_mux_dev) {
drivers/platform/x86/asus-wmi.c
924
result = asus_wmi_get_devstate_simple(asus, asus->gpu_mux_dev);
drivers/platform/x86/asus-wmi.c
948
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "egpu_enable");
drivers/platform/x86/asus-wmi.c
960
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
963
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU_CONNECTED);
drivers/platform/x86/asus-wmi.c
980
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
983
result = asus_wmi_get_devstate_simple(asus, asus->gpu_mux_dev);
drivers/platform/x86/asus-wmi.c
996
struct asus_wmi *asus = dev_get_drvdata(dev);