Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac122bb64b0d51f0512185d3522a75f3f3a80bc9
Commit:     ac122bb64b0d51f0512185d3522a75f3f3a80bc9
Parent:     a967e127d0233f2472af64597de3f3920872310c
Author:     Ilya A. Volynets-Evenbakh <[EMAIL PROTECTED]>
AuthorDate: Mon Feb 19 15:19:31 2007 -0800
Committer:  Len Brown <[EMAIL PROTECTED]>
CommitDate: Fri Mar 9 21:40:23 2007 -0500

    ACPI: dock: add access to ACPI docking station UID
    
    It is useful to know whether your laptop is docked or not,
    but it is even more useful to know which docking station it's
    docked to. Attached patch adds "uid" file to sysfs.
    Tested on Dell Latitude D600 with D/Dock.
    Patch is against official 2.6.20 release.
    
    Signed-off-by: Len Brown <[EMAIL PROTECTED]>
---
 drivers/acpi/dock.c |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/dock.c b/drivers/acpi/dock.c
index 54a697f..811b1aa 100644
--- a/drivers/acpi/dock.c
+++ b/drivers/acpi/dock.c
@@ -667,6 +667,23 @@ static ssize_t write_undock(struct device *dev, struct 
device_attribute *attr,
 }
 DEVICE_ATTR(undock, S_IWUSR, NULL, write_undock);
 
+/*
+ * show_dock_uid - read method for "uid" file in sysfs
+ */
+static ssize_t show_dock_uid(struct device *dev,
+                            struct device_attribute *attr, char *buf)
+{
+       unsigned long lbuf;
+       acpi_status status = acpi_evaluate_integer(dock_station->handle, 
"_UID", 0, &lbuf);
+       if(ACPI_FAILURE(status)) {
+           return 0;
+       }
+       return snprintf(buf, PAGE_SIZE, "%lx\n", lbuf);
+}
+DEVICE_ATTR(uid, S_IRUGO, show_dock_uid, NULL);
+
+
+
 /**
  * dock_add - add a new dock station
  * @handle: the dock station handle
@@ -715,6 +732,13 @@ static int dock_add(acpi_handle handle)
                kfree(dock_station);
                return ret;
        }
+       ret = device_create_file(&dock_device.dev, &dev_attr_uid);
+       if (ret) {
+               printk("Error %d adding sysfs file\n", ret);
+               platform_device_unregister(&dock_device);
+               kfree(dock_station);
+               return ret;
+       }
 
        /* Find dependent devices */
        acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to