Heikki Krogerus <heikki.kroge...@linux.intel.com> writes:
> This should allow xhci to remove handling of platform data.
>
> Signed-off-by: Heikki Krogerus <heikki.kroge...@linux.intel.com>
> Cc: Felipe Balbi <ba...@ti.com>
> ---
>  drivers/usb/dwc3/host.c | 25 +++++++++++++++----------
>  1 file changed, 15 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c
> index c679f63..d428d30 100644
> --- a/drivers/usb/dwc3/host.c
> +++ b/drivers/usb/dwc3/host.c
> @@ -16,14 +16,21 @@
>   */
>  
>  #include <linux/platform_device.h>
> -#include <linux/usb/xhci_pdriver.h>
>  
>  #include "core.h"
>  
> +static struct property_entry dwc3_host_properties[] = {
> +     PROPERTY_ENTRY_BOOL("usb3-lpm-capable"),
> +     { },
> +};
> +
> +static struct property_set dwc3_host_pset = {
> +     .properties = dwc3_host_properties,
> +};
> +
>  int dwc3_host_init(struct dwc3 *dwc)
>  {
>       struct platform_device  *xhci;
> -     struct usb_xhci_pdata   pdata;
>       int                     ret;
>  
>       xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO);
> @@ -47,14 +54,12 @@ int dwc3_host_init(struct dwc3 *dwc)
>               goto err1;
>       }
>  
> -     memset(&pdata, 0, sizeof(pdata));
> -
> -     pdata.usb3_lpm_capable = dwc->usb3_lpm_capable;
> -
> -     ret = platform_device_add_data(xhci, &pdata, sizeof(pdata));
> -     if (ret) {
> -             dev_err(dwc->dev, "couldn't add platform data to xHCI 
> device\n");
> -             goto err1;
> +     if (dwc->usb3_lpm_capable) {
> +             ret = platform_device_add_properties(xhci, &dwc3_host_pset);
> +             if (ret) {
> +                     dev_err(dwc->dev, "failed to add properties to xHCI\n");
> +                     goto err1;
> +             }

This is very useful. So, I assume, it works with x86, ARM, ARC, etc ??

-- 
balbi

Attachment: signature.asc
Description: PGP signature

Reply via email to