Re: [PATCH 2/3] usb: phy: introduce ->set_vbus() method

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

 



On Fri, Mar 08, 2013 at 01:30:52PM +0200, Felipe Balbi wrote:
> this method will be used to enable or disable
> the charge pump.
> 
> Whenever we have DRD devices, we need to be
> able to turn VBUS on or off whenever we want.
> 
> Note that in the ideal case, this would be
> controlled by the ID-pin Interrupt, but not
> all devices have ID-pin properly routed since
> manufacturers can choose to save that trace
> if they're building a host-only product out
> of a DRD IP.
> 
> This is also useful during debugging where
> we might not have the proper cable hanging
> around.
> 
> Signed-off-by: Felipe Balbi <balbi@xxxxxx>
> ---
>  include/linux/usb/phy.h | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/include/linux/usb/phy.h b/include/linux/usb/phy.h
> index b001dc3..b7c2217 100644
> --- a/include/linux/usb/phy.h
> +++ b/include/linux/usb/phy.h
> @@ -91,6 +91,9 @@ struct usb_phy {
>  	int	(*init)(struct usb_phy *x);
>  	void	(*shutdown)(struct usb_phy *x);
>  
> +	/* enable/disable VBUS */
> +	int	(*set_vbus)(struct usb_phy *x, int on);
> +
>  	/* effective for B devices, ignored for A-peripheral */
>  	int	(*set_power)(struct usb_phy *x,
>  				unsigned mA);
> @@ -160,6 +163,24 @@ usb_phy_shutdown(struct usb_phy *x)
>  		x->shutdown(x);
>  }
>  
> +static inline int
> +usb_phy_vbus_on(struct usb_phy *x)
> +{
> +	if (!x->set_vbus)
> +		return 0;
> +
> +	return x->set_vbus(x, true);
> +}
> +
> +static inline int
> +usb_phy_vbus_off(struct usb_phy *x)
> +{
> +	if (!x->set_vbus)
> +		return 0;
> +
> +	return x->set_vbus(x, false);
> +}
> +

What's plan for otg's set_vbus? I suggest using phy's to instead of otg's.

>  /* for usb host and peripheral controller drivers */
>  #if IS_ENABLED(CONFIG_USB_PHY)
>  extern struct usb_phy *usb_get_phy(enum usb_phy_type type);
> -- 
> 1.8.1.rc1.5.g7e0651a
> 
> --
> 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
> 

-- 

Best Regards,
Peter Chen

--
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