diff options
Diffstat (limited to 'drivers/usb/musb')
-rw-r--r-- | drivers/usb/musb/am35x-phy-control.h | 2 | ||||
-rw-r--r-- | drivers/usb/musb/musb_am335x.c | 7 | ||||
-rw-r--r-- | drivers/usb/musb/musb_barebox.c | 4 | ||||
-rw-r--r-- | drivers/usb/musb/musb_core.c | 8 | ||||
-rw-r--r-- | drivers/usb/musb/musb_core.h | 7 | ||||
-rw-r--r-- | drivers/usb/musb/musb_dsps.c | 21 | ||||
-rw-r--r-- | drivers/usb/musb/musb_gadget.c | 41 | ||||
-rw-r--r-- | drivers/usb/musb/musb_gadget.h | 2 | ||||
-rw-r--r-- | drivers/usb/musb/musb_host.h | 2 | ||||
-rw-r--r-- | drivers/usb/musb/phy-am335x-control.c | 11 | ||||
-rw-r--r-- | drivers/usb/musb/phy-am335x.c | 7 |
11 files changed, 41 insertions, 71 deletions
diff --git a/drivers/usb/musb/am35x-phy-control.h b/drivers/usb/musb/am35x-phy-control.h index c10d595a9e..b4eb585e71 100644 --- a/drivers/usb/musb/am35x-phy-control.h +++ b/drivers/usb/musb/am35x-phy-control.h @@ -17,6 +17,6 @@ static inline void phy_ctrl_wkup(struct phy_control *phy_ctrl, u32 id, bool on) phy_ctrl->phy_wkup(phy_ctrl, id, on); } -struct phy_control *am335x_get_phy_control(struct device_d *dev); +struct phy_control *am335x_get_phy_control(struct device *dev); #endif diff --git a/drivers/usb/musb/musb_am335x.c b/drivers/usb/musb/musb_am335x.c index 03f30d92aa..19d780d15b 100644 --- a/drivers/usb/musb/musb_am335x.c +++ b/drivers/usb/musb/musb_am335x.c @@ -3,11 +3,11 @@ #include <init.h> #include <linux/clk.h> -static int am335x_child_probe(struct device_d *dev) +static int am335x_child_probe(struct device *dev) { int ret; - ret = of_platform_populate(dev->device_node, NULL, dev); + ret = of_platform_populate(dev->of_node, NULL, dev); if (ret) return ret; @@ -21,8 +21,9 @@ static __maybe_unused struct of_device_id am335x_child_dt_ids[] = { /* sentinel */ }, }; +MODULE_DEVICE_TABLE(of, am335x_child_dt_ids); -static struct driver_d am335x_child_driver = { +static struct driver am335x_child_driver = { .name = "am335x_child_probe", .probe = am335x_child_probe, .of_compatible = DRV_OF_COMPAT(am335x_child_dt_ids), diff --git a/drivers/usb/musb/musb_barebox.c b/drivers/usb/musb/musb_barebox.c index 357a8f4281..81fdd6338f 100644 --- a/drivers/usb/musb/musb_barebox.c +++ b/drivers/usb/musb/musb_barebox.c @@ -2,8 +2,8 @@ #include <common.h> #include <init.h> #include <clock.h> -#include <usb/musb.h> -#include <usb/usb.h> +#include <linux/usb/musb.h> +#include <linux/usb/usb.h> #include <linux/types.h> #include <linux/err.h> #include <linux/barebox-wrapper.h> diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index ab825553b5..9c6c4e7bb4 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -67,8 +67,8 @@ #include <common.h> #include <init.h> #include <clock.h> -#include <usb/musb.h> -#include <usb/usb.h> +#include <linux/usb/musb.h> +#include <linux/usb/usb.h> #include <linux/types.h> #include <linux/err.h> #include <linux/barebox-wrapper.h> @@ -1108,9 +1108,7 @@ fail2: musb_platform_exit(musb); fail1: - if (status != -EPROBE_DEFER) - dev_err(musb->controller, - "musb_init_controller failed with status %d\n", status); + dev_err_probe(musb->controller, status, "musb_init_controller failed\n"); musb_free(musb); diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h index 999ea5519f..d954719161 100644 --- a/drivers/usb/musb/musb_core.h +++ b/drivers/usb/musb/musb_core.h @@ -12,8 +12,8 @@ #include <poller.h> #include <notifier.h> -#include <usb/usb.h> -#include <usb/phy.h> +#include <linux/usb/usb.h> +#include <linux/usb/phy.h> #include <linux/spinlock.h> struct musb; @@ -308,7 +308,7 @@ struct musb { struct dma_controller *dma_controller; - struct device_d *controller; + struct device *controller; void __iomem *ctrl_base; void __iomem *mregs; @@ -324,7 +324,6 @@ struct musb { u16 int_rx; u16 int_tx; - //struct device_d *phydev; struct usb_host host; struct usb_phy *xceiv; diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c index ee0215024a..97b64302ec 100644 --- a/drivers/usb/musb/musb_dsps.c +++ b/drivers/usb/musb/musb_dsps.c @@ -17,8 +17,8 @@ #include <common.h> #include <init.h> #include <clock.h> -#include <usb/usb.h> -#include <usb/musb.h> +#include <linux/usb/usb.h> +#include <linux/usb/musb.h> #include <malloc.h> #include <linux/err.h> #include <linux/barebox-wrapper.h> @@ -99,7 +99,7 @@ struct dsps_musb_wrapper { * DSPS glue structure. */ struct dsps_glue { - struct device_d *dev; + struct device *dev; void __iomem *base; unsigned long flags; enum musb_mode mode; @@ -108,7 +108,7 @@ struct dsps_glue { const struct dsps_musb_wrapper *wrp; /* wrapper register offsets */ struct poller_async timer; /* otg_workaround timer */ uint64_t last_timer; /* last timer data for each instance */ - struct device_d otg_dev; + struct device otg_dev; uint32_t otgmode; struct musb_hdrc_platform_data pdata; }; @@ -260,11 +260,11 @@ static int get_int_prop(struct device_node *dn, const char *s) return val; } -static int get_musb_port_mode(struct device_d *dev) +static int get_musb_port_mode(struct device *dev) { enum usb_dr_mode mode; - mode = of_usb_get_dr_mode(dev->device_node, NULL); + mode = of_usb_get_dr_mode(dev->of_node, NULL); switch (mode) { case USB_DR_MODE_HOST: return MUSB_PORT_MODE_HOST; @@ -297,15 +297,15 @@ static int dsps_set_mode(void *ctx, enum usb_dr_mode mode) return musb_init_controller(&glue->musb, &glue->pdata); } -static int dsps_probe(struct device_d *dev) +static int dsps_probe(struct device *dev) { struct resource *iores[2]; struct musb_hdrc_platform_data *pdata; struct musb_hdrc_config *config; - struct device_node *dn = dev->device_node; + struct device_node *dn = dev->of_node; const struct dsps_musb_wrapper *wrp; struct device_node *phy_node; - struct device_d *phy_dev; + struct device *phy_dev; struct dsps_glue *glue; int ret; @@ -428,8 +428,9 @@ static __maybe_unused struct of_device_id musb_dsps_dt_ids[] = { /* sentinel */ }, }; +MODULE_DEVICE_TABLE(of, musb_dsps_dt_ids); -static struct driver_d dsps_usbss_driver = { +static struct driver dsps_usbss_driver = { .name = "musb-dsps", .probe = dsps_probe, .of_compatible = DRV_OF_COMPAT(musb_dsps_dt_ids), diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c index c28049c062..87d6602f74 100644 --- a/drivers/usb/musb/musb_gadget.c +++ b/drivers/usb/musb/musb_gadget.c @@ -991,8 +991,7 @@ static void musb_gadget_poll(struct usb_gadget *gadget) static int musb_gadget_start(struct usb_gadget *g, struct usb_gadget_driver *driver); -static int musb_gadget_stop(struct usb_gadget *g, - struct usb_gadget_driver *driver); +static int musb_gadget_stop(struct usb_gadget *g); static const struct usb_gadget_ops musb_gadget_operations = { .get_frame = musb_gadget_get_frame, @@ -1167,16 +1166,9 @@ err: return retval; } -static void stop_activity(struct musb *musb, struct usb_gadget_driver *driver) +static void stop_activity(struct musb *musb) { - int i; - struct musb_hw_ep *hw_ep; - - /* don't disconnect if it's not connected */ - if (musb->g.speed == USB_SPEED_UNKNOWN) - driver = NULL; - else - musb->g.speed = USB_SPEED_UNKNOWN; + musb->g.speed = USB_SPEED_UNKNOWN; /* deactivate the hardware */ if (musb->softconnect) { @@ -1184,25 +1176,6 @@ static void stop_activity(struct musb *musb, struct usb_gadget_driver *driver) musb_pullup(musb, 0); } musb_stop(musb); - - /* killing any outstanding requests will quiesce the driver; - * then report disconnect - */ - if (driver) { - for (i = 0, hw_ep = musb->endpoints; - i < musb->nr_endpoints; - i++, hw_ep++) { - musb_ep_select(musb->mregs, i); - if (hw_ep->is_shared_fifo /* || !epnum */) { - nuke(&hw_ep->ep_in, -ESHUTDOWN); - } else { - if (hw_ep->max_packet_sz_tx) - nuke(&hw_ep->ep_in, -ESHUTDOWN); - if (hw_ep->max_packet_sz_rx) - nuke(&hw_ep->ep_out, -ESHUTDOWN); - } - } - } } /* @@ -1211,8 +1184,7 @@ static void stop_activity(struct musb *musb, struct usb_gadget_driver *driver) * * @param driver the gadget driver to unregister */ -static int musb_gadget_stop(struct usb_gadget *g, - struct usb_gadget_driver *driver) +static int musb_gadget_stop(struct usb_gadget *g) { struct musb *musb = gadget_to_musb(g); unsigned long flags; @@ -1226,10 +1198,7 @@ static int musb_gadget_stop(struct usb_gadget *g, (void) musb_gadget_vbus_draw(&musb->g, 0); - stop_activity(musb, driver); - - dev_dbg(musb->controller, "unregistering driver %s\n", - driver ? driver->function : "(removed)"); + stop_activity(musb); musb->is_active = 0; musb->gadget_driver = NULL; diff --git a/drivers/usb/musb/musb_gadget.h b/drivers/usb/musb/musb_gadget.h index af81f062e6..bbd1a35880 100644 --- a/drivers/usb/musb/musb_gadget.h +++ b/drivers/usb/musb/musb_gadget.h @@ -11,7 +11,7 @@ #define __MUSB_GADGET_H #include <linux/list.h> -#include <usb/gadget.h> +#include <linux/usb/gadget.h> #if IS_ENABLED(CONFIG_USB_MUSB_GADGET) extern int musb_g_ep0_irq(struct musb *); diff --git a/drivers/usb/musb/musb_host.h b/drivers/usb/musb/musb_host.h index 7a7c366521..5585f2e3b5 100644 --- a/drivers/usb/musb/musb_host.h +++ b/drivers/usb/musb/musb_host.h @@ -12,7 +12,7 @@ //#include <linux/scatterlist.h> #include <linux/list.h> -#include <usb/usb.h> +#include <linux/usb/usb.h> #include <asm/unaligned.h> /* diff --git a/drivers/usb/musb/phy-am335x-control.c b/drivers/usb/musb/phy-am335x-control.c index bc0f6b9485..313c67ef7e 100644 --- a/drivers/usb/musb/phy-am335x-control.c +++ b/drivers/usb/musb/phy-am335x-control.c @@ -8,7 +8,7 @@ #include "am35x-phy-control.h" struct am335x_control_usb { - struct device_d *dev; + struct device *dev; void __iomem *phy_reg; void __iomem *wkup; spinlock_t lock; @@ -102,13 +102,14 @@ static __maybe_unused struct of_device_id omap_control_usb_dt_ids[] = { /* sentinel */ }, }; +MODULE_DEVICE_TABLE(of, omap_control_usb_dt_ids); -struct phy_control *am335x_get_phy_control(struct device_d *dev) +struct phy_control *am335x_get_phy_control(struct device *dev) { struct device_node *node; struct am335x_control_usb *ctrl_usb; - node = of_parse_phandle(dev->device_node, "ti,ctrl_mod", 0); + node = of_parse_phandle(dev->of_node, "ti,ctrl_mod", 0); if (!node) return ERR_PTR(-ENOENT); @@ -125,7 +126,7 @@ struct phy_control *am335x_get_phy_control(struct device_d *dev) EXPORT_SYMBOL(am335x_get_phy_control); -static int am335x_control_usb_probe(struct device_d *dev) +static int am335x_control_usb_probe(struct device *dev) { struct resource *iores; /*struct resource *res;*/ @@ -169,7 +170,7 @@ free_ctrl: return 0; }; -static struct driver_d am335x_control_driver = { +static struct driver am335x_control_driver = { .name = "am335x-control-usb", .probe = am335x_control_usb_probe, .of_compatible = DRV_OF_COMPAT(omap_control_usb_dt_ids), diff --git a/drivers/usb/musb/phy-am335x.c b/drivers/usb/musb/phy-am335x.c index 67787cfec3..f2a12182e0 100644 --- a/drivers/usb/musb/phy-am335x.c +++ b/drivers/usb/musb/phy-am335x.c @@ -22,7 +22,7 @@ static int am335x_init(struct usb_phy *phy) return 0; } -static int am335x_phy_probe(struct device_d *dev) +static int am335x_phy_probe(struct device *dev) { struct am335x_usbphy *am_usbphy; struct resource *iores; @@ -43,7 +43,7 @@ static int am335x_phy_probe(struct device_d *dev) goto err_release; } - am_usbphy->id = of_alias_get_id(dev->device_node, "phy"); + am_usbphy->id = of_alias_get_id(dev->of_node, "phy"); if (am_usbphy->id < 0) { dev_err(dev, "Missing PHY id: %d\n", am_usbphy->id); ret = am_usbphy->id; @@ -72,8 +72,9 @@ static __maybe_unused struct of_device_id am335x_phy_dt_ids[] = { /* sentinel */ }, }; +MODULE_DEVICE_TABLE(of, am335x_phy_dt_ids); -static struct driver_d am335x_phy_driver = { +static struct driver am335x_phy_driver = { .name = "am335x-phy-driver", .probe = am335x_phy_probe, .of_compatible = DRV_OF_COMPAT(am335x_phy_dt_ids), |