Re: [PATCH v5 1/2] driver core: Move the "removable" attribute from USB to core

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

 



On Mon, May 24, 2021 at 10:18:11AM -0700, Rajat Jain wrote:
> Move the "removable" attribute from USB to core in order to allow it to be
> supported by other subsystem / buses. Individual buses that want to support
> this attribute can populate the removable property of the device while
> enumerating it with the 3 possible values -
>  - "unknown"
>  - "fixed"
>  - "removable"
> Leaving the field unchanged (i.e. "not supported") would mean that the
> attribute would not show up in sysfs for that device. The UAPI (location,
> symantics etc) for the attribute remains unchanged.
> 
> Move the "removable" attribute from USB to the device core so it can be
> used by other subsystems / buses.
> 
> By default, devices do not have a "removable" attribute in sysfs.
> 
> If a subsystem or bus driver wants to support a "removable" attribute, it
> should call device_set_removable() before calling device_register() or
> device_add(), e.g.:
> 
>     device_set_removable(dev, DEVICE_REMOVABLE);
>     device_register(dev);
> 
> The possible values and the resulting sysfs attribute contents are:
> 
>     DEVICE_REMOVABLE_UNKNOWN  ->  "unknown"
>     DEVICE_REMOVABLE          ->  "removable"
>     DEVICE_FIXED              ->  "fixed"
> 
> Convert the USB "removable" attribute to use this new device core
> functionality.  There should be no user-visible change in the location or
> semantics of attribute for USB devices.
> 
> Signed-off-by: Rajat Jain <rajatja@xxxxxxxxxx>
> Reviewed-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> ---
> v5: - Update commit log per Bjorn's suggestion, and add "Reviewed by".
>     - don't check for dev!=NULL    

I've applied this series to my USB tree now, thanks for reworking it so
many times.

greg k-h



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux