On Fri, May 04, 2018 at 08:28:04PM +0200, Tobias Tschinkowitz wrote: > Hi @tech, > > i thought it would be a good idea to delegate the port-replicator > docking event to the sysctl(2) hw.sensors substree so that if the > thinkpad gets docked/undocked one could react to it by using > sensorsd(8). > > Here is my diff: >
Can you regenerate with proper whitespace/indenting please? -ml > 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 4 May 2018 18:20:43 -0000 > @@ -110,8 +110,10 @@ > #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 > @@ -232,9 +234,18 @@ thinkpad_sensor_attach(struct acpithinkp > sensor_attach(&sc->sc_sensdev, &sc->sc_sens[i]); > } > > - /* Add fan probe */ > - sc->sc_sens[i].type = SENSOR_FANRPM; > - sensor_attach(&sc->sc_sensdev, &sc->sc_sens[i]); > + /* Add fan probe */ > + 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 +271,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 > @@ -421,6 +432,14 @@ thinkpad_hotkey(struct aml_node *node, i > 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 */ > DPRINTF(("%s: unhandled event 0x%03llx\n", > DEVNAME(sc), > > > Greetings, Tobias >