mirror of
https://gitlab.freedesktop.org/upower/upower.git
synced 2026-05-02 00:18:00 +02:00
don't use deprecate udev rule matching, and prefix our new variables
This commit is contained in:
parent
bb5203f221
commit
c5b8eb66b1
4 changed files with 51 additions and 61 deletions
|
|
@ -1,20 +1,18 @@
|
|||
##############################################################################################################
|
||||
# Logitech Mice with CSR battery readouts
|
||||
#
|
||||
# These are proprietary properties defining the behavior:
|
||||
# ID_CSR_IS_DUAL
|
||||
# ID_CSR_HAS_SMA
|
||||
# ID_CSR_HAS_RES
|
||||
# These are properties defining the behavior:
|
||||
# DKP_CSR_DUAL (Dual Receiver)
|
||||
#
|
||||
SYSFS{idVendor}=="046d", ENV{ID_VENDOR}="Logitech, Inc."
|
||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c505", ENV{ID_PRODUCT}="Cordless Keyboard+Mouse Receiver", ENV{DKP_ID_BATTERY_TYPE}="keyboard"
|
||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c50e", ENV{ID_PRODUCT}="MX1000 Laser Mouse", ENV{DKP_ID_BATTERY_TYPE}="mouse"
|
||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c510", ENV{ID_PRODUCT}="Cordless Click! Mouse", ENV{DKP_ID_BATTERY_TYPE}="mouse"
|
||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c512", ENV{ID_PRODUCT}="Cordless Keyboard+Mouse Receiver", ENV{DKP_ID_BATTERY_TYPE}="keyboard"
|
||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c501", ENV{ID_PRODUCT}="Mouse Receiver", ENV{DKP_ID_BATTERY_TYPE}="mouse"
|
||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c502", ENV{ID_PRODUCT}="Logitech Dual Receiver", ENV{DKP_ID_BATTERY_TYPE}="mouse", ENV{ID_CSR_IS_DUAL}="1"
|
||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c504", ENV{ID_PRODUCT}="Cordless Freedom Optical Mouse", ENV{DKP_ID_BATTERY_TYPE}="mouse", ENV{ID_CSR_IS_DUAL}="1"
|
||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c506", ENV{ID_PRODUCT}="MX700 Optical Mouse", ENV{DKP_ID_BATTERY_TYPE}="mouse", ENV{ID_CSR_HAS_SMS}="1"
|
||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c508", ENV{ID_PRODUCT}="Cordless Optical TrackMan", ENV{DKP_ID_BATTERY_TYPE}="mouse", ENV{ID_CSR_HAS_SMS}="1"
|
||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c702", ENV{ID_PRODUCT}="Cordless Presenter", ENV{DKP_ID_BATTERY_TYPE}="mouse"
|
||||
ATTR{idVendor}=="046d", ENV{ID_VENDOR}="Logitech, Inc."
|
||||
ATTR{idVendor}=="046d", ATTR{idProduct}=="c501", ENV{ID_PRODUCT}="Mouse Receiver", ENV{DKP_BATTERY_TYPE}="mouse"
|
||||
ATTR{idVendor}=="046d", ATTR{idProduct}=="c502", ENV{ID_PRODUCT}="Dual Receiver", ENV{DKP_BATTERY_TYPE}="mouse", ENV{DKP_CSR_DUAL}="1"
|
||||
ATTR{idVendor}=="046d", ATTR{idProduct}=="c504", ENV{ID_PRODUCT}="Freedom Optical", ENV{DKP_BATTERY_TYPE}="mouse", ENV{DKP_CSR_DUAL}="1"
|
||||
ATTR{idVendor}=="046d", ATTR{idProduct}=="c505", ENV{ID_PRODUCT}="Elite Duo", ENV{DKP_BATTERY_TYPE}="keyboard"
|
||||
ATTR{idVendor}=="046d", ATTR{idProduct}=="c506", ENV{ID_PRODUCT}="MX700 Optical Mouse", ENV{DKP_BATTERY_TYPE}="mouse"
|
||||
ATTR{idVendor}=="046d", ATTR{idProduct}=="c508", ENV{ID_PRODUCT}="Optical TrackMan", ENV{DKP_BATTERY_TYPE}="mouse"
|
||||
ATTR{idVendor}=="046d", ATTR{idProduct}=="c50e", ENV{ID_PRODUCT}="MX1000 Laser Mouse", ENV{DKP_BATTERY_TYPE}="mouse"
|
||||
ATTR{idVendor}=="046d", ATTR{idProduct}=="c510", ENV{ID_PRODUCT}="Click! Mouse", ENV{DKP_BATTERY_TYPE}="mouse"
|
||||
ATTR{idVendor}=="046d", ATTR{idProduct}=="c512", ENV{ID_PRODUCT}="Keyboard+Mouse Receiver", ENV{DKP_BATTERY_TYPE}="keyboard"
|
||||
ATTR{idVendor}=="046d", ATTR{idProduct}=="c702", ENV{ID_PRODUCT}="Presenter", ENV{DKP_BATTERY_TYPE}="mouse"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,46 +1,46 @@
|
|||
##############################################################################################################
|
||||
# Uninterruptable Power Supplies with USBHID interface
|
||||
#
|
||||
SYSFS{idVendor}=="0463", ENV{ID_VENDOR}="MGE Systems"
|
||||
SYSFS{idVendor}=="051d", ENV{ID_VENDOR}="APC"
|
||||
SYSFS{idVendor}=="0764", ENV{ID_VENDOR}="CyberPower"
|
||||
SYSFS{idVendor}=="09ae", ENV{ID_VENDOR}="Tripp Lite"
|
||||
SYSFS{idVendor}=="050d", ENV{ID_VENDOR}="Belkin"
|
||||
SYSFS{idVendor}=="06da", ENV{ID_VENDOR}="Liebert"
|
||||
SYSFS{idVendor}=="0925", ENV{ID_VENDOR}="Kebo"
|
||||
ATTR{idVendor}=="0463", ENV{ID_VENDOR}="MGE Systems"
|
||||
ATTR{idVendor}=="051d", ENV{ID_VENDOR}="APC"
|
||||
ATTR{idVendor}=="0764", ENV{ID_VENDOR}="CyberPower"
|
||||
ATTR{idVendor}=="09ae", ENV{ID_VENDOR}="Tripp Lite"
|
||||
ATTR{idVendor}=="050d", ENV{ID_VENDOR}="Belkin"
|
||||
ATTR{idVendor}=="06da", ENV{ID_VENDOR}="Liebert"
|
||||
ATTR{idVendor}=="0925", ENV{ID_VENDOR}="Kebo"
|
||||
|
||||
# MGE UPS SYSTEMS
|
||||
SYSFS{idVendor}=="0463", SYSFS{idProduct}=="0001", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="0463", SYSFS{idProduct}=="0xffff", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="0463", ATTR{idProduct}=="0001", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="0463", ATTR{idProduct}=="0xffff", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
|
||||
# APC
|
||||
SYSFS{idVendor}=="051d", SYSFS{idProduct}=="0002", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="051d", ATTR{idProduct}=="0002", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
|
||||
# CyberPower
|
||||
SYSFS{idVendor}=="0764", SYSFS{idProduct}=="0005", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="0764", SYSFS{idProduct}=="0x0501", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="0764", ATTR{idProduct}=="0005", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="0764", ATTR{idProduct}=="0x0501", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
|
||||
# Tripp Lite
|
||||
SYSFS{idVendor}=="09ae", SYSFS{idProduct}=="1003", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="09ae", SYSFS{idProduct}=="0x2005", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="09ae", SYSFS{idProduct}=="0x2007", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="09ae", SYSFS{idProduct}=="0x3012", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="09ae", SYSFS{idProduct}=="0x4002", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="09ae", SYSFS{idProduct}=="0x4003", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="09ae", ATTR{idProduct}=="1003", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="09ae", ATTR{idProduct}=="0x2005", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="09ae", ATTR{idProduct}=="0x2007", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="09ae", ATTR{idProduct}=="0x3012", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="09ae", ATTR{idProduct}=="0x4002", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="09ae", ATTR{idProduct}=="0x4003", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
|
||||
# Belkin
|
||||
SYSFS{idVendor}=="050d", SYSFS{idProduct}=="0375", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="050d", SYSFS{idProduct}=="0x0551", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="050d", SYSFS{idProduct}=="0x0751", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="050d", SYSFS{idProduct}=="0x0900", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="050d", SYSFS{idProduct}=="0x0910", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="050d", SYSFS{idProduct}=="0x0912", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="050d", SYSFS{idProduct}=="0x0980", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
SYSFS{idVendor}=="050d", SYSFS{idProduct}=="0x1100", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="050d", ATTR{idProduct}=="0375", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="050d", ATTR{idProduct}=="0x0551", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="050d", ATTR{idProduct}=="0x0751", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="050d", ATTR{idProduct}=="0x0900", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="050d", ATTR{idProduct}=="0x0910", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="050d", ATTR{idProduct}=="0x0912", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="050d", ATTR{idProduct}=="0x0980", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="050d", ATTR{idProduct}=="0x1100", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
|
||||
# Liebert
|
||||
SYSFS{idVendor}=="06da", SYSFS{idProduct}=="ffff", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="06da", ATTR{idProduct}=="ffff", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
|
||||
# Kebo
|
||||
SYSFS{idVendor}=="0925", SYSFS{idProduct}=="1234", ENV{DKP_ID_BATTERY_TYPE}="ups"
|
||||
ATTR{idVendor}=="0925", ATTR{idProduct}=="1234", ENV{DKP_BATTERY_TYPE}="ups"
|
||||
|
||||
|
|
|
|||
|
|
@ -55,8 +55,6 @@ struct DkpCsrPrivate
|
|||
{
|
||||
guint poll_timer_id;
|
||||
gboolean is_dual;
|
||||
gboolean has_sms;
|
||||
gboolean has_res;
|
||||
guint bus_num;
|
||||
guint dev_num;
|
||||
gint raw_value;
|
||||
|
|
@ -145,7 +143,7 @@ dkp_csr_coldplug (DkpDevice *device)
|
|||
dkp_error ("could not get device");
|
||||
|
||||
/* get the type */
|
||||
type = devkit_device_get_property (d, "DKP_ID_BATTERY_TYPE");
|
||||
type = devkit_device_get_property (d, "DKP_BATTERY_TYPE");
|
||||
if (type == NULL) {
|
||||
dkp_debug ("not a CSR device");
|
||||
goto out;
|
||||
|
|
@ -181,16 +179,10 @@ dkp_csr_coldplug (DkpDevice *device)
|
|||
}
|
||||
|
||||
/* get optional quirk parameters */
|
||||
ret = devkit_device_has_property (d, "ID_CSR_HAS_SMS");
|
||||
ret = devkit_device_has_property (d, "DKP_CSR_DUAL");
|
||||
if (ret)
|
||||
csr->priv->has_sms = devkit_device_get_property_as_boolean (d, "ID_CSR_HAS_SMS");
|
||||
ret = devkit_device_has_property (d, "ID_CSR_HAS_RES");
|
||||
if (ret)
|
||||
csr->priv->has_res = devkit_device_get_property_as_boolean (d, "ID_CSR_HAS_RES");
|
||||
ret = devkit_device_has_property (d, "ID_CSR_IS_DUAL");
|
||||
if (ret)
|
||||
csr->priv->is_dual = devkit_device_get_property_as_boolean (d, "ID_CSR_IS_DUAL");
|
||||
dkp_debug ("has_sms=%i, has_res=%i, is_dual=%i", csr->priv->has_sms, csr->priv->has_res, csr->priv->is_dual);
|
||||
csr->priv->is_dual = devkit_device_get_property_as_boolean (d, "DKP_CSR_DUAL");
|
||||
dkp_debug ("is_dual=%i", csr->priv->is_dual);
|
||||
|
||||
obj->vendor = g_strdup (devkit_device_get_property (d, "ID_VENDOR"));
|
||||
obj->model = g_strdup (devkit_device_get_property (d, "ID_PRODUCT"));
|
||||
|
|
@ -230,7 +222,9 @@ dkp_csr_refresh (DkpDevice *device)
|
|||
g_get_current_time (&time);
|
||||
obj->update_time = time.tv_sec;
|
||||
|
||||
/* Which of subdevices to address */
|
||||
/* For dual receivers C502, C504 and C505, the mouse is the
|
||||
* second device and uses an addr of 1 in the value and index
|
||||
* fields' high byte */
|
||||
addr = csr->priv->is_dual ? 1<<8 : 0;
|
||||
|
||||
if (csr->priv->device == NULL) {
|
||||
|
|
@ -253,13 +247,13 @@ dkp_csr_refresh (DkpDevice *device)
|
|||
goto out;
|
||||
}
|
||||
|
||||
/* are we busy? */
|
||||
/* is a C504 receiver busy? */
|
||||
if (CSR_P0 == 0x3b && CSR_P4 == 0) {
|
||||
dkp_debug ("receiver busy");
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* process the result */
|
||||
/* get battery status */
|
||||
csr->priv->raw_value = CSR_P5 & 0x07;
|
||||
dkp_debug ("charge level: %d", csr->priv->raw_value);
|
||||
if (csr->priv->raw_value != 0) {
|
||||
|
|
@ -285,8 +279,6 @@ dkp_csr_init (DkpCsr *csr)
|
|||
usb_find_devices ();
|
||||
|
||||
csr->priv->is_dual = FALSE;
|
||||
csr->priv->has_sms = FALSE;
|
||||
csr->priv->has_res = FALSE;
|
||||
csr->priv->raw_value = -1;
|
||||
csr->priv->poll_timer_id = 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -286,7 +286,7 @@ dkp_hid_coldplug (DkpDevice *device)
|
|||
dkp_error ("could not get device");
|
||||
|
||||
/* get the type */
|
||||
type = devkit_device_get_property (d, "DKP_ID_BATTERY_TYPE");
|
||||
type = devkit_device_get_property (d, "DKP_BATTERY_TYPE");
|
||||
if (type == NULL || strcmp (type, "ups") != 0) {
|
||||
dkp_debug ("not a UPS device");
|
||||
goto out;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue