On Mon, May 21, 2012 at 05:23:46PM +0800, Richard Zhao wrote: > This let usb phy driver has a chance to change hw settings when connect > status change. > > Signed-off-by: Richard Zhao <richard.zhao@xxxxxxxxxxxxx> > --- > include/linux/usb/otg.h | 13 +++++++++++++ > 1 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/include/linux/usb/otg.h b/include/linux/usb/otg.h > index 38ab3f4..385641d 100644 > --- a/include/linux/usb/otg.h > +++ b/include/linux/usb/otg.h > @@ -117,6 +117,10 @@ struct usb_phy { > int (*set_suspend)(struct usb_phy *x, > int suspend); > > + /* notify phy connect status change */ > + int (*notify_connect_change)(struct usb_phy *x, > + int port, > + int connected); > }; No, please make this two different callbacks. As you see in your code when you implemented this, you really have: if (connected) { do this... } else { do that... } So you there is no consolidation in the driver, so just make it 2 callbacks, especially as someone wanted to make connected -1 just for a tristate, which would be impossible to document properly... greg k-h > > > @@ -252,6 +256,15 @@ usb_phy_set_suspend(struct usb_phy *x, int suspend) > } > > static inline int > +usb_phy_notify_connect_change(struct usb_phy *x, int port, int connected) > +{ > + if (x->notify_connect_change != NULL) > + return x->notify_connect_change(x, port, connected); > + else > + return 0; > +} > + > +static inline int > otg_start_srp(struct usb_otg *otg) > { > if (otg && otg->start_srp) > -- > 1.7.5.4 > > > -- > 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 -- 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