On Wed, Sep 24, 2008 at 11:37:57AM +0800, Len Brown wrote: > shouldn't patches that change sysfs always > update something in Documentation/ABI/*? Hmm, ACPI hasn't an entry in ABI/*, somebody should start working Thanks, Shaohua > > On Thu, 28 Aug 2008, Shaohua Li wrote: > > > add a sysfs file to present dock type. Suggested by Holger. > > > > Signed-off-by: Shaohua Li <shaohua.li@xxxxxxxxx> > > --- > > drivers/acpi/dock.c | 25 +++++++++++++++++++++++++ > > 1 file changed, 25 insertions(+) > > > > Index: linux/drivers/acpi/dock.c > > =================================================================== > > --- linux.orig/drivers/acpi/dock.c 2008-08-28 09:49:00.000000000 +0800 > > +++ linux/drivers/acpi/dock.c 2008-08-28 09:53:05.000000000 +0800 > > @@ -911,6 +911,26 @@ static ssize_t show_dock_uid(struct devi > > } > > 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 > > @@ -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, > > @@ -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); > > @@ -1047,6 +1071,7 @@ static int dock_remove(struct dock_stati > > 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); > > > > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html