summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpi_support
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-10-27 14:38:00 +0000
committerhselasky <hselasky@FreeBSD.org>2014-10-27 14:38:00 +0000
commit1f41d295fba2d409098181fe1212b0bbad862311 (patch)
treeba2736123ed8400baf0cb45744b440c6e0eb456d /sys/dev/acpi_support
parenta3704ff4d46f150fc2e004a6f0f75c57047b967c (diff)
downloadFreeBSD-src-1f41d295fba2d409098181fe1212b0bbad862311.zip
FreeBSD-src-1f41d295fba2d409098181fe1212b0bbad862311.tar.gz
MFC r263710, r273377, r273378, r273423 and r273455:
- De-vnet hash sizes and hash masks. - Fix multiple issues related to arguments passed to SYSCTL macros. Sponsored by: Mellanox Technologies
Diffstat (limited to 'sys/dev/acpi_support')
-rw-r--r--sys/dev/acpi_support/acpi_asus.c31
-rw-r--r--sys/dev/acpi_support/acpi_asus_wmi.c53
-rw-r--r--sys/dev/acpi_support/acpi_hp.c50
-rw-r--r--sys/dev/acpi_support/acpi_ibm.c42
-rw-r--r--sys/dev/acpi_support/acpi_rapidstart.c21
-rw-r--r--sys/dev/acpi_support/acpi_sony.c23
6 files changed, 109 insertions, 111 deletions
diff --git a/sys/dev/acpi_support/acpi_asus.c b/sys/dev/acpi_support/acpi_asus.c
index d1ae810..86cd8b7 100644
--- a/sys/dev/acpi_support/acpi_asus.c
+++ b/sys/dev/acpi_support/acpi_asus.c
@@ -465,43 +465,39 @@ static struct {
char *name;
char *description;
int method;
- int flags;
+ int flag_anybody;
} acpi_asus_sysctls[] = {
{
.name = "lcd_backlight",
.method = ACPI_ASUS_METHOD_LCD,
.description = "state of the lcd backlight",
- .flags = CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_ANYBODY
+ .flag_anybody = 1
},
{
.name = "lcd_brightness",
.method = ACPI_ASUS_METHOD_BRN,
.description = "brightness of the lcd panel",
- .flags = CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_ANYBODY
+ .flag_anybody = 1
},
{
.name = "video_output",
.method = ACPI_ASUS_METHOD_DISP,
.description = "display output state",
- .flags = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "camera",
.method = ACPI_ASUS_METHOD_CAMERA,
.description = "internal camera state",
- .flags = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "cardreader",
.method = ACPI_ASUS_METHOD_CARDRD,
.description = "internal card reader state",
- .flags = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "wlan",
.method = ACPI_ASUS_METHOD_WLAN,
.description = "wireless lan state",
- .flags = CTLTYPE_INT | CTLFLAG_RW
},
{ .name = NULL }
@@ -741,12 +737,21 @@ acpi_asus_attach(device_t dev)
if (!acpi_asus_sysctl_init(sc, acpi_asus_sysctls[i].method))
continue;
- SYSCTL_ADD_PROC(&sc->sysctl_ctx,
- SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
- acpi_asus_sysctls[i].name,
- acpi_asus_sysctls[i].flags,
- sc, i, acpi_asus_sysctl, "I",
- acpi_asus_sysctls[i].description);
+ if (acpi_asus_sysctls[i].flag_anybody != 0) {
+ SYSCTL_ADD_PROC(&sc->sysctl_ctx,
+ SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
+ acpi_asus_sysctls[i].name,
+ CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_ANYBODY,
+ sc, i, acpi_asus_sysctl, "I",
+ acpi_asus_sysctls[i].description);
+ } else {
+ SYSCTL_ADD_PROC(&sc->sysctl_ctx,
+ SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
+ acpi_asus_sysctls[i].name,
+ CTLTYPE_INT | CTLFLAG_RW,
+ sc, i, acpi_asus_sysctl, "I",
+ acpi_asus_sysctls[i].description);
+ }
}
/* Attach leds */
diff --git a/sys/dev/acpi_support/acpi_asus_wmi.c b/sys/dev/acpi_support/acpi_asus_wmi.c
index 54a2893..d77cc76 100644
--- a/sys/dev/acpi_support/acpi_asus_wmi.c
+++ b/sys/dev/acpi_support/acpi_asus_wmi.c
@@ -119,163 +119,139 @@ static struct {
char *name;
int dev_id;
char *description;
- int access;
+ int flag_rdonly;
} acpi_asus_wmi_sysctls[] = {
{
.name = "hw_switch",
.dev_id = ASUS_WMI_DEVID_HW_SWITCH,
.description = "hw_switch",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "wireless_led",
.dev_id = ASUS_WMI_DEVID_WIRELESS_LED,
.description = "Wireless LED control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "cwap",
.dev_id = ASUS_WMI_DEVID_CWAP,
.description = "Alt+F2 function",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "wlan",
.dev_id = ASUS_WMI_DEVID_WLAN,
.description = "WLAN power control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "bluetooth",
.dev_id = ASUS_WMI_DEVID_BLUETOOTH,
.description = "Bluetooth power control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "gps",
.dev_id = ASUS_WMI_DEVID_GPS,
.description = "GPS power control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "wimax",
.dev_id = ASUS_WMI_DEVID_WIMAX,
.description = "WiMAX power control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "wwan3g",
.dev_id = ASUS_WMI_DEVID_WWAN3G,
.description = "WWAN-3G power control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "uwb",
.dev_id = ASUS_WMI_DEVID_UWB,
.description = "UWB power control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "led1",
.dev_id = ASUS_WMI_DEVID_LED1,
.description = "LED1 control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "led2",
.dev_id = ASUS_WMI_DEVID_LED2,
.description = "LED2 control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "led3",
.dev_id = ASUS_WMI_DEVID_LED3,
.description = "LED3 control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "led4",
.dev_id = ASUS_WMI_DEVID_LED4,
.description = "LED4 control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "led5",
.dev_id = ASUS_WMI_DEVID_LED5,
.description = "LED5 control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "led6",
.dev_id = ASUS_WMI_DEVID_LED6,
.description = "LED6 control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "backlight",
.dev_id = ASUS_WMI_DEVID_BACKLIGHT,
.description = "LCD backlight on/off control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "brightness",
.dev_id = ASUS_WMI_DEVID_BRIGHTNESS,
.description = "LCD backlight brightness control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "kbd_backlight",
.dev_id = ASUS_WMI_DEVID_KBD_BACKLIGHT,
.description = "Keyboard backlight brightness control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "light_sensor",
.dev_id = ASUS_WMI_DEVID_LIGHT_SENSOR,
.description = "Ambient light sensor",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "camera",
.dev_id = ASUS_WMI_DEVID_CAMERA,
.description = "Camera power control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "cardreader",
.dev_id = ASUS_WMI_DEVID_CARDREADER,
.description = "Cardreader power control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "touchpad",
.dev_id = ASUS_WMI_DEVID_TOUCHPAD,
.description = "Touchpad control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "touchpad_led",
.dev_id = ASUS_WMI_DEVID_TOUCHPAD_LED,
.description = "Touchpad LED control",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "themperature",
.dev_id = ASUS_WMI_DEVID_THERMAL_CTRL,
.description = "Temperature (C)",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "fan_speed",
.dev_id = ASUS_WMI_DEVID_FAN_CTRL,
.description = "Fan speed (0-3)",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "processor_state",
.dev_id = ASUS_WMI_DEVID_PROCESSOR_STATE,
- .description = "Processor state",
- .access = CTLTYPE_INT | CTLFLAG_RW
+ .flag_rdonly = 1
},
{ NULL, 0, NULL, 0 }
};
@@ -449,12 +425,21 @@ next:
break;
}
- SYSCTL_ADD_PROC(sc->sysctl_ctx,
- SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
- acpi_asus_wmi_sysctls[i].name,
- acpi_asus_wmi_sysctls[i].access,
- sc, i, acpi_asus_wmi_sysctl, "I",
- acpi_asus_wmi_sysctls[i].description);
+ if (acpi_asus_wmi_sysctls[i].flag_rdonly != 0) {
+ SYSCTL_ADD_PROC(sc->sysctl_ctx,
+ SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
+ acpi_asus_wmi_sysctls[i].name,
+ CTLTYPE_INT | CTLFLAG_RD,
+ sc, i, acpi_asus_wmi_sysctl, "I",
+ acpi_asus_wmi_sysctls[i].description);
+ } else {
+ SYSCTL_ADD_PROC(sc->sysctl_ctx,
+ SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
+ acpi_asus_wmi_sysctls[i].name,
+ CTLTYPE_INT | CTLFLAG_RW,
+ sc, i, acpi_asus_wmi_sysctl, "I",
+ acpi_asus_wmi_sysctls[i].description);
+ }
}
ACPI_SERIAL_END(asus_wmi);
diff --git a/sys/dev/acpi_support/acpi_hp.c b/sys/dev/acpi_support/acpi_hp.c
index deb01a4..2828038 100644
--- a/sys/dev/acpi_support/acpi_hp.c
+++ b/sys/dev/acpi_support/acpi_hp.c
@@ -152,135 +152,123 @@ static struct {
char *name;
int method;
char *description;
- int access;
+ int flag_rdonly;
} acpi_hp_sysctls[] = {
{
.name = "wlan_enabled",
.method = ACPI_HP_METHOD_WLAN_ENABLED,
.description = "Enable/Disable WLAN (WiFi)",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "wlan_radio",
.method = ACPI_HP_METHOD_WLAN_RADIO,
.description = "WLAN radio status",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "wlan_on_air",
.method = ACPI_HP_METHOD_WLAN_ON_AIR,
.description = "WLAN radio ready to use (enabled and radio)",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "wlan_enable_if_radio_on",
.method = ACPI_HP_METHOD_WLAN_ENABLE_IF_RADIO_ON,
.description = "Enable WLAN if radio is turned on",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "wlan_disable_if_radio_off",
.method = ACPI_HP_METHOD_WLAN_DISABLE_IF_RADIO_OFF,
.description = "Disable WLAN if radio is turned off",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "bt_enabled",
.method = ACPI_HP_METHOD_BLUETOOTH_ENABLED,
.description = "Enable/Disable Bluetooth",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "bt_radio",
.method = ACPI_HP_METHOD_BLUETOOTH_RADIO,
.description = "Bluetooth radio status",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "bt_on_air",
.method = ACPI_HP_METHOD_BLUETOOTH_ON_AIR,
.description = "Bluetooth radio ready to use"
" (enabled and radio)",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "bt_enable_if_radio_on",
.method = ACPI_HP_METHOD_BLUETOOTH_ENABLE_IF_RADIO_ON,
.description = "Enable bluetooth if radio is turned on",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "bt_disable_if_radio_off",
.method = ACPI_HP_METHOD_BLUETOOTH_DISABLE_IF_RADIO_OFF,
.description = "Disable bluetooth if radio is turned off",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "wwan_enabled",
.method = ACPI_HP_METHOD_WWAN_ENABLED,
.description = "Enable/Disable WWAN (UMTS)",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "wwan_radio",
.method = ACPI_HP_METHOD_WWAN_RADIO,
.description = "WWAN radio status",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "wwan_on_air",
.method = ACPI_HP_METHOD_WWAN_ON_AIR,
.description = "WWAN radio ready to use (enabled and radio)",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "wwan_enable_if_radio_on",
.method = ACPI_HP_METHOD_WWAN_ENABLE_IF_RADIO_ON,
.description = "Enable WWAN if radio is turned on",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "wwan_disable_if_radio_off",
.method = ACPI_HP_METHOD_WWAN_DISABLE_IF_RADIO_OFF,
.description = "Disable WWAN if radio is turned off",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "als_enabled",
.method = ACPI_HP_METHOD_ALS,
.description = "Enable/Disable ALS (Ambient light sensor)",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "display",
.method = ACPI_HP_METHOD_DISPLAY,
.description = "Display status",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "hdd_temperature",
.method = ACPI_HP_METHOD_HDDTEMP,
.description = "HDD temperature",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "is_docked",
.method = ACPI_HP_METHOD_DOCK,
.description = "Docking station status",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "cmi_detail",
.method = ACPI_HP_METHOD_CMI_DETAIL,
.description = "Details shown in CMI output "
"(cat /dev/hpcmi)",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "verbose",
.method = ACPI_HP_METHOD_VERBOSE,
.description = "Verbosity level",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{ NULL, 0, NULL, 0 }
@@ -560,11 +548,19 @@ acpi_hp_attach(device_t dev)
sc->was_wwan_on_air = arg;
}
- SYSCTL_ADD_PROC(sc->sysctl_ctx,
- SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
- acpi_hp_sysctls[i].name, acpi_hp_sysctls[i].access,
- sc, i, acpi_hp_sysctl, "I",
- acpi_hp_sysctls[i].description);
+ if (acpi_hp_sysctls[i].flag_rdonly != 0) {
+ SYSCTL_ADD_PROC(sc->sysctl_ctx,
+ SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
+ acpi_hp_sysctls[i].name, CTLTYPE_INT | CTLFLAG_RD,
+ sc, i, acpi_hp_sysctl, "I",
+ acpi_hp_sysctls[i].description);
+ } else {
+ SYSCTL_ADD_PROC(sc->sysctl_ctx,
+ SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
+ acpi_hp_sysctls[i].name, CTLTYPE_INT | CTLFLAG_RW,
+ sc, i, acpi_hp_sysctl, "I",
+ acpi_hp_sysctls[i].description);
+ }
}
ACPI_SERIAL_END(hp);
diff --git a/sys/dev/acpi_support/acpi_ibm.c b/sys/dev/acpi_support/acpi_ibm.c
index 4160112..3f53c59 100644
--- a/sys/dev/acpi_support/acpi_ibm.c
+++ b/sys/dev/acpi_support/acpi_ibm.c
@@ -192,79 +192,70 @@ static struct {
char *name;
int method;
char *description;
- int access;
+ int flag_rdonly;
} acpi_ibm_sysctls[] = {
{
.name = "events",
.method = ACPI_IBM_METHOD_EVENTS,
.description = "ACPI events enable",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "eventmask",
.method = ACPI_IBM_METHOD_EVENTMASK,
.description = "ACPI eventmask",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "hotkey",
.method = ACPI_IBM_METHOD_HOTKEY,
.description = "Key Status",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "lcd_brightness",
.method = ACPI_IBM_METHOD_BRIGHTNESS,
.description = "LCD Brightness",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "volume",
.method = ACPI_IBM_METHOD_VOLUME,
.description = "Volume",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "mute",
.method = ACPI_IBM_METHOD_MUTE,
.description = "Mute",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "thinklight",
.method = ACPI_IBM_METHOD_THINKLIGHT,
.description = "Thinklight enable",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "bluetooth",
.method = ACPI_IBM_METHOD_BLUETOOTH,
.description = "Bluetooth enable",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "wlan",
.method = ACPI_IBM_METHOD_WLAN,
.description = "WLAN enable",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "fan_speed",
.method = ACPI_IBM_METHOD_FANSPEED,
.description = "Fan speed",
- .access = CTLTYPE_INT | CTLFLAG_RD
+ .flag_rdonly = 1
},
{
.name = "fan_level",
.method = ACPI_IBM_METHOD_FANLEVEL,
.description = "Fan level",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{
.name = "fan",
.method = ACPI_IBM_METHOD_FANSTATUS,
.description = "Fan enable",
- .access = CTLTYPE_INT | CTLFLAG_RW
},
{ NULL, 0, NULL, 0 }
@@ -415,11 +406,19 @@ acpi_ibm_attach(device_t dev)
if (!acpi_ibm_sysctl_init(sc, acpi_ibm_sysctls[i].method))
continue;
- SYSCTL_ADD_PROC(sc->sysctl_ctx,
- SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
- acpi_ibm_sysctls[i].name, acpi_ibm_sysctls[i].access,
- sc, i, acpi_ibm_sysctl, "I",
- acpi_ibm_sysctls[i].description);
+ if (acpi_ibm_sysctls[i].flag_rdonly != 0) {
+ SYSCTL_ADD_PROC(sc->sysctl_ctx,
+ SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
+ acpi_ibm_sysctls[i].name, CTLTYPE_INT | CTLFLAG_RD,
+ sc, i, acpi_ibm_sysctl, "I",
+ acpi_ibm_sysctls[i].description);
+ } else {
+ SYSCTL_ADD_PROC(sc->sysctl_ctx,
+ SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO,
+ acpi_ibm_sysctls[i].name, CTLTYPE_INT | CTLFLAG_RW,
+ sc, i, acpi_ibm_sysctl, "I",
+ acpi_ibm_sysctls[i].description);
+ }
}
/* Hook up thermal node */
@@ -483,15 +482,10 @@ acpi_ibm_resume(device_t dev)
for (int i = 0; acpi_ibm_sysctls[i].name != NULL; i++) {
int val;
- if ((acpi_ibm_sysctls[i].access & CTLFLAG_RD) == 0) {
- continue;
- }
-
val = acpi_ibm_sysctl_get(sc, i);
- if ((acpi_ibm_sysctls[i].access & CTLFLAG_WR) == 0) {
+ if (acpi_ibm_sysctls[i].flag_rdonly != 0)
continue;
- }
acpi_ibm_sysctl_set(sc, i, val);
}
diff --git a/sys/dev/acpi_support/acpi_rapidstart.c b/sys/dev/acpi_support/acpi_rapidstart.c
index 2da93ec..f28414c 100644
--- a/sys/dev/acpi_support/acpi_rapidstart.c
+++ b/sys/dev/acpi_support/acpi_rapidstart.c
@@ -84,12 +84,21 @@ acpi_rapidstart_attach(device_t dev)
sc->sysctl_ctx = device_get_sysctl_ctx(dev);
sc->sysctl_tree = device_get_sysctl_tree(dev);
for (i = 0 ; acpi_rapidstart_oids[i].nodename != NULL; i++){
- SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
- SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
- i, acpi_rapidstart_oids[i].nodename , CTLTYPE_INT |
- ((acpi_rapidstart_oids[i].setmethod)? CTLFLAG_RW: CTLFLAG_RD),
- dev, i, sysctl_acpi_rapidstart_gen_handler, "I",
- acpi_rapidstart_oids[i].comment);
+ if (acpi_rapidstart_oids[i].setmethod != NULL) {
+ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
+ SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
+ i, acpi_rapidstart_oids[i].nodename,
+ CTLTYPE_INT | CTLFLAG_RW,
+ dev, i, sysctl_acpi_rapidstart_gen_handler, "I",
+ acpi_rapidstart_oids[i].comment);
+ } else {
+ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
+ SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
+ i, acpi_rapidstart_oids[i].nodename,
+ CTLTYPE_INT | CTLFLAG_RD,
+ dev, i, sysctl_acpi_rapidstart_gen_handler, "I",
+ acpi_rapidstart_oids[i].comment);
+ }
}
return (0);
}
diff --git a/sys/dev/acpi_support/acpi_sony.c b/sys/dev/acpi_support/acpi_sony.c
index 95e7b4f..fc5c651 100644
--- a/sys/dev/acpi_support/acpi_sony.c
+++ b/sys/dev/acpi_support/acpi_sony.c
@@ -132,13 +132,22 @@ acpi_sony_attach(device_t dev)
sc = device_get_softc(dev);
acpi_GetInteger(acpi_get_handle(dev), ACPI_SONY_GET_PID, &sc->pid);
device_printf(dev, "PID %x\n", sc->pid);
- for (i = 0 ; acpi_sony_oids[i].nodename != NULL; i++){
- SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
- SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
- i, acpi_sony_oids[i].nodename , CTLTYPE_INT |
- ((acpi_sony_oids[i].setmethod)? CTLFLAG_RW: CTLFLAG_RD),
- dev, i, sysctl_acpi_sony_gen_handler, "I",
- acpi_sony_oids[i].comment);
+ for (i = 0 ; acpi_sony_oids[i].nodename != NULL; i++) {
+ if (acpi_sony_oids[i].setmethod != NULL) {
+ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
+ SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
+ i, acpi_sony_oids[i].nodename ,
+ CTLTYPE_INT | CTLFLAG_RW,
+ dev, i, sysctl_acpi_sony_gen_handler, "I",
+ acpi_sony_oids[i].comment);
+ } else {
+ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
+ SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
+ i, acpi_sony_oids[i].nodename ,
+ CTLTYPE_INT | CTLFLAG_RD,
+ dev, i, sysctl_acpi_sony_gen_handler, "I",
+ acpi_sony_oids[i].comment);
+ }
}
return (0);
}
OpenPOWER on IntegriCloud