On Mon, May 21, 2018 at 11:56:37AM +0200, Stefan Sperling wrote: > On Mon, May 21, 2018 at 11:35:54AM +0200, Tobias Tschinkowitz wrote: > > As the last diff still had formatting issues i fixed that. > > OK by me. > > Nitpick: There are overlong lines here (please stay <= 80 columns). > > > + sc->sc_sens[THINKPAD_SENSOR_PORTREPL].status = > > SENSOR_S_OK; > > > + sc->sc_sens[THINKPAD_SENSOR_PORTREPL].status = > > SENSOR_S_OK; > > > These should be wrapped after = and indented according to style(9) by > 3 tabs + 4 spaces, i.e.: > > sc->sc_sens[THINKPAD_SENSOR_PORTREPL].status = > SENSOR_S_OK; >
Fixed that, thanks for the information Index: acpithinkpad.c =================================================================== RCS file: /cvs/src/sys/dev/acpi/acpithinkpad.c,v retrieving revision 1.58 diff -u -p -r1.58 acpithinkpad.c --- acpithinkpad.c 12 Aug 2017 17:33:51 -0000 1.58 +++ acpithinkpad.c 21 May 2018 10:49:03 -0000 @@ -110,9 +110,12 @@ #define THINKPAD_TABLET_SCREEN_CHANGED 0x60c0 #define THINKPAD_SWITCH_WIRELESS 0x7000 -#define THINKPAD_NSENSORS 9 +#define THINKPAD_NSENSORS 10 #define THINKPAD_NTEMPSENSORS 8 +#define THINKPAD_SENSOR_FANRPM THINKPAD_NTEMPSENSORS +#define THINKPAD_SENSOR_PORTREPL THINKPAD_NTEMPSENSORS + 1 + #define THINKPAD_ECOFFSET_VOLUME 0x30 #define THINKPAD_ECOFFSET_VOLUME_MUTE_MASK 0x40 #define THINKPAD_ECOFFSET_FANLO 0x84 @@ -233,8 +236,15 @@ thinkpad_sensor_attach(struct acpithinkp } /* Add fan probe */ - sc->sc_sens[i].type = SENSOR_FANRPM; - sensor_attach(&sc->sc_sensdev, &sc->sc_sens[i]); + sc->sc_sens[THINKPAD_SENSOR_FANRPM].type = SENSOR_FANRPM; + sensor_attach(&sc->sc_sensdev, &sc->sc_sens[THINKPAD_SENSOR_FANRPM]); + + /* Add port replicator indicator */ + sc->sc_sens[THINKPAD_SENSOR_PORTREPL].type = SENSOR_INDICATOR; + sc->sc_sens[THINKPAD_SENSOR_PORTREPL].status = SENSOR_S_UNKNOWN; + strlcpy(sc->sc_sens[THINKPAD_SENSOR_PORTREPL].desc, "port replicator", + sizeof(sc->sc_sens[THINKPAD_SENSOR_PORTREPL].desc)); + sensor_attach(&sc->sc_sensdev, &sc->sc_sens[THINKPAD_SENSOR_PORTREPL]); sensordev_install(&sc->sc_sensdev); } @@ -260,7 +270,7 @@ thinkpad_sensor_refresh(void *arg) /* Read fan RPM */ acpiec_read(sc->sc_ec, THINKPAD_ECOFFSET_FANLO, 1, &lo); acpiec_read(sc->sc_ec, THINKPAD_ECOFFSET_FANHI, 1, &hi); - sc->sc_sens[i].value = ((hi << 8L) + lo); + sc->sc_sens[THINKPAD_SENSOR_FANRPM].value = ((hi << 8L) + lo); } void @@ -420,6 +430,16 @@ thinkpad_hotkey(struct aml_node *node, i break; case THINKPAD_BACKLIGHT_CHANGED: thinkpad_get_brightness(sc); + break; + case THINKPAD_PORT_REPL_DOCKED: + sc->sc_sens[THINKPAD_SENSOR_PORTREPL].value = 1; + sc->sc_sens[THINKPAD_SENSOR_PORTREPL].status = + SENSOR_S_OK; + break; + case THINKPAD_PORT_REPL_UNDOCKED: + sc->sc_sens[THINKPAD_SENSOR_PORTREPL].value = 0; + sc->sc_sens[THINKPAD_SENSOR_PORTREPL].status = + SENSOR_S_OK; break; default: /* unknown or boring event */