Loading drivers/acpi/dock.c +25 −0 Original line number Diff line number Diff line Loading @@ -911,6 +911,26 @@ static ssize_t show_dock_uid(struct device *dev, } static DEVICE_ATTR(uid, S_IRUGO, show_dock_uid, NULL); static ssize_t show_dock_type(struct device *dev, struct device_attribute *attr, char *buf) { struct dock_station *dock_station = *((struct dock_station **) dev->platform_data); char *type; if (dock_station->flags & DOCK_IS_DOCK) type = "dock_station"; else if (dock_station->flags & DOCK_IS_ATA) type = "ata_bay"; else if (dock_station->flags & DOCK_IS_BAT) type = "battery_bay"; else type = "unknown"; return snprintf(buf, PAGE_SIZE, "%s\n", type); } static DEVICE_ATTR(type, S_IRUGO, show_dock_type, NULL); /** * dock_add - add a new dock station * @handle: the dock station handle Loading Loading @@ -999,6 +1019,9 @@ static int dock_add(acpi_handle handle) dock_station = NULL; return ret; } ret = device_create_file(&dock_device->dev, &dev_attr_type); if (ret) printk(KERN_ERR"Error %d adding sysfs file\n", ret); /* Find dependent devices */ acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, Loading @@ -1020,6 +1043,7 @@ static int dock_add(acpi_handle handle) return 0; dock_add_err_unregister: device_remove_file(&dock_device->dev, &dev_attr_type); device_remove_file(&dock_device->dev, &dev_attr_docked); device_remove_file(&dock_device->dev, &dev_attr_undock); device_remove_file(&dock_device->dev, &dev_attr_uid); Loading Loading @@ -1047,6 +1071,7 @@ static int dock_remove(struct dock_station *dock_station) kfree(dd); /* cleanup sysfs */ device_remove_file(&dock_device->dev, &dev_attr_type); device_remove_file(&dock_device->dev, &dev_attr_docked); device_remove_file(&dock_device->dev, &dev_attr_undock); device_remove_file(&dock_device->dev, &dev_attr_uid); Loading Loading
drivers/acpi/dock.c +25 −0 Original line number Diff line number Diff line Loading @@ -911,6 +911,26 @@ static ssize_t show_dock_uid(struct device *dev, } static DEVICE_ATTR(uid, S_IRUGO, show_dock_uid, NULL); static ssize_t show_dock_type(struct device *dev, struct device_attribute *attr, char *buf) { struct dock_station *dock_station = *((struct dock_station **) dev->platform_data); char *type; if (dock_station->flags & DOCK_IS_DOCK) type = "dock_station"; else if (dock_station->flags & DOCK_IS_ATA) type = "ata_bay"; else if (dock_station->flags & DOCK_IS_BAT) type = "battery_bay"; else type = "unknown"; return snprintf(buf, PAGE_SIZE, "%s\n", type); } static DEVICE_ATTR(type, S_IRUGO, show_dock_type, NULL); /** * dock_add - add a new dock station * @handle: the dock station handle Loading Loading @@ -999,6 +1019,9 @@ static int dock_add(acpi_handle handle) dock_station = NULL; return ret; } ret = device_create_file(&dock_device->dev, &dev_attr_type); if (ret) printk(KERN_ERR"Error %d adding sysfs file\n", ret); /* Find dependent devices */ acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, Loading @@ -1020,6 +1043,7 @@ static int dock_add(acpi_handle handle) return 0; dock_add_err_unregister: device_remove_file(&dock_device->dev, &dev_attr_type); device_remove_file(&dock_device->dev, &dev_attr_docked); device_remove_file(&dock_device->dev, &dev_attr_undock); device_remove_file(&dock_device->dev, &dev_attr_uid); Loading Loading @@ -1047,6 +1071,7 @@ static int dock_remove(struct dock_station *dock_station) kfree(dd); /* cleanup sysfs */ device_remove_file(&dock_device->dev, &dev_attr_type); device_remove_file(&dock_device->dev, &dev_attr_docked); device_remove_file(&dock_device->dev, &dev_attr_undock); device_remove_file(&dock_device->dev, &dev_attr_uid); Loading