Re: [PATCH 3/3] usb : Add sysfs files to control usb port's power

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

 



On Wed, 13 Jun 2012, Greg KH wrote:

> > +	struct device_attribute	port_control_attr;
> > +	struct device_attribute	port_state_attr;
> > +	enum port_power_policy port_power_policy;
> 
> Why do you need an attribute per port here?  Shouldn't they just be
> static variables?  Why duplicate them for every port?

If they were static, there would be no way for the store and show
methods to know which port they were called for.  That's because the
ports aren't separate kobjects; all these port attributes are bound to
the hub device.

> > +static ssize_t show_port_power_state(struct device *dev,
> > +	struct device_attribute *attr, char *buf)
> > +{
> > +	struct usb_device *udev = to_usb_device(dev->parent);
> > +	struct usb_hub_port *hub_port = container_of(attr,
> > +		struct usb_hub_port, port_state_attr);

You can see it here.  The only way to get the port is by seeing where
the attribute is stored.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux