Re: [patch 11/11]add 'type' sysfs file for dock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



shouldn't patches that change sysfs always
update something in Documentation/ABI/*?

-Len

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

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux