On Thu, Aug 21, 2014 at 09:58:15AM -0500, Kent R. Spillner wrote:
> acpidock(4) updates its sensor's value when docking and undocking, but it
> never sets its sensor's status.  As a result, it's difficult to hook into
> docking/undocking changes with sensorsd(8) (to change the value of
> machdep.lidsuspend, for example).
> 
> This diff sets the status to SENSOR_S_OK when docked and SENSOR_S_UNKNOWN
> when undocked.
> 
> Ok?
> 
> Index: sys/dev/acpi/acpidock.c
> ===================================================================
> RCS file: /work/cvsroot/src/sys/dev/acpi/acpidock.c,v
> retrieving revision 1.42
> diff -p -u -r1.42 acpidock.c
> --- sys/dev/acpi/acpidock.c   27 Jul 2010 01:21:19 -0000      1.42
> +++ sys/dev/acpi/acpidock.c   20 Aug 2014 22:56:25 -0000
> @@ -103,6 +103,7 @@ acpidock_attach(struct device *parent, s
>  
>       sc->sc_sens.type = SENSOR_INDICATOR;
>       sc->sc_sens.value = sc->sc_docked == ACPIDOCK_STATUS_DOCKED;
> +     sc->sc_sens.status = sc->sc_docked ? SENSOR_S_OK : SENSOR_S_UNKNOWN;
>       sensor_attach(&sc->sc_sensdev, &sc->sc_sens);
>       sensordev_install(&sc->sc_sensdev);
>  
> @@ -241,6 +242,7 @@ acpidock_notify(struct aml_node *node, i
>  
>       acpidock_status(sc);
>       sc->sc_sens.value = sc->sc_docked == ACPIDOCK_STATUS_DOCKED;
> +     sc->sc_sens.status = sc->sc_docked ? SENSOR_S_OK : SENSOR_S_UNKNOWN;
>       if (sc->sc_docked)
>               strlcpy(sc->sc_sens.desc, "docked",
>                   sizeof(sc->sc_sens.desc));
> 

looks ok to me, so ok mlarkin@

Reply via email to