Symbol: asus
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 = acpi_driver_data(device);
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
1829
struct asus_laptop *asus;
drivers/platform/x86/asus-laptop.c
1834
asus = kzalloc_obj(struct asus_laptop);
drivers/platform/x86/asus-laptop.c
1835
if (!asus)
drivers/platform/x86/asus-laptop.c
1837
asus->handle = device->handle;
drivers/platform/x86/asus-laptop.c
1840
device->driver_data = asus;
drivers/platform/x86/asus-laptop.c
1841
asus->device = device;
drivers/platform/x86/asus-laptop.c
1845
result = asus_acpi_init(asus);
drivers/platform/x86/asus-laptop.c
1853
asus->is_pega_lucid = asus_check_pega_lucid(asus);
drivers/platform/x86/asus-laptop.c
1854
result = asus_platform_init(asus);
drivers/platform/x86/asus-laptop.c
1859
result = asus_backlight_init(asus);
drivers/platform/x86/asus-laptop.c
1864
result = asus_input_init(asus);
drivers/platform/x86/asus-laptop.c
1868
result = asus_led_init(asus);
drivers/platform/x86/asus-laptop.c
1872
result = asus_rfkill_init(asus);
drivers/platform/x86/asus-laptop.c
1876
result = pega_accel_init(asus);
drivers/platform/x86/asus-laptop.c
1880
result = pega_rfkill_init(asus);
drivers/platform/x86/asus-laptop.c
1888
pega_accel_exit(asus);
drivers/platform/x86/asus-laptop.c
1890
asus_rfkill_exit(asus);
drivers/platform/x86/asus-laptop.c
1892
asus_led_exit(asus);
drivers/platform/x86/asus-laptop.c
1894
asus_input_exit(asus);
drivers/platform/x86/asus-laptop.c
1896
asus_backlight_exit(asus);
drivers/platform/x86/asus-laptop.c
1898
asus_platform_exit(asus);
drivers/platform/x86/asus-laptop.c
1900
kfree(asus);
drivers/platform/x86/asus-laptop.c
1907
struct asus_laptop *asus = acpi_driver_data(device);
drivers/platform/x86/asus-laptop.c
1909
asus_backlight_exit(asus);
drivers/platform/x86/asus-laptop.c
1910
asus_rfkill_exit(asus);
drivers/platform/x86/asus-laptop.c
1911
asus_led_exit(asus);
drivers/platform/x86/asus-laptop.c
1912
asus_input_exit(asus);
drivers/platform/x86/asus-laptop.c
1913
pega_accel_exit(asus);
drivers/platform/x86/asus-laptop.c
1914
asus_platform_exit(asus);
drivers/platform/x86/asus-laptop.c
1916
kfree(asus->name);
drivers/platform/x86/asus-laptop.c
1917
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
1005
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1009
asus = container_of(led, struct asus_wmi, kbd_led);
drivers/platform/x86/asus-wmi.c
1044
err = asus_wmi_evaluate_method3(ASUS_WMI_METHODID_DEVS, asus->kbd_rgb_dev,
drivers/platform/x86/asus-wmi.c
1125
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1147
asus->ppt_pl2_sppt = value;
drivers/platform/x86/asus-wmi.c
1148
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_pl2_sppt");
drivers/platform/x86/asus-wmi.c
1157
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1161
return sysfs_emit(buf, "%u\n", asus->ppt_pl2_sppt);
drivers/platform/x86/asus-wmi.c
1170
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1192
asus->ppt_pl1_spl = value;
drivers/platform/x86/asus-wmi.c
1193
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_pl1_spl");
drivers/platform/x86/asus-wmi.c
1201
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1205
return sysfs_emit(buf, "%u\n", asus->ppt_pl1_spl);
drivers/platform/x86/asus-wmi.c
1214
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1236
asus->ppt_fppt = value;
drivers/platform/x86/asus-wmi.c
1237
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_fpu_sppt");
drivers/platform/x86/asus-wmi.c
1246
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1250
return sysfs_emit(buf, "%u\n", asus->ppt_fppt);
drivers/platform/x86/asus-wmi.c
1259
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1281
asus->ppt_apu_sppt = value;
drivers/platform/x86/asus-wmi.c
1282
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_apu_sppt");
drivers/platform/x86/asus-wmi.c
1291
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1295
return sysfs_emit(buf, "%u\n", asus->ppt_apu_sppt);
drivers/platform/x86/asus-wmi.c
1304
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1326
asus->ppt_platform_sppt = value;
drivers/platform/x86/asus-wmi.c
1327
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_platform_sppt");
drivers/platform/x86/asus-wmi.c
1336
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1340
return sysfs_emit(buf, "%u\n", asus->ppt_platform_sppt);
drivers/platform/x86/asus-wmi.c
1349
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1371
asus->nv_dynamic_boost = value;
drivers/platform/x86/asus-wmi.c
1372
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "nv_dynamic_boost");
drivers/platform/x86/asus-wmi.c
1381
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1385
return sysfs_emit(buf, "%u\n", asus->nv_dynamic_boost);
drivers/platform/x86/asus-wmi.c
1394
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1416
asus->nv_temp_target = value;
drivers/platform/x86/asus-wmi.c
1417
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "nv_temp_target");
drivers/platform/x86/asus-wmi.c
1426
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1430
return sysfs_emit(buf, "%u\n", asus->nv_temp_target);
drivers/platform/x86/asus-wmi.c
1478
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1481
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_MCU_POWERSAVE);
drivers/platform/x86/asus-wmi.c
1497
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
1517
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "mcu_powersave");
drivers/platform/x86/asus-wmi.c
1605
static void asus_wmi_battery_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
1607
asus->battery_rsoc_available = false;
drivers/platform/x86/asus-wmi.c
1608
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_RSOC)) {
drivers/platform/x86/asus-wmi.c
1609
asus->battery_rsoc_available = true;
drivers/platform/x86/asus-wmi.c
1614
static void asus_wmi_battery_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
1616
if (asus->battery_rsoc_available)
drivers/platform/x86/asus-wmi.c
1624
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1631
.asus = NULL,
drivers/platform/x86/asus-wmi.c
1657
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1661
asus = asus_ref.asus;
drivers/platform/x86/asus-wmi.c
1662
if (asus)
drivers/platform/x86/asus-wmi.c
1663
queue_work(asus->led_workqueue, &asus->kbd_led_work);
drivers/platform/x86/asus-wmi.c
1683
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1687
asus = container_of(work, struct asus_wmi, kbd_led_work);
drivers/platform/x86/asus-wmi.c
1690
registered = asus->kbd_led_registered;
drivers/platform/x86/asus-wmi.c
1691
value = asus->kbd_led_wk;
drivers/platform/x86/asus-wmi.c
1692
notify = asus->kbd_led_notify;
drivers/platform/x86/asus-wmi.c
1702
ret = devm_led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
1703
&asus->kbd_led);
drivers/platform/x86/asus-wmi.c
1706
asus->kbd_led_registered = true;
drivers/platform/x86/asus-wmi.c
1714
do_kbd_led_set(&asus->kbd_led, value);
drivers/platform/x86/asus-wmi.c
1717
asus->kbd_led_notify = false;
drivers/platform/x86/asus-wmi.c
1718
led_classdev_notify_brightness_hw_changed(&asus->kbd_led, value);
drivers/platform/x86/asus-wmi.c
1728
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1732
asus = asus_ref.asus;
drivers/platform/x86/asus-wmi.c
1733
if (!asus || !asus->kbd_led_registered)
drivers/platform/x86/asus-wmi.c
1736
brightness = asus->kbd_led_wk;
drivers/platform/x86/asus-wmi.c
1753
asus->kbd_led_wk = clamp_val(brightness, 0, ASUS_EV_MAX_BRIGHTNESS);
drivers/platform/x86/asus-wmi.c
1754
asus->kbd_led_notify = true;
drivers/platform/x86/asus-wmi.c
1755
queue_work(asus->led_workqueue, &asus->kbd_led_work);
drivers/platform/x86/asus-wmi.c
1769
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1771
asus = container_of(work, struct asus_wmi, tpd_led_work);
drivers/platform/x86/asus-wmi.c
1773
ctrl_param = asus->tpd_led_wk;
drivers/platform/x86/asus-wmi.c
1780
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1782
asus = container_of(led_cdev, struct asus_wmi, tpd_led);
drivers/platform/x86/asus-wmi.c
1784
asus->tpd_led_wk = !!value;
drivers/platform/x86/asus-wmi.c
1785
queue_work(asus->led_workqueue, &asus->tpd_led_work);
drivers/platform/x86/asus-wmi.c
1788
static int read_tpd_led_state(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
1790
return asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_TOUCHPAD_LED);
drivers/platform/x86/asus-wmi.c
1795
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1797
asus = container_of(led_cdev, struct asus_wmi, tpd_led);
drivers/platform/x86/asus-wmi.c
1799
return read_tpd_led_state(asus);
drivers/platform/x86/asus-wmi.c
1802
static void kbd_led_update(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
1807
ctrl_param = 0x80 | (asus->kbd_led_wk & 0x7F);
drivers/platform/x86/asus-wmi.c
1811
static int kbd_led_read(struct asus_wmi *asus, int *level, int *env)
drivers/platform/x86/asus-wmi.c
1821
retval = asus_wmi_get_devstate_bits(asus, ASUS_WMI_DEVID_KBD_BACKLIGHT,
drivers/platform/x86/asus-wmi.c
1841
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1843
asus = container_of(led_cdev, struct asus_wmi, kbd_led);
drivers/platform/x86/asus-wmi.c
1846
asus->kbd_led_wk = clamp_val(value, 0, ASUS_EV_MAX_BRIGHTNESS);
drivers/platform/x86/asus-wmi.c
1848
if (asus->kbd_led_avail)
drivers/platform/x86/asus-wmi.c
1849
kbd_led_update(asus);
drivers/platform/x86/asus-wmi.c
1853
listener->brightness_set(listener, asus->kbd_led_wk);
drivers/platform/x86/asus-wmi.c
1867
static void kbd_led_set_by_kbd(struct asus_wmi *asus, enum led_brightness value)
drivers/platform/x86/asus-wmi.c
1870
asus->kbd_led_wk = value;
drivers/platform/x86/asus-wmi.c
1871
asus->kbd_led_notify = true;
drivers/platform/x86/asus-wmi.c
1873
queue_work(asus->led_workqueue, &asus->kbd_led_work);
drivers/platform/x86/asus-wmi.c
1878
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1881
asus = container_of(led_cdev, struct asus_wmi, kbd_led);
drivers/platform/x86/asus-wmi.c
1884
if (!asus->kbd_led_avail)
drivers/platform/x86/asus-wmi.c
1885
return asus->kbd_led_wk;
drivers/platform/x86/asus-wmi.c
1888
retval = kbd_led_read(asus, &value, NULL);
drivers/platform/x86/asus-wmi.c
1893
asus->kbd_led_wk = value;
drivers/platform/x86/asus-wmi.c
1898
static int wlan_led_unknown_state(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
1902
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_WIRELESS_LED, &result);
drivers/platform/x86/asus-wmi.c
1910
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1912
asus = container_of(work, struct asus_wmi, wlan_led_work);
drivers/platform/x86/asus-wmi.c
1914
ctrl_param = asus->wlan_led_wk;
drivers/platform/x86/asus-wmi.c
1921
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1923
asus = container_of(led_cdev, struct asus_wmi, wlan_led);
drivers/platform/x86/asus-wmi.c
1925
asus->wlan_led_wk = !!value;
drivers/platform/x86/asus-wmi.c
1926
queue_work(asus->led_workqueue, &asus->wlan_led_work);
drivers/platform/x86/asus-wmi.c
1931
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1934
asus = container_of(led_cdev, struct asus_wmi, wlan_led);
drivers/platform/x86/asus-wmi.c
1935
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_WIRELESS_LED, &result);
drivers/platform/x86/asus-wmi.c
1942
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1945
asus = container_of(work, struct asus_wmi, lightbar_led_work);
drivers/platform/x86/asus-wmi.c
1947
ctrl_param = asus->lightbar_led_wk;
drivers/platform/x86/asus-wmi.c
1954
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1956
asus = container_of(led_cdev, struct asus_wmi, lightbar_led);
drivers/platform/x86/asus-wmi.c
1958
asus->lightbar_led_wk = !!value;
drivers/platform/x86/asus-wmi.c
1959
queue_work(asus->led_workqueue, &asus->lightbar_led_work);
drivers/platform/x86/asus-wmi.c
1964
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1967
asus = container_of(led_cdev, struct asus_wmi, lightbar_led);
drivers/platform/x86/asus-wmi.c
1968
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_LIGHTBAR, &result);
drivers/platform/x86/asus-wmi.c
1985
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
1988
asus = container_of(led_cdev, struct asus_wmi, camera_led);
drivers/platform/x86/asus-wmi.c
1989
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_CAMERA_LED, &result);
drivers/platform/x86/asus-wmi.c
2004
static void asus_wmi_led_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2007
asus_ref.asus = NULL;
drivers/platform/x86/asus-wmi.c
2009
led_classdev_unregister(&asus->tpd_led);
drivers/platform/x86/asus-wmi.c
2010
led_classdev_unregister(&asus->wlan_led);
drivers/platform/x86/asus-wmi.c
2011
led_classdev_unregister(&asus->lightbar_led);
drivers/platform/x86/asus-wmi.c
2012
led_classdev_unregister(&asus->micmute_led);
drivers/platform/x86/asus-wmi.c
2013
led_classdev_unregister(&asus->camera_led);
drivers/platform/x86/asus-wmi.c
2015
if (asus->led_workqueue)
drivers/platform/x86/asus-wmi.c
2016
destroy_workqueue(asus->led_workqueue);
drivers/platform/x86/asus-wmi.c
2019
static int asus_wmi_led_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2023
if (asus->kbd_rgb_dev)
drivers/platform/x86/asus-wmi.c
2025
if (asus->kbd_rgb_state_available)
drivers/platform/x86/asus-wmi.c
2028
asus->led_workqueue = create_singlethread_workqueue("led_workqueue");
drivers/platform/x86/asus-wmi.c
2029
if (!asus->led_workqueue)
drivers/platform/x86/asus-wmi.c
2032
if (read_tpd_led_state(asus) >= 0) {
drivers/platform/x86/asus-wmi.c
2033
INIT_WORK(&asus->tpd_led_work, tpd_led_update);
drivers/platform/x86/asus-wmi.c
2035
asus->tpd_led.name = "asus::touchpad";
drivers/platform/x86/asus-wmi.c
2036
asus->tpd_led.brightness_set = tpd_led_set;
drivers/platform/x86/asus-wmi.c
2037
asus->tpd_led.brightness_get = tpd_led_get;
drivers/platform/x86/asus-wmi.c
2038
asus->tpd_led.max_brightness = 1;
drivers/platform/x86/asus-wmi.c
2040
rv = led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
2041
&asus->tpd_led);
drivers/platform/x86/asus-wmi.c
2046
asus->kbd_led.name = "asus::kbd_backlight";
drivers/platform/x86/asus-wmi.c
2047
asus->kbd_led.flags = LED_BRIGHT_HW_CHANGED;
drivers/platform/x86/asus-wmi.c
2048
asus->kbd_led.brightness_set_blocking = kbd_led_set;
drivers/platform/x86/asus-wmi.c
2049
asus->kbd_led.brightness_get = kbd_led_get;
drivers/platform/x86/asus-wmi.c
2050
asus->kbd_led.max_brightness = ASUS_EV_MAX_BRIGHTNESS;
drivers/platform/x86/asus-wmi.c
2051
asus->kbd_led_avail = !kbd_led_read(asus, &led_val, NULL);
drivers/platform/x86/asus-wmi.c
2052
INIT_WORK(&asus->kbd_led_work, kbd_led_update_all);
drivers/platform/x86/asus-wmi.c
2054
if (asus->kbd_led_avail) {
drivers/platform/x86/asus-wmi.c
2055
asus->kbd_led_wk = led_val;
drivers/platform/x86/asus-wmi.c
2057
asus->kbd_led.groups = kbd_rgb_mode_groups;
drivers/platform/x86/asus-wmi.c
2059
asus->kbd_led_wk = -1;
drivers/platform/x86/asus-wmi.c
2063
asus_ref.asus = asus;
drivers/platform/x86/asus-wmi.c
2064
if (asus->kbd_led_avail || !list_empty(&asus_ref.listeners))
drivers/platform/x86/asus-wmi.c
2065
queue_work(asus->led_workqueue, &asus->kbd_led_work);
drivers/platform/x86/asus-wmi.c
2068
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_WIRELESS_LED)
drivers/platform/x86/asus-wmi.c
2069
&& (asus->driver->quirks->wapf > 0)) {
drivers/platform/x86/asus-wmi.c
2070
INIT_WORK(&asus->wlan_led_work, wlan_led_update);
drivers/platform/x86/asus-wmi.c
2072
asus->wlan_led.name = "asus::wlan";
drivers/platform/x86/asus-wmi.c
2073
asus->wlan_led.brightness_set = wlan_led_set;
drivers/platform/x86/asus-wmi.c
2074
if (!wlan_led_unknown_state(asus))
drivers/platform/x86/asus-wmi.c
2075
asus->wlan_led.brightness_get = wlan_led_get;
drivers/platform/x86/asus-wmi.c
2076
asus->wlan_led.flags = LED_CORE_SUSPENDRESUME;
drivers/platform/x86/asus-wmi.c
2077
asus->wlan_led.max_brightness = 1;
drivers/platform/x86/asus-wmi.c
2078
asus->wlan_led.default_trigger = "asus-wlan";
drivers/platform/x86/asus-wmi.c
2080
rv = led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
2081
&asus->wlan_led);
drivers/platform/x86/asus-wmi.c
2086
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_LIGHTBAR)) {
drivers/platform/x86/asus-wmi.c
2087
INIT_WORK(&asus->lightbar_led_work, lightbar_led_update);
drivers/platform/x86/asus-wmi.c
2089
asus->lightbar_led.name = "asus::lightbar";
drivers/platform/x86/asus-wmi.c
2090
asus->lightbar_led.brightness_set = lightbar_led_set;
drivers/platform/x86/asus-wmi.c
2091
asus->lightbar_led.brightness_get = lightbar_led_get;
drivers/platform/x86/asus-wmi.c
2092
asus->lightbar_led.max_brightness = 1;
drivers/platform/x86/asus-wmi.c
2094
rv = led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
2095
&asus->lightbar_led);
drivers/platform/x86/asus-wmi.c
2098
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MICMUTE_LED)) {
drivers/platform/x86/asus-wmi.c
2099
asus->micmute_led.name = "platform::micmute";
drivers/platform/x86/asus-wmi.c
2100
asus->micmute_led.max_brightness = 1;
drivers/platform/x86/asus-wmi.c
2101
asus->micmute_led.brightness_set_blocking = micmute_led_set;
drivers/platform/x86/asus-wmi.c
2102
asus->micmute_led.default_trigger = "audio-micmute";
drivers/platform/x86/asus-wmi.c
2104
rv = led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
2105
&asus->micmute_led);
drivers/platform/x86/asus-wmi.c
2110
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_CAMERA_LED)) {
drivers/platform/x86/asus-wmi.c
2111
asus->camera_led.name = "asus::camera";
drivers/platform/x86/asus-wmi.c
2112
asus->camera_led.max_brightness = 1;
drivers/platform/x86/asus-wmi.c
2113
asus->camera_led.brightness_get = camera_led_get;
drivers/platform/x86/asus-wmi.c
2114
asus->camera_led.brightness_set_blocking = camera_led_set;
drivers/platform/x86/asus-wmi.c
2116
rv = led_classdev_register(&asus->platform_device->dev,
drivers/platform/x86/asus-wmi.c
2117
&asus->camera_led);
drivers/platform/x86/asus-wmi.c
2122
if (asus->oobe_state_available) {
drivers/platform/x86/asus-wmi.c
2134
asus_wmi_led_exit(asus);
drivers/platform/x86/asus-wmi.c
2144
static bool asus_wlan_rfkill_blocked(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2146
int result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_WLAN);
drivers/platform/x86/asus-wmi.c
2153
static void asus_rfkill_hotplug(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2161
mutex_lock(&asus->wmi_lock);
drivers/platform/x86/asus-wmi.c
2162
blocked = asus_wlan_rfkill_blocked(asus);
drivers/platform/x86/asus-wmi.c
2163
mutex_unlock(&asus->wmi_lock);
drivers/platform/x86/asus-wmi.c
2165
mutex_lock(&asus->hotplug_lock);
drivers/platform/x86/asus-wmi.c
2168
if (asus->wlan.rfkill)
drivers/platform/x86/asus-wmi.c
2169
rfkill_set_sw_state(asus->wlan.rfkill, blocked);
drivers/platform/x86/asus-wmi.c
2171
if (asus->hotplug_slot.ops) {
drivers/platform/x86/asus-wmi.c
2215
mutex_unlock(&asus->hotplug_lock);
drivers/platform/x86/asus-wmi.c
2220
struct asus_wmi *asus = data;
drivers/platform/x86/asus-wmi.c
2232
queue_work(asus->hotplug_workqueue, &asus->hotplug_work);
drivers/platform/x86/asus-wmi.c
2235
static int asus_register_rfkill_notifier(struct asus_wmi *asus, char *node)
drivers/platform/x86/asus-wmi.c
2245
asus_rfkill_notify, asus);
drivers/platform/x86/asus-wmi.c
225
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
2252
static void asus_unregister_rfkill_notifier(struct asus_wmi *asus, char *node)
drivers/platform/x86/asus-wmi.c
2270
struct asus_wmi *asus = container_of(hotplug_slot,
drivers/platform/x86/asus-wmi.c
2272
int result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_WLAN);
drivers/platform/x86/asus-wmi.c
2288
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
2290
asus = container_of(work, struct asus_wmi, hotplug_work);
drivers/platform/x86/asus-wmi.c
2291
asus_rfkill_hotplug(asus);
drivers/platform/x86/asus-wmi.c
2294
static int asus_setup_pci_hotplug(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2304
asus->hotplug_workqueue =
drivers/platform/x86/asus-wmi.c
2306
if (!asus->hotplug_workqueue)
drivers/platform/x86/asus-wmi.c
2309
INIT_WORK(&asus->hotplug_work, asus_hotplug_work);
drivers/platform/x86/asus-wmi.c
2311
asus->hotplug_slot.ops = &asus_hotplug_slot_ops;
drivers/platform/x86/asus-wmi.c
2313
ret = pci_hp_register(&asus->hotplug_slot, bus, 0, "asus-wifi");
drivers/platform/x86/asus-wmi.c
2322
asus->hotplug_slot.ops = NULL;
drivers/platform/x86/asus-wmi.c
2323
destroy_workqueue(asus->hotplug_workqueue);
drivers/platform/x86/asus-wmi.c
2346
priv->asus->driver->wlan_ctrl_by_user)
drivers/platform/x86/asus-wmi.c
2357
result = asus_wmi_get_devstate_simple(priv->asus, priv->dev_id);
drivers/platform/x86/asus-wmi.c
2368
struct asus_wmi *asus = priv->asus;
drivers/platform/x86/asus-wmi.c
2378
mutex_lock(&asus->wmi_lock);
drivers/platform/x86/asus-wmi.c
2380
mutex_unlock(&asus->wmi_lock);
drivers/platform/x86/asus-wmi.c
2394
static int asus_new_rfkill(struct asus_wmi *asus,
drivers/platform/x86/asus-wmi.c
2398
int result = asus_wmi_get_devstate_simple(asus, dev_id);
drivers/platform/x86/asus-wmi.c
2405
arfkill->asus = asus;
drivers/platform/x86/asus-wmi.c
2408
asus->driver->quirks->hotplug_wireless)
drivers/platform/x86/asus-wmi.c
2409
*rfkill = rfkill_alloc(name, &asus->platform_device->dev, type,
drivers/platform/x86/asus-wmi.c
2412
*rfkill = rfkill_alloc(name, &asus->platform_device->dev, type,
drivers/platform/x86/asus-wmi.c
2419
(asus->driver->quirks->wapf > 0))
drivers/platform/x86/asus-wmi.c
2432
static void asus_wmi_rfkill_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2434
if (asus->driver->wlan_ctrl_by_user && ashs_present())
drivers/platform/x86/asus-wmi.c
2437
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P5");
drivers/platform/x86/asus-wmi.c
2438
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P6");
drivers/platform/x86/asus-wmi.c
2439
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P7");
drivers/platform/x86/asus-wmi.c
2440
if (asus->wlan.rfkill) {
drivers/platform/x86/asus-wmi.c
2441
rfkill_unregister(asus->wlan.rfkill);
drivers/platform/x86/asus-wmi.c
2442
rfkill_destroy(asus->wlan.rfkill);
drivers/platform/x86/asus-wmi.c
2443
asus->wlan.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2449
asus_rfkill_hotplug(asus);
drivers/platform/x86/asus-wmi.c
2450
if (asus->hotplug_slot.ops)
drivers/platform/x86/asus-wmi.c
2451
pci_hp_deregister(&asus->hotplug_slot);
drivers/platform/x86/asus-wmi.c
2452
if (asus->hotplug_workqueue)
drivers/platform/x86/asus-wmi.c
2453
destroy_workqueue(asus->hotplug_workqueue);
drivers/platform/x86/asus-wmi.c
2455
if (asus->bluetooth.rfkill) {
drivers/platform/x86/asus-wmi.c
2456
rfkill_unregister(asus->bluetooth.rfkill);
drivers/platform/x86/asus-wmi.c
2457
rfkill_destroy(asus->bluetooth.rfkill);
drivers/platform/x86/asus-wmi.c
2458
asus->bluetooth.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2460
if (asus->wimax.rfkill) {
drivers/platform/x86/asus-wmi.c
2461
rfkill_unregister(asus->wimax.rfkill);
drivers/platform/x86/asus-wmi.c
2462
rfkill_destroy(asus->wimax.rfkill);
drivers/platform/x86/asus-wmi.c
2463
asus->wimax.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2465
if (asus->wwan3g.rfkill) {
drivers/platform/x86/asus-wmi.c
2466
rfkill_unregister(asus->wwan3g.rfkill);
drivers/platform/x86/asus-wmi.c
2467
rfkill_destroy(asus->wwan3g.rfkill);
drivers/platform/x86/asus-wmi.c
2468
asus->wwan3g.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2470
if (asus->gps.rfkill) {
drivers/platform/x86/asus-wmi.c
2471
rfkill_unregister(asus->gps.rfkill);
drivers/platform/x86/asus-wmi.c
2472
rfkill_destroy(asus->gps.rfkill);
drivers/platform/x86/asus-wmi.c
2473
asus->gps.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2475
if (asus->uwb.rfkill) {
drivers/platform/x86/asus-wmi.c
2476
rfkill_unregister(asus->uwb.rfkill);
drivers/platform/x86/asus-wmi.c
2477
rfkill_destroy(asus->uwb.rfkill);
drivers/platform/x86/asus-wmi.c
2478
asus->uwb.rfkill = NULL;
drivers/platform/x86/asus-wmi.c
2482
static int asus_wmi_rfkill_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2486
mutex_init(&asus->hotplug_lock);
drivers/platform/x86/asus-wmi.c
2487
mutex_init(&asus->wmi_lock);
drivers/platform/x86/asus-wmi.c
2489
result = asus_new_rfkill(asus, &asus->wlan, "asus-wlan",
drivers/platform/x86/asus-wmi.c
2495
result = asus_new_rfkill(asus, &asus->bluetooth,
drivers/platform/x86/asus-wmi.c
2502
result = asus_new_rfkill(asus, &asus->wimax, "asus-wimax",
drivers/platform/x86/asus-wmi.c
2508
result = asus_new_rfkill(asus, &asus->wwan3g, "asus-wwan3g",
drivers/platform/x86/asus-wmi.c
2514
result = asus_new_rfkill(asus, &asus->gps, "asus-gps",
drivers/platform/x86/asus-wmi.c
2520
result = asus_new_rfkill(asus, &asus->uwb, "asus-uwb",
drivers/platform/x86/asus-wmi.c
2526
if (!asus->driver->quirks->hotplug_wireless)
drivers/platform/x86/asus-wmi.c
2529
result = asus_setup_pci_hotplug(asus);
drivers/platform/x86/asus-wmi.c
2537
asus_register_rfkill_notifier(asus, "\\_SB.PCI0.P0P5");
drivers/platform/x86/asus-wmi.c
2538
asus_register_rfkill_notifier(asus, "\\_SB.PCI0.P0P6");
drivers/platform/x86/asus-wmi.c
2539
asus_register_rfkill_notifier(asus, "\\_SB.PCI0.P0P7");
drivers/platform/x86/asus-wmi.c
2544
asus_rfkill_hotplug(asus);
drivers/platform/x86/asus-wmi.c
2548
asus_wmi_rfkill_exit(asus);
drivers/platform/x86/asus-wmi.c
2561
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2564
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_PANEL_OD);
drivers/platform/x86/asus-wmi.c
2580
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2601
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "panel_od");
drivers/platform/x86/asus-wmi.c
2613
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2616
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_BOOT_SOUND);
drivers/platform/x86/asus-wmi.c
2632
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2652
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "boot_sound");
drivers/platform/x86/asus-wmi.c
2664
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2668
err = asus_wmi_get_devstate(asus, asus->mini_led_dev_id, &value);
drivers/platform/x86/asus-wmi.c
2677
if (asus->mini_led_dev_id == ASUS_WMI_DEVID_MINI_LED_MODE2) {
drivers/platform/x86/asus-wmi.c
2703
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2709
if (asus->mini_led_dev_id == ASUS_WMI_DEVID_MINI_LED_MODE &&
drivers/platform/x86/asus-wmi.c
2712
if (asus->mini_led_dev_id == ASUS_WMI_DEVID_MINI_LED_MODE2 &&
drivers/platform/x86/asus-wmi.c
2720
if (asus->mini_led_dev_id == ASUS_WMI_DEVID_MINI_LED_MODE2) {
drivers/platform/x86/asus-wmi.c
2734
err = asus_wmi_set_devstate(asus->mini_led_dev_id, mode, &result);
drivers/platform/x86/asus-wmi.c
2745
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "mini_led_mode");
drivers/platform/x86/asus-wmi.c
2754
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2756
switch (asus->mini_led_dev_id) {
drivers/platform/x86/asus-wmi.c
2773
static void asus_wmi_set_xusb2pr(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2777
u32 ports_available = asus->driver->quirks->xusb2pr;
drivers/platform/x86/asus-wmi.c
2809
static int asus_agfn_fan_speed_read(struct asus_wmi *asus, int fan,
drivers/platform/x86/asus-wmi.c
2836
static int asus_agfn_fan_speed_write(struct asus_wmi *asus, int fan,
drivers/platform/x86/asus-wmi.c
2859
asus->agfn_pwm = *speed;
drivers/platform/x86/asus-wmi.c
2868
static bool asus_wmi_has_agfn_fan(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2874
status = asus_agfn_fan_speed_read(asus, 1, &speed);
drivers/platform/x86/asus-wmi.c
2878
status = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_FAN_CTRL, &value);
drivers/platform/x86/asus-wmi.c
2891
|| (!asus->sfun && !(value & ASUS_WMI_DSTS_PRESENCE_BIT)));
drivers/platform/x86/asus-wmi.c
2894
static int asus_fan_set_auto(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
2899
switch (asus->fan_type) {
drivers/platform/x86/asus-wmi.c
2911
status = asus_agfn_fan_speed_write(asus, 0, NULL);
drivers/platform/x86/asus-wmi.c
2923
if (asus->gpu_fan_type == FAN_TYPE_SPEC83) {
drivers/platform/x86/asus-wmi.c
2940
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2945
if (asus->agfn_pwm >= 0)
drivers/platform/x86/asus-wmi.c
2946
return sysfs_emit(buf, "%d\n", asus->agfn_pwm);
drivers/platform/x86/asus-wmi.c
2952
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_FAN_CTRL, &value);
drivers/platform/x86/asus-wmi.c
2975
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
2986
state = asus_agfn_fan_speed_write(asus, 1, &value);
drivers/platform/x86/asus-wmi.c
2990
asus->fan_pwm_mode = ASUS_FAN_CTRL_MANUAL;
drivers/platform/x86/asus-wmi.c
2999
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3003
switch (asus->fan_type) {
drivers/platform/x86/asus-wmi.c
3005
ret = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_CPU_FAN_CTRL,
drivers/platform/x86/asus-wmi.c
3015
if (asus->fan_pwm_mode == ASUS_FAN_CTRL_MANUAL)
drivers/platform/x86/asus-wmi.c
3018
ret = asus_agfn_fan_speed_read(asus, 1, &value);
drivers/platform/x86/asus-wmi.c
3036
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3047
return sysfs_emit(buf, "%d\n", asus->fan_pwm_mode);
drivers/platform/x86/asus-wmi.c
3054
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3065
if (asus->fan_type == FAN_TYPE_SPEC83) {
drivers/platform/x86/asus-wmi.c
3084
} else if (asus->fan_type == FAN_TYPE_AGFN) {
drivers/platform/x86/asus-wmi.c
3090
status = asus_fan_set_auto(asus);
drivers/platform/x86/asus-wmi.c
3100
asus->fan_pwm_mode = state;
drivers/platform/x86/asus-wmi.c
3103
if (asus->cpu_fan_curve_available)
drivers/platform/x86/asus-wmi.c
3104
asus->custom_fan_curves[FAN_CURVE_DEV_CPU].enabled = false;
drivers/platform/x86/asus-wmi.c
3105
if (asus->gpu_fan_curve_available)
drivers/platform/x86/asus-wmi.c
3106
asus->custom_fan_curves[FAN_CURVE_DEV_GPU].enabled = false;
drivers/platform/x86/asus-wmi.c
3107
if (asus->mid_fan_curve_available)
drivers/platform/x86/asus-wmi.c
3108
asus->custom_fan_curves[FAN_CURVE_DEV_MID].enabled = false;
drivers/platform/x86/asus-wmi.c
3117
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3121
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_THERMAL_CTRL, &value);
drivers/platform/x86/asus-wmi.c
3134
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3138
ret = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_GPU_FAN_CTRL, &value);
drivers/platform/x86/asus-wmi.c
3152
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3156
ret = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_MID_FAN_CTRL, &value);
drivers/platform/x86/asus-wmi.c
3169
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3171
return sysfs_emit(buf, "%d\n", asus->gpu_fan_pwm_mode);
drivers/platform/x86/asus-wmi.c
3178
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3207
asus->gpu_fan_pwm_mode = state;
drivers/platform/x86/asus-wmi.c
3215
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3217
return sysfs_emit(buf, "%d\n", asus->mid_fan_pwm_mode);
drivers/platform/x86/asus-wmi.c
3224
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3253
asus->mid_fan_pwm_mode = state;
drivers/platform/x86/asus-wmi.c
3295
struct asus_wmi *asus = dev_get_drvdata(dev->parent);
drivers/platform/x86/asus-wmi.c
3299
if (asus->fan_type != FAN_TYPE_AGFN)
drivers/platform/x86/asus-wmi.c
3304
if (asus->fan_type == FAN_TYPE_NONE)
drivers/platform/x86/asus-wmi.c
3309
if (asus->gpu_fan_type == FAN_TYPE_NONE)
drivers/platform/x86/asus-wmi.c
3314
if (asus->mid_fan_type == FAN_TYPE_NONE)
drivers/platform/x86/asus-wmi.c
3317
int err = asus_wmi_get_devstate(asus,
drivers/platform/x86/asus-wmi.c
3341
static int asus_wmi_hwmon_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
3343
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
3346
hwmon = devm_hwmon_device_register_with_groups(dev, "asus", asus,
drivers/platform/x86/asus-wmi.c
3356
static int asus_wmi_fan_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
3358
asus->gpu_fan_type = FAN_TYPE_NONE;
drivers/platform/x86/asus-wmi.c
3359
asus->mid_fan_type = FAN_TYPE_NONE;
drivers/platform/x86/asus-wmi.c
3360
asus->fan_type = FAN_TYPE_NONE;
drivers/platform/x86/asus-wmi.c
3361
asus->agfn_pwm = -1;
drivers/platform/x86/asus-wmi.c
3363
if (asus->driver->quirks->wmi_ignore_fan)
drivers/platform/x86/asus-wmi.c
3364
asus->fan_type = FAN_TYPE_NONE;
drivers/platform/x86/asus-wmi.c
3365
else if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_CPU_FAN_CTRL))
drivers/platform/x86/asus-wmi.c
3366
asus->fan_type = FAN_TYPE_SPEC83;
drivers/platform/x86/asus-wmi.c
3367
else if (asus_wmi_has_agfn_fan(asus))
drivers/platform/x86/asus-wmi.c
3368
asus->fan_type = FAN_TYPE_AGFN;
drivers/platform/x86/asus-wmi.c
3371
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_FAN_CTRL))
drivers/platform/x86/asus-wmi.c
3372
asus->gpu_fan_type = FAN_TYPE_SPEC83;
drivers/platform/x86/asus-wmi.c
3375
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MID_FAN_CTRL))
drivers/platform/x86/asus-wmi.c
3376
asus->mid_fan_type = FAN_TYPE_SPEC83;
drivers/platform/x86/asus-wmi.c
3378
if (asus->fan_type == FAN_TYPE_NONE)
drivers/platform/x86/asus-wmi.c
3381
asus_fan_set_auto(asus);
drivers/platform/x86/asus-wmi.c
3382
asus->fan_pwm_mode = ASUS_FAN_CTRL_AUTO;
drivers/platform/x86/asus-wmi.c
3388
static int fan_boost_mode_check_present(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
3393
asus->fan_boost_mode_available = false;
drivers/platform/x86/asus-wmi.c
3395
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_FAN_BOOST_MODE,
drivers/platform/x86/asus-wmi.c
3406
asus->fan_boost_mode_available = true;
drivers/platform/x86/asus-wmi.c
3407
asus->fan_boost_mode_mask = result & ASUS_FAN_BOOST_MODES_MASK;
drivers/platform/x86/asus-wmi.c
3413
static int fan_boost_mode_write(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
3419
value = asus->fan_boost_mode;
drivers/platform/x86/asus-wmi.c
3425
sysfs_notify(&asus->platform_device->dev.kobj, NULL,
drivers/platform/x86/asus-wmi.c
3442
static int fan_boost_mode_switch_next(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
3444
u8 mask = asus->fan_boost_mode_mask;
drivers/platform/x86/asus-wmi.c
3446
if (asus->fan_boost_mode == ASUS_FAN_BOOST_MODE_NORMAL) {
drivers/platform/x86/asus-wmi.c
3448
asus->fan_boost_mode = ASUS_FAN_BOOST_MODE_OVERBOOST;
drivers/platform/x86/asus-wmi.c
3450
asus->fan_boost_mode = ASUS_FAN_BOOST_MODE_SILENT;
drivers/platform/x86/asus-wmi.c
3451
} else if (asus->fan_boost_mode == ASUS_FAN_BOOST_MODE_OVERBOOST) {
drivers/platform/x86/asus-wmi.c
3453
asus->fan_boost_mode = ASUS_FAN_BOOST_MODE_SILENT;
drivers/platform/x86/asus-wmi.c
3455
asus->fan_boost_mode = ASUS_FAN_BOOST_MODE_NORMAL;
drivers/platform/x86/asus-wmi.c
3457
asus->fan_boost_mode = ASUS_FAN_BOOST_MODE_NORMAL;
drivers/platform/x86/asus-wmi.c
3460
return fan_boost_mode_write(asus);
drivers/platform/x86/asus-wmi.c
3466
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3468
return sysfs_emit(buf, "%d\n", asus->fan_boost_mode);
drivers/platform/x86/asus-wmi.c
3475
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3476
u8 mask = asus->fan_boost_mode_mask;
drivers/platform/x86/asus-wmi.c
3496
asus->fan_boost_mode = new_mode;
drivers/platform/x86/asus-wmi.c
3497
fan_boost_mode_write(asus);
drivers/platform/x86/asus-wmi.c
3521
static int fan_curve_get_factory_default(struct asus_wmi *asus, u32 fan_dev)
drivers/platform/x86/asus-wmi.c
3528
if (asus->throttle_thermal_policy_dev)
drivers/platform/x86/asus-wmi.c
3529
mode = asus->throttle_thermal_policy_mode;
drivers/platform/x86/asus-wmi.c
3536
err = asus_wmi_evaluate_method_buf(asus->dsts_id, fan_dev, mode, buf,
drivers/platform/x86/asus-wmi.c
3550
curves = &asus->custom_fan_curves[fan_idx];
drivers/platform/x86/asus-wmi.c
3558
static int fan_curve_check_present(struct asus_wmi *asus, bool *available,
drivers/platform/x86/asus-wmi.c
3565
if (asus->fan_type == FAN_TYPE_NONE)
drivers/platform/x86/asus-wmi.c
3568
err = fan_curve_get_factory_default(asus, fan_dev);
drivers/platform/x86/asus-wmi.c
3578
static struct fan_curve_data *fan_curve_attr_select(struct asus_wmi *asus,
drivers/platform/x86/asus-wmi.c
3583
return &asus->custom_fan_curves[index];
drivers/platform/x86/asus-wmi.c
3587
static struct fan_curve_data *fan_curve_attr_2_select(struct asus_wmi *asus,
drivers/platform/x86/asus-wmi.c
3592
return &asus->custom_fan_curves[nr & ~FAN_CURVE_PWM_MASK];
drivers/platform/x86/asus-wmi.c
3599
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3603
data = fan_curve_attr_2_select(asus, attr);
drivers/platform/x86/asus-wmi.c
3618
static int fan_curve_write(struct asus_wmi *asus,
drivers/platform/x86/asus-wmi.c
3648
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3653
data = fan_curve_attr_2_select(asus, attr);
drivers/platform/x86/asus-wmi.c
3679
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3683
data = fan_curve_attr_select(asus, attr);
drivers/platform/x86/asus-wmi.c
3695
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
3699
data = fan_curve_attr_select(asus, attr);
drivers/platform/x86/asus-wmi.c
3717
err = fan_curve_get_factory_default(asus, data->device_id);
drivers/platform/x86/asus-wmi.c
3727
err = fan_curve_write(asus, data);
drivers/platform/x86/asus-wmi.c
3735
if (asus->throttle_thermal_policy_dev) {
drivers/platform/x86/asus-wmi.c
3736
err = throttle_thermal_policy_write(asus);
drivers/platform/x86/asus-wmi.c
3740
} else if (asus->fan_type == FAN_TYPE_SPEC83) {
drivers/platform/x86/asus-wmi.c
3741
err = asus_fan_set_auto(asus);
drivers/platform/x86/asus-wmi.c
3746
err = fan_curve_get_factory_default(asus, data->device_id);
drivers/platform/x86/asus-wmi.c
3749
err = fan_curve_write(asus, data);
drivers/platform/x86/asus-wmi.c
3927
struct asus_wmi *asus = dev_get_drvdata(dev->parent);
drivers/platform/x86/asus-wmi.c
3933
if (asus->cpu_fan_curve_available && attr->name[3] == '1')
drivers/platform/x86/asus-wmi.c
3936
if (asus->gpu_fan_curve_available && attr->name[3] == '2')
drivers/platform/x86/asus-wmi.c
3939
if (asus->mid_fan_curve_available && attr->name[3] == '3')
drivers/platform/x86/asus-wmi.c
3955
static int asus_wmi_custom_fan_curve_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
3957
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
3961
err = fan_curve_check_present(asus, &asus->cpu_fan_curve_available,
drivers/platform/x86/asus-wmi.c
3969
err = fan_curve_check_present(asus, &asus->gpu_fan_curve_available,
drivers/platform/x86/asus-wmi.c
3977
err = fan_curve_check_present(asus, &asus->mid_fan_curve_available,
drivers/platform/x86/asus-wmi.c
3985
if (!asus->cpu_fan_curve_available
drivers/platform/x86/asus-wmi.c
3986
&& !asus->gpu_fan_curve_available
drivers/platform/x86/asus-wmi.c
3987
&& !asus->mid_fan_curve_available)
drivers/platform/x86/asus-wmi.c
3991
dev, "asus_custom_fan_curve", asus, asus_fan_curve_attr_groups);
drivers/platform/x86/asus-wmi.c
4003
static int throttle_thermal_policy_write(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4008
if (asus->throttle_thermal_policy_dev == ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY_VIVO) {
drivers/platform/x86/asus-wmi.c
4009
switch (asus->throttle_thermal_policy_mode) {
drivers/platform/x86/asus-wmi.c
4023
value = asus->throttle_thermal_policy_mode;
drivers/platform/x86/asus-wmi.c
4027
err = asus_wmi_set_devstate(asus->throttle_thermal_policy_dev, value, NULL);
drivers/platform/x86/asus-wmi.c
4029
sysfs_notify(&asus->platform_device->dev.kobj, NULL,
drivers/platform/x86/asus-wmi.c
4038
if (asus->cpu_fan_curve_available)
drivers/platform/x86/asus-wmi.c
4039
asus->custom_fan_curves[FAN_CURVE_DEV_CPU].enabled = false;
drivers/platform/x86/asus-wmi.c
4040
if (asus->gpu_fan_curve_available)
drivers/platform/x86/asus-wmi.c
4041
asus->custom_fan_curves[FAN_CURVE_DEV_GPU].enabled = false;
drivers/platform/x86/asus-wmi.c
4042
if (asus->mid_fan_curve_available)
drivers/platform/x86/asus-wmi.c
4043
asus->custom_fan_curves[FAN_CURVE_DEV_MID].enabled = false;
drivers/platform/x86/asus-wmi.c
4048
static int throttle_thermal_policy_set_default(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4050
if (!asus->throttle_thermal_policy_dev)
drivers/platform/x86/asus-wmi.c
4053
asus->throttle_thermal_policy_mode = ASUS_THROTTLE_THERMAL_POLICY_DEFAULT;
drivers/platform/x86/asus-wmi.c
4054
return throttle_thermal_policy_write(asus);
drivers/platform/x86/asus-wmi.c
4061
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
4062
u8 mode = asus->throttle_thermal_policy_mode;
drivers/platform/x86/asus-wmi.c
4071
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
4083
asus->throttle_thermal_policy_mode = new_mode;
drivers/platform/x86/asus-wmi.c
4084
err = throttle_thermal_policy_write(asus);
drivers/platform/x86/asus-wmi.c
4092
platform_profile_notify(asus->ppdev);
drivers/platform/x86/asus-wmi.c
4107
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
4110
asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
4111
tp = asus->throttle_thermal_policy_mode;
drivers/platform/x86/asus-wmi.c
4133
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
4136
asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
4152
asus->throttle_thermal_policy_mode = tp;
drivers/platform/x86/asus-wmi.c
4153
return throttle_thermal_policy_write(asus);
drivers/platform/x86/asus-wmi.c
4171
static int platform_profile_setup(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4173
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
4180
if (!asus->throttle_thermal_policy_dev)
drivers/platform/x86/asus-wmi.c
4187
err = throttle_thermal_policy_set_default(asus);
drivers/platform/x86/asus-wmi.c
4195
asus->ppdev = devm_platform_profile_register(dev, "asus-wmi", asus,
drivers/platform/x86/asus-wmi.c
4197
if (IS_ERR(asus->ppdev)) {
drivers/platform/x86/asus-wmi.c
4199
return PTR_ERR(asus->ppdev);
drivers/platform/x86/asus-wmi.c
4202
asus->platform_profile_support = true;
drivers/platform/x86/asus-wmi.c
4208
static int read_backlight_power(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4212
if (asus->driver->quirks->store_backlight_power)
drivers/platform/x86/asus-wmi.c
4213
ret = !asus->driver->panel_power;
drivers/platform/x86/asus-wmi.c
4215
ret = asus_wmi_get_devstate_simple(asus,
drivers/platform/x86/asus-wmi.c
4224
static int read_brightness_max(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4229
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_BRIGHTNESS, &retval);
drivers/platform/x86/asus-wmi.c
4244
struct asus_wmi *asus = bl_get_data(bd);
drivers/platform/x86/asus-wmi.c
4248
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_BRIGHTNESS, &retval);
drivers/platform/x86/asus-wmi.c
4257
struct asus_wmi *asus = bl_get_data(bd);
drivers/platform/x86/asus-wmi.c
4260
if ((asus->driver->brightness < bd->props.brightness) ||
drivers/platform/x86/asus-wmi.c
4263
else if ((asus->driver->brightness > bd->props.brightness) ||
drivers/platform/x86/asus-wmi.c
4267
asus->driver->brightness = bd->props.brightness;
drivers/platform/x86/asus-wmi.c
4274
struct asus_wmi *asus = bl_get_data(bd);
drivers/platform/x86/asus-wmi.c
4278
power = read_backlight_power(asus);
drivers/platform/x86/asus-wmi.c
4283
if (asus->driver->quirks->store_backlight_power)
drivers/platform/x86/asus-wmi.c
4284
asus->driver->panel_power = bd->props.power;
drivers/platform/x86/asus-wmi.c
4288
if (asus->driver->quirks->scalar_panel_brightness)
drivers/platform/x86/asus-wmi.c
4292
if (asus->driver->quirks->scalar_panel_brightness)
drivers/platform/x86/asus-wmi.c
4308
static int asus_wmi_backlight_notify(struct asus_wmi *asus, int code)
drivers/platform/x86/asus-wmi.c
4310
struct backlight_device *bd = asus->backlight_device;
drivers/platform/x86/asus-wmi.c
4326
static int asus_wmi_backlight_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4333
max = read_brightness_max(asus);
drivers/platform/x86/asus-wmi.c
4337
power = read_backlight_power(asus);
drivers/platform/x86/asus-wmi.c
4346
bd = backlight_device_register(asus->driver->name,
drivers/platform/x86/asus-wmi.c
4347
&asus->platform_device->dev, asus,
drivers/platform/x86/asus-wmi.c
4354
asus->backlight_device = bd;
drivers/platform/x86/asus-wmi.c
4356
if (asus->driver->quirks->store_backlight_power)
drivers/platform/x86/asus-wmi.c
4357
asus->driver->panel_power = power;
drivers/platform/x86/asus-wmi.c
4363
asus->driver->brightness = bd->props.brightness;
drivers/platform/x86/asus-wmi.c
4368
static void asus_wmi_backlight_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4370
backlight_device_unregister(asus->backlight_device);
drivers/platform/x86/asus-wmi.c
4372
asus->backlight_device = NULL;
drivers/platform/x86/asus-wmi.c
4389
static int read_screenpad_backlight_power(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4393
ret = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_SCREENPAD_POWER);
drivers/platform/x86/asus-wmi.c
4402
struct asus_wmi *asus = bl_get_data(bd);
drivers/platform/x86/asus-wmi.c
4406
err = read_screenpad_backlight_power(asus);
drivers/platform/x86/asus-wmi.c
4411
return asus->driver->screenpad_brightness - ASUS_SCREENPAD_BRIGHT_MIN;
drivers/platform/x86/asus-wmi.c
4413
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_SCREENPAD_LIGHT, &retval);
drivers/platform/x86/asus-wmi.c
4422
struct asus_wmi *asus = bl_get_data(bd);
drivers/platform/x86/asus-wmi.c
4426
power = read_screenpad_backlight_power(asus);
drivers/platform/x86/asus-wmi.c
4433
ctrl_param = asus->driver->screenpad_brightness - ASUS_SCREENPAD_BRIGHT_MIN;
drivers/platform/x86/asus-wmi.c
4447
asus->driver->screenpad_brightness = bd->props.brightness + ASUS_SCREENPAD_BRIGHT_MIN;
drivers/platform/x86/asus-wmi.c
4458
static int asus_screenpad_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4465
power = read_screenpad_backlight_power(asus);
drivers/platform/x86/asus-wmi.c
4470
err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_SCREENPAD_LIGHT, &brightness);
drivers/platform/x86/asus-wmi.c
4482
&asus->platform_device->dev, asus,
drivers/platform/x86/asus-wmi.c
4489
asus->screenpad_backlight_device = bd;
drivers/platform/x86/asus-wmi.c
4490
asus->driver->screenpad_brightness = brightness;
drivers/platform/x86/asus-wmi.c
4498
static void asus_screenpad_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4500
backlight_device_unregister(asus->screenpad_backlight_device);
drivers/platform/x86/asus-wmi.c
4502
asus->screenpad_backlight_device = NULL;
drivers/platform/x86/asus-wmi.c
4507
static bool asus_wmi_has_fnlock_key(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4511
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_FNLOCK, &result);
drivers/platform/x86/asus-wmi.c
4517
static void asus_wmi_fnlock_update(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4519
int mode = asus->fnlock_locked;
drivers/platform/x86/asus-wmi.c
4538
static void asus_wmi_handle_event_code(int code, struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4544
if (asus->driver->key_filter) {
drivers/platform/x86/asus-wmi.c
4545
asus->driver->key_filter(asus->driver, &code, &key_value,
drivers/platform/x86/asus-wmi.c
4553
asus_wmi_backlight_notify(asus, code);
drivers/platform/x86/asus-wmi.c
4558
led_value = asus->kbd_led_wk;
drivers/platform/x86/asus-wmi.c
4561
kbd_led_set_by_kbd(asus, led_value + 1);
drivers/platform/x86/asus-wmi.c
4565
kbd_led_set_by_kbd(asus, led_value - 1);
drivers/platform/x86/asus-wmi.c
4570
kbd_led_set_by_kbd(asus, 0);
drivers/platform/x86/asus-wmi.c
4572
kbd_led_set_by_kbd(asus, led_value + 1);
drivers/platform/x86/asus-wmi.c
4577
asus->fnlock_locked = !asus->fnlock_locked;
drivers/platform/x86/asus-wmi.c
4578
asus_wmi_fnlock_update(asus);
drivers/platform/x86/asus-wmi.c
4582
if (code == asus->tablet_switch_event_code) {
drivers/platform/x86/asus-wmi.c
4583
asus_wmi_tablet_mode_get_state(asus);
drivers/platform/x86/asus-wmi.c
4588
if (asus->fan_boost_mode_available)
drivers/platform/x86/asus-wmi.c
4589
fan_boost_mode_switch_next(asus);
drivers/platform/x86/asus-wmi.c
4590
if (asus->throttle_thermal_policy_dev)
drivers/platform/x86/asus-wmi.c
4596
if (is_display_toggle(code) && asus->driver->quirks->no_display_toggle)
drivers/platform/x86/asus-wmi.c
4599
if (!sparse_keymap_report_event(asus->inputdev, code,
drivers/platform/x86/asus-wmi.c
4606
struct asus_wmi *asus = context;
drivers/platform/x86/asus-wmi.c
4614
asus_wmi_handle_event_code(code, asus);
drivers/platform/x86/asus-wmi.c
4619
static ssize_t store_sys_wmi(struct asus_wmi *asus, int devid,
drivers/platform/x86/asus-wmi.c
4625
value = asus_wmi_get_devstate_simple(asus, devid);
drivers/platform/x86/asus-wmi.c
4640
static ssize_t show_sys_wmi(struct asus_wmi *asus, int devid, char *buf)
drivers/platform/x86/asus-wmi.c
4642
int value = asus_wmi_get_devstate_simple(asus, devid);
drivers/platform/x86/asus-wmi.c
4655
struct asus_wmi *asus = dev_get_drvdata(dev); \
drivers/platform/x86/asus-wmi.c
4657
return show_sys_wmi(asus, _cm, buf); \
drivers/platform/x86/asus-wmi.c
4663
struct asus_wmi *asus = dev_get_drvdata(dev); \
drivers/platform/x86/asus-wmi.c
4665
return store_sys_wmi(asus, _cm, buf, count); \
drivers/platform/x86/asus-wmi.c
4737
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
4752
ok = asus->fan_boost_mode_available;
drivers/platform/x86/asus-wmi.c
4758
ok = asus->egpu_enable_available;
drivers/platform/x86/asus-wmi.c
4762
ok = asus->dgpu_disable_available;
drivers/platform/x86/asus-wmi.c
4764
ok = asus->gpu_mux_dev != 0;
drivers/platform/x86/asus-wmi.c
4766
ok = asus->fan_boost_mode_available;
drivers/platform/x86/asus-wmi.c
4768
ok = asus->throttle_thermal_policy_dev != 0;
drivers/platform/x86/asus-wmi.c
4790
ok = asus->mini_led_dev_id != 0;
drivers/platform/x86/asus-wmi.c
4792
ok = asus->mini_led_dev_id != 0;
drivers/platform/x86/asus-wmi.c
4796
ok = !(asus_wmi_get_devstate_simple(asus, devid) < 0);
drivers/platform/x86/asus-wmi.c
4820
static int asus_wmi_platform_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4822
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
4833
asus->spec = rv;
drivers/platform/x86/asus-wmi.c
4844
asus->sfun = rv;
drivers/platform/x86/asus-wmi.c
4866
asus->dsts_id = ASUS_WMI_METHODID_DCTS;
drivers/platform/x86/asus-wmi.c
4869
asus->dsts_id = ASUS_WMI_METHODID_DSTS;
drivers/platform/x86/asus-wmi.c
4874
if (asus->driver->quirks->wapf >= 0)
drivers/platform/x86/asus-wmi.c
4876
asus->driver->quirks->wapf, NULL);
drivers/platform/x86/asus-wmi.c
4884
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
4891
struct asus_wmi *asus = m->private;
drivers/platform/x86/asus-wmi.c
4895
err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval);
drivers/platform/x86/asus-wmi.c
4899
seq_printf(m, "DSTS(%#x) = %#x\n", asus->debug.dev_id, retval);
drivers/platform/x86/asus-wmi.c
4906
struct asus_wmi *asus = m->private;
drivers/platform/x86/asus-wmi.c
4910
err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param,
drivers/platform/x86/asus-wmi.c
4915
seq_printf(m, "DEVS(%#x, %#x) = %#x\n", asus->debug.dev_id,
drivers/platform/x86/asus-wmi.c
4916
asus->debug.ctrl_param, retval);
drivers/platform/x86/asus-wmi.c
4923
struct asus_wmi *asus = m->private;
drivers/platform/x86/asus-wmi.c
4925
.arg0 = asus->debug.dev_id,
drivers/platform/x86/asus-wmi.c
4926
.arg1 = asus->debug.ctrl_param,
drivers/platform/x86/asus-wmi.c
4934
0, asus->debug.method_id,
drivers/platform/x86/asus-wmi.c
4942
seq_printf(m, "%#x(%#x, %#x) = %#x\n", asus->debug.method_id,
drivers/platform/x86/asus-wmi.c
4943
asus->debug.dev_id, asus->debug.ctrl_param,
drivers/platform/x86/asus-wmi.c
4946
seq_printf(m, "%#x(%#x, %#x) = t:%d\n", asus->debug.method_id,
drivers/platform/x86/asus-wmi.c
4947
asus->debug.dev_id, asus->debug.ctrl_param,
drivers/platform/x86/asus-wmi.c
4965
return single_open(file, node->show, node->asus);
drivers/platform/x86/asus-wmi.c
4976
static void asus_wmi_debugfs_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4978
debugfs_remove_recursive(asus->debug.root);
drivers/platform/x86/asus-wmi.c
4981
static void asus_wmi_debugfs_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
4985
asus->debug.root = debugfs_create_dir(asus->driver->name, NULL);
drivers/platform/x86/asus-wmi.c
4987
debugfs_create_x32("method_id", S_IRUGO | S_IWUSR, asus->debug.root,
drivers/platform/x86/asus-wmi.c
4988
&asus->debug.method_id);
drivers/platform/x86/asus-wmi.c
4990
debugfs_create_x32("dev_id", S_IRUGO | S_IWUSR, asus->debug.root,
drivers/platform/x86/asus-wmi.c
4991
&asus->debug.dev_id);
drivers/platform/x86/asus-wmi.c
4993
debugfs_create_x32("ctrl_param", S_IRUGO | S_IWUSR, asus->debug.root,
drivers/platform/x86/asus-wmi.c
4994
&asus->debug.ctrl_param);
drivers/platform/x86/asus-wmi.c
4999
node->asus = asus;
drivers/platform/x86/asus-wmi.c
5001
asus->debug.root, node,
drivers/platform/x86/asus-wmi.c
5012
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
5017
asus = kzalloc_obj(struct asus_wmi);
drivers/platform/x86/asus-wmi.c
5018
if (!asus)
drivers/platform/x86/asus-wmi.c
5021
asus->driver = wdrv;
drivers/platform/x86/asus-wmi.c
5022
asus->platform_device = pdev;
drivers/platform/x86/asus-wmi.c
5024
platform_set_drvdata(asus->platform_device, asus);
drivers/platform/x86/asus-wmi.c
5027
wdrv->detect_quirks(asus->driver);
drivers/platform/x86/asus-wmi.c
5029
err = asus_wmi_platform_init(asus);
drivers/platform/x86/asus-wmi.c
5050
asus->ppt_pl2_sppt = 5;
drivers/platform/x86/asus-wmi.c
5051
asus->ppt_pl1_spl = 5;
drivers/platform/x86/asus-wmi.c
5052
asus->ppt_apu_sppt = 5;
drivers/platform/x86/asus-wmi.c
5053
asus->ppt_platform_sppt = 5;
drivers/platform/x86/asus-wmi.c
5054
asus->ppt_fppt = 5;
drivers/platform/x86/asus-wmi.c
5055
asus->nv_dynamic_boost = 5;
drivers/platform/x86/asus-wmi.c
5056
asus->nv_temp_target = 75;
drivers/platform/x86/asus-wmi.c
5058
asus->egpu_enable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_EGPU);
drivers/platform/x86/asus-wmi.c
5059
asus->dgpu_disable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_DGPU);
drivers/platform/x86/asus-wmi.c
5060
asus->kbd_rgb_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_STATE);
drivers/platform/x86/asus-wmi.c
5062
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MINI_LED_MODE))
drivers/platform/x86/asus-wmi.c
5063
asus->mini_led_dev_id = ASUS_WMI_DEVID_MINI_LED_MODE;
drivers/platform/x86/asus-wmi.c
5064
else if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MINI_LED_MODE2))
drivers/platform/x86/asus-wmi.c
5065
asus->mini_led_dev_id = ASUS_WMI_DEVID_MINI_LED_MODE2;
drivers/platform/x86/asus-wmi.c
5067
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_MUX))
drivers/platform/x86/asus-wmi.c
5068
asus->gpu_mux_dev = ASUS_WMI_DEVID_GPU_MUX;
drivers/platform/x86/asus-wmi.c
5069
else if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_MUX_VIVO))
drivers/platform/x86/asus-wmi.c
5070
asus->gpu_mux_dev = ASUS_WMI_DEVID_GPU_MUX_VIVO;
drivers/platform/x86/asus-wmi.c
5073
asus->oobe_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_OOBE);
drivers/platform/x86/asus-wmi.c
5075
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY))
drivers/platform/x86/asus-wmi.c
5076
asus->throttle_thermal_policy_dev = ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY;
drivers/platform/x86/asus-wmi.c
5077
else if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY_VIVO))
drivers/platform/x86/asus-wmi.c
5078
asus->throttle_thermal_policy_dev = ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY_VIVO;
drivers/platform/x86/asus-wmi.c
5080
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_MODE))
drivers/platform/x86/asus-wmi.c
5081
asus->kbd_rgb_dev = ASUS_WMI_DEVID_TUF_RGB_MODE;
drivers/platform/x86/asus-wmi.c
5082
else if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_MODE2))
drivers/platform/x86/asus-wmi.c
5083
asus->kbd_rgb_dev = ASUS_WMI_DEVID_TUF_RGB_MODE2;
drivers/platform/x86/asus-wmi.c
5085
err = fan_boost_mode_check_present(asus);
drivers/platform/x86/asus-wmi.c
5089
err = platform_profile_setup(asus);
drivers/platform/x86/asus-wmi.c
5093
err = asus_wmi_sysfs_init(asus->platform_device);
drivers/platform/x86/asus-wmi.c
5097
err = asus_wmi_input_init(asus);
drivers/platform/x86/asus-wmi.c
5101
err = asus_wmi_fan_init(asus); /* probably no problems on error */
drivers/platform/x86/asus-wmi.c
5103
err = asus_wmi_hwmon_init(asus);
drivers/platform/x86/asus-wmi.c
5107
err = asus_wmi_custom_fan_curve_init(asus);
drivers/platform/x86/asus-wmi.c
5111
err = asus_wmi_led_init(asus);
drivers/platform/x86/asus-wmi.c
5115
asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_WLAN, &result);
drivers/platform/x86/asus-wmi.c
5118
asus->driver->wlan_ctrl_by_user = 1;
drivers/platform/x86/asus-wmi.c
5120
if (!(asus->driver->wlan_ctrl_by_user && ashs_present())) {
drivers/platform/x86/asus-wmi.c
5121
err = asus_wmi_rfkill_init(asus);
drivers/platform/x86/asus-wmi.c
5126
if (asus->driver->quirks->wmi_force_als_set)
drivers/platform/x86/asus-wmi.c
5129
if (asus->driver->quirks->xusb2pr)
drivers/platform/x86/asus-wmi.c
5130
asus_wmi_set_xusb2pr(asus);
drivers/platform/x86/asus-wmi.c
5133
err = asus_wmi_backlight_init(asus);
drivers/platform/x86/asus-wmi.c
5136
} else if (asus->driver->quirks->wmi_backlight_set_devstate)
drivers/platform/x86/asus-wmi.c
5139
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_SCREENPAD_LIGHT)) {
drivers/platform/x86/asus-wmi.c
5140
err = asus_screenpad_init(asus);
drivers/platform/x86/asus-wmi.c
5145
if (asus_wmi_has_fnlock_key(asus)) {
drivers/platform/x86/asus-wmi.c
5146
asus->fnlock_locked = fnlock_default;
drivers/platform/x86/asus-wmi.c
5147
asus_wmi_fnlock_update(asus);
drivers/platform/x86/asus-wmi.c
5150
status = wmi_install_notify_handler(asus->driver->event_guid,
drivers/platform/x86/asus-wmi.c
5151
asus_wmi_notify, asus);
drivers/platform/x86/asus-wmi.c
5158
if (asus->driver->i8042_filter) {
drivers/platform/x86/asus-wmi.c
5159
err = i8042_install_filter(asus->driver->i8042_filter, NULL);
drivers/platform/x86/asus-wmi.c
5164
asus_wmi_battery_init(asus);
drivers/platform/x86/asus-wmi.c
5166
asus_wmi_debugfs_init(asus);
drivers/platform/x86/asus-wmi.c
5171
asus_wmi_backlight_exit(asus);
drivers/platform/x86/asus-wmi.c
5173
asus_wmi_rfkill_exit(asus);
drivers/platform/x86/asus-wmi.c
5175
asus_screenpad_exit(asus);
drivers/platform/x86/asus-wmi.c
5177
asus_wmi_led_exit(asus);
drivers/platform/x86/asus-wmi.c
5180
asus_wmi_input_exit(asus);
drivers/platform/x86/asus-wmi.c
5182
asus_wmi_sysfs_exit(asus->platform_device);
drivers/platform/x86/asus-wmi.c
5188
kfree(asus);
drivers/platform/x86/asus-wmi.c
5194
struct asus_wmi *asus;
drivers/platform/x86/asus-wmi.c
5196
asus = platform_get_drvdata(device);
drivers/platform/x86/asus-wmi.c
5197
if (asus->driver->i8042_filter)
drivers/platform/x86/asus-wmi.c
5198
i8042_remove_filter(asus->driver->i8042_filter);
drivers/platform/x86/asus-wmi.c
5199
wmi_remove_notify_handler(asus->driver->event_guid);
drivers/platform/x86/asus-wmi.c
5200
asus_wmi_backlight_exit(asus);
drivers/platform/x86/asus-wmi.c
5201
asus_screenpad_exit(asus);
drivers/platform/x86/asus-wmi.c
5202
asus_wmi_input_exit(asus);
drivers/platform/x86/asus-wmi.c
5203
asus_wmi_led_exit(asus);
drivers/platform/x86/asus-wmi.c
5204
asus_wmi_rfkill_exit(asus);
drivers/platform/x86/asus-wmi.c
5205
asus_wmi_debugfs_exit(asus);
drivers/platform/x86/asus-wmi.c
5206
asus_wmi_sysfs_exit(asus->platform_device);
drivers/platform/x86/asus-wmi.c
5207
asus_fan_set_auto(asus);
drivers/platform/x86/asus-wmi.c
5208
throttle_thermal_policy_set_default(asus);
drivers/platform/x86/asus-wmi.c
5209
asus_wmi_battery_exit(asus);
drivers/platform/x86/asus-wmi.c
5211
kfree(asus);
drivers/platform/x86/asus-wmi.c
5218
struct asus_wmi *asus = dev_get_drvdata(device);
drivers/platform/x86/asus-wmi.c
5220
if (asus->wlan.rfkill) {
drivers/platform/x86/asus-wmi.c
5228
wlan = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_WLAN);
drivers/platform/x86/asus-wmi.c
5237
struct asus_wmi *asus = dev_get_drvdata(device);
drivers/platform/x86/asus-wmi.c
5239
if (!IS_ERR_OR_NULL(asus->kbd_led.dev))
drivers/platform/x86/asus-wmi.c
5240
kbd_led_update(asus);
drivers/platform/x86/asus-wmi.c
5242
if (asus_wmi_has_fnlock_key(asus))
drivers/platform/x86/asus-wmi.c
5243
asus_wmi_fnlock_update(asus);
drivers/platform/x86/asus-wmi.c
5245
asus_wmi_tablet_mode_get_state(asus);
drivers/platform/x86/asus-wmi.c
5252
struct asus_wmi *asus = dev_get_drvdata(device);
drivers/platform/x86/asus-wmi.c
5256
if (asus->wlan.rfkill)
drivers/platform/x86/asus-wmi.c
5257
asus_rfkill_hotplug(asus);
drivers/platform/x86/asus-wmi.c
5259
if (asus->bluetooth.rfkill) {
drivers/platform/x86/asus-wmi.c
5260
bl = !asus_wmi_get_devstate_simple(asus,
drivers/platform/x86/asus-wmi.c
5262
rfkill_set_sw_state(asus->bluetooth.rfkill, bl);
drivers/platform/x86/asus-wmi.c
5264
if (asus->wimax.rfkill) {
drivers/platform/x86/asus-wmi.c
5265
bl = !asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_WIMAX);
drivers/platform/x86/asus-wmi.c
5266
rfkill_set_sw_state(asus->wimax.rfkill, bl);
drivers/platform/x86/asus-wmi.c
5268
if (asus->wwan3g.rfkill) {
drivers/platform/x86/asus-wmi.c
5269
bl = !asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_WWAN3G);
drivers/platform/x86/asus-wmi.c
5270
rfkill_set_sw_state(asus->wwan3g.rfkill, bl);
drivers/platform/x86/asus-wmi.c
5272
if (asus->gps.rfkill) {
drivers/platform/x86/asus-wmi.c
5273
bl = !asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_GPS);
drivers/platform/x86/asus-wmi.c
5274
rfkill_set_sw_state(asus->gps.rfkill, bl);
drivers/platform/x86/asus-wmi.c
5276
if (asus->uwb.rfkill) {
drivers/platform/x86/asus-wmi.c
5277
bl = !asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_UWB);
drivers/platform/x86/asus-wmi.c
5278
rfkill_set_sw_state(asus->uwb.rfkill, bl);
drivers/platform/x86/asus-wmi.c
5280
if (!IS_ERR_OR_NULL(asus->kbd_led.dev))
drivers/platform/x86/asus-wmi.c
5281
kbd_led_update(asus);
drivers/platform/x86/asus-wmi.c
5282
if (asus->oobe_state_available) {
drivers/platform/x86/asus-wmi.c
5290
if (asus_wmi_has_fnlock_key(asus))
drivers/platform/x86/asus-wmi.c
5291
asus_wmi_fnlock_update(asus);
drivers/platform/x86/asus-wmi.c
5293
asus_wmi_tablet_mode_get_state(asus);
drivers/platform/x86/asus-wmi.c
551
static int asus_wmi_get_devstate(struct asus_wmi *asus, u32 dev_id, u32 *retval)
drivers/platform/x86/asus-wmi.c
555
err = asus_wmi_evaluate_method(asus->dsts_id, dev_id, 0, retval);
drivers/platform/x86/asus-wmi.c
614
static int asus_wmi_get_devstate_bits(struct asus_wmi *asus,
drivers/platform/x86/asus-wmi.c
620
err = asus_wmi_get_devstate(asus, dev_id, &retval);
drivers/platform/x86/asus-wmi.c
635
static int asus_wmi_get_devstate_simple(struct asus_wmi *asus, u32 dev_id)
drivers/platform/x86/asus-wmi.c
637
return asus_wmi_get_devstate_bits(asus, dev_id,
drivers/platform/x86/asus-wmi.c
641
static bool asus_wmi_dev_is_present(struct asus_wmi *asus, u32 dev_id)
drivers/platform/x86/asus-wmi.c
644
int status = asus_wmi_get_devstate(asus, dev_id, &retval);
drivers/platform/x86/asus-wmi.c
651
static void asus_wmi_tablet_sw_report(struct asus_wmi *asus, bool value)
drivers/platform/x86/asus-wmi.c
653
input_report_switch(asus->inputdev, SW_TABLET_MODE,
drivers/platform/x86/asus-wmi.c
654
asus->tablet_switch_inverted ? !value : value);
drivers/platform/x86/asus-wmi.c
655
input_sync(asus->inputdev);
drivers/platform/x86/asus-wmi.c
658
static void asus_wmi_tablet_sw_init(struct asus_wmi *asus, u32 dev_id, int event_code)
drivers/platform/x86/asus-wmi.c
660
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
663
result = asus_wmi_get_devstate_simple(asus, dev_id);
drivers/platform/x86/asus-wmi.c
665
input_set_capability(asus->inputdev, EV_SW, SW_TABLET_MODE);
drivers/platform/x86/asus-wmi.c
666
asus_wmi_tablet_sw_report(asus, result);
drivers/platform/x86/asus-wmi.c
667
asus->tablet_switch_dev_id = dev_id;
drivers/platform/x86/asus-wmi.c
668
asus->tablet_switch_event_code = event_code;
drivers/platform/x86/asus-wmi.c
676
static int asus_wmi_input_init(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
678
struct device *dev = &asus->platform_device->dev;
drivers/platform/x86/asus-wmi.c
681
asus->inputdev = input_allocate_device();
drivers/platform/x86/asus-wmi.c
682
if (!asus->inputdev)
drivers/platform/x86/asus-wmi.c
685
asus->inputdev->name = asus->driver->input_name;
drivers/platform/x86/asus-wmi.c
686
asus->inputdev->phys = asus->driver->input_phys;
drivers/platform/x86/asus-wmi.c
687
asus->inputdev->id.bustype = BUS_HOST;
drivers/platform/x86/asus-wmi.c
688
asus->inputdev->dev.parent = dev;
drivers/platform/x86/asus-wmi.c
689
set_bit(EV_REP, asus->inputdev->evbit);
drivers/platform/x86/asus-wmi.c
691
err = sparse_keymap_setup(asus->inputdev, asus->driver->keymap, NULL);
drivers/platform/x86/asus-wmi.c
695
switch (asus->driver->quirks->tablet_switch_mode) {
drivers/platform/x86/asus-wmi.c
699
asus->tablet_switch_inverted = true;
drivers/platform/x86/asus-wmi.c
700
asus_wmi_tablet_sw_init(asus, ASUS_WMI_DEVID_KBD_DOCK, NOTIFY_KBD_DOCK_CHANGE);
drivers/platform/x86/asus-wmi.c
703
asus_wmi_tablet_sw_init(asus, ASUS_WMI_DEVID_LID_FLIP, NOTIFY_LID_FLIP);
drivers/platform/x86/asus-wmi.c
706
asus_wmi_tablet_sw_init(asus, ASUS_WMI_DEVID_LID_FLIP_ROG, NOTIFY_LID_FLIP_ROG);
drivers/platform/x86/asus-wmi.c
710
err = input_register_device(asus->inputdev);
drivers/platform/x86/asus-wmi.c
717
input_free_device(asus->inputdev);
drivers/platform/x86/asus-wmi.c
721
static void asus_wmi_input_exit(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
723
if (asus->inputdev)
drivers/platform/x86/asus-wmi.c
724
input_unregister_device(asus->inputdev);
drivers/platform/x86/asus-wmi.c
726
asus->inputdev = NULL;
drivers/platform/x86/asus-wmi.c
731
static void asus_wmi_tablet_mode_get_state(struct asus_wmi *asus)
drivers/platform/x86/asus-wmi.c
735
if (!asus->tablet_switch_dev_id)
drivers/platform/x86/asus-wmi.c
738
result = asus_wmi_get_devstate_simple(asus, asus->tablet_switch_dev_id);
drivers/platform/x86/asus-wmi.c
740
asus_wmi_tablet_sw_report(asus, result);
drivers/platform/x86/asus-wmi.c
748
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
751
result = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_CHARGE_MODE, &value);
drivers/platform/x86/asus-wmi.c
768
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
771
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_DGPU);
drivers/platform/x86/asus-wmi.c
793
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
802
if (asus->gpu_mux_dev) {
drivers/platform/x86/asus-wmi.c
803
result = asus_wmi_get_devstate_simple(asus, asus->gpu_mux_dev);
drivers/platform/x86/asus-wmi.c
825
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "dgpu_disable");
drivers/platform/x86/asus-wmi.c
837
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
840
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU);
drivers/platform/x86/asus-wmi.c
857
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
866
err = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU_CONNECTED);
drivers/platform/x86/asus-wmi.c
872
if (asus->gpu_mux_dev) {
drivers/platform/x86/asus-wmi.c
873
result = asus_wmi_get_devstate_simple(asus, asus->gpu_mux_dev);
drivers/platform/x86/asus-wmi.c
897
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "egpu_enable");
drivers/platform/x86/asus-wmi.c
909
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
912
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU_CONNECTED);
drivers/platform/x86/asus-wmi.c
929
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
932
result = asus_wmi_get_devstate_simple(asus, asus->gpu_mux_dev);
drivers/platform/x86/asus-wmi.c
945
struct asus_wmi *asus = dev_get_drvdata(dev);
drivers/platform/x86/asus-wmi.c
956
if (asus->dgpu_disable_available) {
drivers/platform/x86/asus-wmi.c
957
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_DGPU);
drivers/platform/x86/asus-wmi.c
968
if (asus->egpu_enable_available) {
drivers/platform/x86/asus-wmi.c
969
result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU);
drivers/platform/x86/asus-wmi.c
980
err = asus_wmi_set_devstate(asus->gpu_mux_dev, optimus, &result);
drivers/platform/x86/asus-wmi.c
991
sysfs_notify(&asus->platform_device->dev.kobj, NULL, "gpu_mux_mode");