From: Stephen Rothwell Date: Mon, 17 Sep 2012 07:27:59 +0000 (+1000) Subject: Merge remote-tracking branch 'usb/usb-next' X-Git-Tag: next-20120917~25 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=4767203ba09a7e1326a9eaed9a0885cd645564cc;p=karo-tx-linux.git Merge remote-tracking branch 'usb/usb-next' Conflicts: drivers/usb/dwc3/gadget.c drivers/usb/musb/tusb6010.c drivers/usb/serial/digi_acceleport.c drivers/usb/serial/io_ti.c drivers/usb/serial/kl5kusb105.c drivers/usb/serial/mos7720.c drivers/usb/serial/mos7840.c --- 4767203ba09a7e1326a9eaed9a0885cd645564cc diff --cc arch/arm/mach-omap2/twl-common.c index fb1f7770139a,e2cdf67f4b8f..697bee726d6d --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c @@@ -251,17 -250,8 +251,12 @@@ void __init omap3_pmic_get_config(struc #if defined(CONFIG_ARCH_OMAP4) static struct twl4030_usb_data omap4_usb_pdata = { - .phy_init = omap4430_phy_init, - .phy_exit = omap4430_phy_exit, - .phy_power = omap4430_phy_power, - .phy_set_clock = omap4430_phy_set_clk, - .phy_suspend = omap4430_phy_suspend, }; +static struct regulator_consumer_supply omap4_vdda_hdmi_dac_supplies[] = { + REGULATOR_SUPPLY("vdda_hdmi_dac", "omapdss_hdmi"), +}; + static struct regulator_init_data omap4_vdac_idata = { .constraints = { .min_uV = 1800000, diff --cc drivers/usb/dwc3/gadget.c index c2813c2b005a,ba444e7f9c44..6c8e461cabec --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@@ -1091,26 -1078,10 +1082,21 @@@ static int __dwc3_gadget_ep_queue(struc * */ if (dep->flags & DWC3_EP_PENDING_REQUEST) { - int ret; - + /* + * If xfernotready is already elapsed and it is a case + * of isoc transfer, then issue END TRANSFER, so that + * you can receive xfernotready again and can have + * notion of current microframe. + */ + if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) { + dwc3_stop_active_transfer(dwc, dep->number); + return 0; + } + ret = __dwc3_gadget_kick_transfer(dep, 0, true); - if (ret && ret != -EBUSY) { - struct dwc3 *dwc = dep->dwc; - + if (ret && ret != -EBUSY) dev_dbg(dwc->dev, "%s: failed to kick transfers\n", dep->name); - } } /* diff --cc drivers/usb/serial/cypress_m8.c index be34f153e566,872a45dbcfd0..40fcb16fdfb2 --- a/drivers/usb/serial/cypress_m8.c +++ b/drivers/usb/serial/cypress_m8.c @@@ -1017,11 -1019,10 +1019,10 @@@ static void cypress_set_termios(struct spin_lock_irqsave(&priv->lock, flags); if (priv->chiptype == CT_EARTHMATE && priv->baud_rate == 4800) { - dbg("Using custom termios settings for a baud rate of " - "4800bps."); + dev_dbg(dev, "Using custom termios settings for a baud rate of 4800bps.\n"); /* define custom termios settings for NMEA protocol */ - tty->termios->c_iflag /* input modes - */ + tty->termios.c_iflag /* input modes - */ &= ~(IGNBRK /* disable ignore break */ | BRKINT /* disable break causes interrupt */ | PARMRK /* disable mark parity errors */ @@@ -1200,9 -1202,9 +1202,9 @@@ static void cypress_read_int_callback(s /* hangup, as defined in acm.c... this might be a bad place for it * though */ - if (tty && !(tty->termios->c_cflag & CLOCAL) && + if (tty && !(tty->termios.c_cflag & CLOCAL) && !(priv->current_status & UART_CD)) { - dbg("%s - calling hangup", __func__); + dev_dbg(dev, "%s - calling hangup\n", __func__); tty_hangup(tty); goto continue_read; } diff --cc drivers/usb/serial/digi_acceleport.c index afd9d2ec577b,d3a8941f66bc..c86f68c6b078 --- a/drivers/usb/serial/digi_acceleport.c +++ b/drivers/usb/serial/digi_acceleport.c @@@ -687,8 -685,9 +685,9 @@@ static void digi_set_termios(struct tty struct usb_serial_port *port, struct ktermios *old_termios) { struct digi_port *priv = usb_get_serial_port_data(port); + struct device *dev = &port->dev; - unsigned int iflag = tty->termios->c_iflag; - unsigned int cflag = tty->termios->c_cflag; + unsigned int iflag = tty->termios.c_iflag; + unsigned int cflag = tty->termios.c_cflag; unsigned int old_iflag = old_termios->c_iflag; unsigned int old_cflag = old_termios->c_cflag; unsigned char buf[32]; diff --cc drivers/usb/serial/ftdi_sio.c index 0c8d1c226273,6d77d2cb938f..10ee0b229b5d --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c @@@ -2101,8 -2079,9 +2099,9 @@@ static void ftdi_set_termios(struct tty struct usb_serial_port *port, struct ktermios *old_termios) { struct usb_device *dev = port->serial->dev; + struct device *ddev = &port->dev; struct ftdi_private *priv = usb_get_serial_port_data(port); - struct ktermios *termios = tty->termios; + struct ktermios *termios = &tty->termios; unsigned int cflag = termios->c_cflag; __u16 urb_value; /* will hold the new flags */ diff --cc drivers/usb/serial/io_ti.c index 765978ae752e,54916d724145..7fcd6838a2d2 --- a/drivers/usb/serial/io_ti.c +++ b/drivers/usb/serial/io_ti.c @@@ -2272,9 -2224,8 +2224,8 @@@ static void change_port_settings(struc config = kmalloc (sizeof (*config), GFP_KERNEL); if (!config) { - *tty->termios = *old_termios; + tty->termios = *old_termios; - dev_err(&edge_port->port->dev, "%s - out of memory\n", - __func__); + dev_err(dev, "%s - out of memory\n", __func__); return; } @@@ -2357,12 -2308,12 +2308,12 @@@ /* if we are implementing OUTBOUND XON/XOFF */ if (I_IXON(tty)) { config->wFlags |= UMP_MASK_UART_FLAGS_OUT_X; - dbg("%s - OUTBOUND XON/XOFF is enabled, XON = %2x, XOFF = %2x", - __func__, config->cXon, config->cXoff); + dev_dbg(dev, "%s - OUTBOUND XON/XOFF is enabled, XON = %2x, XOFF = %2x\n", + __func__, config->cXon, config->cXoff); } else - dbg("%s - OUTBOUND XON/XOFF is disabled", __func__); + dev_dbg(dev, "%s - OUTBOUND XON/XOFF is disabled\n", __func__); - tty->termios->c_cflag &= ~CMSPAR; + tty->termios.c_cflag &= ~CMSPAR; /* Round the baud rate */ baud = tty_get_baud_rate(tty); @@@ -2408,13 -2358,13 +2358,13 @@@ static void edge_set_termios(struct tty struct edgeport_port *edge_port = usb_get_serial_port_data(port); unsigned int cflag; - cflag = tty->termios->c_cflag; + cflag = tty->termios.c_cflag; - dbg("%s - clfag %08x iflag %08x", __func__, - tty->termios.c_cflag, tty->termios.c_iflag); - dbg("%s - old clfag %08x old iflag %08x", __func__, - old_termios->c_cflag, old_termios->c_iflag); - dbg("%s - port %d", __func__, port->number); + dev_dbg(&port->dev, "%s - clfag %08x iflag %08x\n", __func__, - tty->termios->c_cflag, tty->termios->c_iflag); ++ tty->termios.c_cflag, tty->termios.c_iflag); + dev_dbg(&port->dev, "%s - old clfag %08x old iflag %08x\n", __func__, + old_termios->c_cflag, old_termios->c_iflag); + dev_dbg(&port->dev, "%s - port %d\n", __func__, port->number); if (edge_port == NULL) return; diff --cc drivers/usb/serial/iuu_phoenix.c index bf3864045c18,f9832b72c010..bc2c92ae18d9 --- a/drivers/usb/serial/iuu_phoenix.c +++ b/drivers/usb/serial/iuu_phoenix.c @@@ -930,9 -921,9 +921,9 @@@ static void iuu_set_termios(struct tty_ u32 newval = cflag & supported_mask; /* Just use the ospeed. ispeed should be the same. */ - baud = tty->termios->c_ospeed; + baud = tty->termios.c_ospeed; - dbg("%s - enter c_ospeed or baud=%d", __func__, baud); + dev_dbg(&port->dev, "%s - enter c_ospeed or baud=%d\n", __func__, baud); /* compute the parity parameter */ parity = 0; diff --cc drivers/usb/serial/kl5kusb105.c index def9ad258715,e4aa6c0632d7..3f6d7376c02d --- a/drivers/usb/serial/kl5kusb105.c +++ b/drivers/usb/serial/kl5kusb105.c @@@ -445,9 -445,10 +445,10 @@@ static void klsi_105_set_termios(struc struct ktermios *old_termios) { struct klsi_105_private *priv = usb_get_serial_port_data(port); + struct device *dev = &port->dev; - unsigned int iflag = tty->termios->c_iflag; + unsigned int iflag = tty->termios.c_iflag; unsigned int old_iflag = old_termios->c_iflag; - unsigned int cflag = tty->termios->c_cflag; + unsigned int cflag = tty->termios.c_cflag; unsigned int old_cflag = old_termios->c_cflag; struct klsi_105_port_settings *cfg; unsigned long flags; diff --cc drivers/usb/serial/mos7720.c index 012f67b2e4cc,192191ca1d37..37f7d17237f8 --- a/drivers/usb/serial/mos7720.c +++ b/drivers/usb/serial/mos7720.c @@@ -1751,19 -1708,15 +1708,15 @@@ static void mos7720_set_termios(struct return; } - dbg("%s\n", "setting termios - ASPIRE"); + dev_dbg(&port->dev, "setting termios - ASPIRE\n"); - cflag = tty->termios->c_cflag; + cflag = tty->termios.c_cflag; - dbg("%s - cflag %08x iflag %08x", __func__, - tty->termios.c_cflag, - RELEVANT_IFLAG(tty->termios.c_iflag)); + dev_dbg(&port->dev, "%s - cflag %08x iflag %08x\n", __func__, - tty->termios->c_cflag, RELEVANT_IFLAG(tty->termios->c_iflag)); ++ tty->termios.c_cflag, RELEVANT_IFLAG(tty->termios.c_iflag)); - dbg("%s - old cflag %08x old iflag %08x", __func__, - old_termios->c_cflag, - RELEVANT_IFLAG(old_termios->c_iflag)); - - dbg("%s - port %d", __func__, port->number); + dev_dbg(&port->dev, "%s - old cflag %08x old iflag %08x\n", __func__, + old_termios->c_cflag, RELEVANT_IFLAG(old_termios->c_iflag)); /* change the port settings to the new ones specified */ change_port_settings(tty, mos7720_port, old_termios); diff --cc drivers/usb/serial/mos7840.c index 402c32d7accb,ffbe4eed2057..5181ec595c5e --- a/drivers/usb/serial/mos7840.c +++ b/drivers/usb/serial/mos7840.c @@@ -2159,15 -2086,15 +2086,15 @@@ static void mos7840_set_termios(struct return; } - dbg("%s", "setting termios - "); + dev_dbg(&port->dev, "%s", "setting termios - \n"); - cflag = tty->termios->c_cflag; + cflag = tty->termios.c_cflag; - dbg("%s - clfag %08x iflag %08x", __func__, - tty->termios.c_cflag, RELEVANT_IFLAG(tty->termios.c_iflag)); - dbg("%s - old clfag %08x old iflag %08x", __func__, - old_termios->c_cflag, RELEVANT_IFLAG(old_termios->c_iflag)); - dbg("%s - port %d", __func__, port->number); + dev_dbg(&port->dev, "%s - clfag %08x iflag %08x\n", __func__, - tty->termios->c_cflag, RELEVANT_IFLAG(tty->termios->c_iflag)); ++ tty->termios.c_cflag, RELEVANT_IFLAG(tty->termios.c_iflag)); + dev_dbg(&port->dev, "%s - old clfag %08x old iflag %08x\n", __func__, + old_termios->c_cflag, RELEVANT_IFLAG(old_termios->c_iflag)); + dev_dbg(&port->dev, "%s - port %d\n", __func__, port->number); /* change the port settings to the new ones specified */ diff --cc drivers/usb/serial/oti6858.c index 9f555560bfbf,1498b3ddfead..933241f03fd8 --- a/drivers/usb/serial/oti6858.c +++ b/drivers/usb/serial/oti6858.c @@@ -420,12 -418,10 +418,10 @@@ static void oti6858_set_termios(struct __le16 divisor; int br; - if (!tty) { - dbg("%s(): no tty structures", __func__); + if (!tty) return; - } - cflag = tty->termios->c_cflag; + cflag = tty->termios.c_cflag; spin_lock_irqsave(&priv->lock, flags); divisor = priv->pending_setup.divisor; diff --cc drivers/usb/serial/ssu100.c index cf2d30cf7588,6635743bd8c2..015810b3785b --- a/drivers/usb/serial/ssu100.c +++ b/drivers/usb/serial/ssu100.c @@@ -319,10 -317,10 +317,10 @@@ static int ssu100_open(struct tty_struc /* set to 9600 */ result = ssu100_control_msg(dev, QT_GET_SET_UART, 0x30, 0x0300); if (result < 0) - dbg("%s - set uart failed", __func__); + dev_dbg(&port->dev, "%s - set uart failed\n", __func__); if (tty) - ssu100_set_termios(tty, port, tty->termios); + ssu100_set_termios(tty, port, &tty->termios); return usb_serial_generic_open(tty, port); } diff --cc drivers/usb/serial/ti_usb_3410_5052.c index f502a16aac21,0b113fa48eed..91b519b03d4d --- a/drivers/usb/serial/ti_usb_3410_5052.c +++ b/drivers/usb/serial/ti_usb_3410_5052.c @@@ -520,9 -518,9 +518,9 @@@ static int ti_open(struct tty_struct *t } if (tty) - ti_set_termios(tty, port, tty->termios); + ti_set_termios(tty, port, &tty->termios); - dbg("%s - sending TI_OPEN_PORT", __func__); + dev_dbg(&port->dev, "%s - sending TI_OPEN_PORT\n", __func__); status = ti_command_out_sync(tdev, TI_OPEN_PORT, (__u8)(TI_UART1_PORT + port_number), open_settings, NULL, 0); if (status) { @@@ -562,9 -560,9 +560,9 @@@ usb_clear_halt(dev, port->read_urb->pipe); if (tty) - ti_set_termios(tty, port, tty->termios); + ti_set_termios(tty, port, &tty->termios); - dbg("%s - sending TI_OPEN_PORT (2)", __func__); + dev_dbg(&port->dev, "%s - sending TI_OPEN_PORT (2)\n", __func__); status = ti_command_out_sync(tdev, TI_OPEN_PORT, (__u8)(TI_UART1_PORT + port_number), open_settings, NULL, 0); if (status) { @@@ -831,12 -828,12 +828,12 @@@ static void ti_set_termios(struct tty_s int port_number = port->number - port->serial->minor; unsigned int mcr; - cflag = tty->termios->c_cflag; - iflag = tty->termios->c_iflag; + cflag = tty->termios.c_cflag; + iflag = tty->termios.c_iflag; - dbg("%s - cflag %08x, iflag %08x", __func__, cflag, iflag); - dbg("%s - old clfag %08x, old iflag %08x", __func__, - old_termios->c_cflag, old_termios->c_iflag); + dev_dbg(&port->dev, "%s - cflag %08x, iflag %08x\n", __func__, cflag, iflag); + dev_dbg(&port->dev, "%s - old clfag %08x, old iflag %08x\n", __func__, + old_termios->c_cflag, old_termios->c_iflag); if (tport == NULL) return; diff --cc drivers/usb/serial/whiteheat.c index b36077de72b9,d9456b4e5d6e..dd9de0e7712b --- a/drivers/usb/serial/whiteheat.c +++ b/drivers/usb/serial/whiteheat.c @@@ -723,8 -724,9 +724,9 @@@ static int firm_close(struct usb_serial static void firm_setup_port(struct tty_struct *tty) { struct usb_serial_port *port = tty->driver_data; + struct device *dev = &port->dev; struct whiteheat_port_settings port_settings; - unsigned int cflag = tty->termios->c_cflag; + unsigned int cflag = tty->termios.c_cflag; port_settings.port = port->number + 1;