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

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

 



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

[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