don't use deprecate udev rule matching, and prefix our new variables

This commit is contained in:
Richard Hughes 2008-08-20 16:39:20 +01:00
parent bb5203f221
commit c5b8eb66b1
4 changed files with 51 additions and 61 deletions

View file

@ -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"

View file

@ -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"

View file

@ -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;
}

View file

@ -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;