1. 17 10月, 2008 7 次提交
  2. 24 9月, 2008 2 次提交
  3. 24 8月, 2008 1 次提交
  4. 22 8月, 2008 1 次提交
  5. 14 8月, 2008 7 次提交
  6. 07 8月, 2008 3 次提交
  7. 31 7月, 2008 1 次提交
  8. 26 7月, 2008 1 次提交
  9. 22 7月, 2008 17 次提交
    • G
      device create: usb: convert device_create to device_create_drvdata · bc00bc92
      Greg Kroah-Hartman 提交于
      device_create() is race-prone, so use the race-free
      device_create_drvdata() instead as device_create() is going away.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      bc00bc92
    • D
      usb_gadget: composite cdc gadget fault handling · ac90e365
      David Brownell 提交于
      These two fixes ensure the new "CDC Composite Device" gadget
      fails cleanly when it's loaded on hardware that can't support
      this particular gadget driver.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      ac90e365
    • D
      usb gadget: minor USBCV fix for composite framework · c24f4227
      David Lopo 提交于
      Fill in a reserved/unused device qualifier field to ensure that
      the USBCV tests will always pass.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c24f4227
    • D
      USB: remove board-specific UP2OCR configuration from pxa27x-udc · 95f371f2
      Daniel Ribeiro 提交于
      Remove the board-specific UP2OCR configuration from the
      pxa27x-udc driver.
      Signed-off-by: NDaniel Ribeiro <drwyrm@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      95f371f2
    • R
      usb gadget: g_cdc dependso on NET · 4ddd9ec1
      Randy Dunlap 提交于
      g_cdc needs to depend on NET, otherwise net-related build errors happen:
      
      ERROR: "netif_carrier_on" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "netif_carrier_off" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "netif_rx" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "alloc_etherdev_mq" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "free_netdev" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "register_netdev" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "print_mac" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "dev_kfree_skb_any" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "__alloc_skb" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "eth_type_trans" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "unregister_netdev" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "__netif_schedule" [drivers/usb/gadget/g_cdc.ko] undefined!
      ERROR: "skb_put" [drivers/usb/gadget/g_cdc.ko] undefined!
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4ddd9ec1
    • A
      USB: gadget: Push BKL down into drivers · 44c389a0
      Alan Cox 提交于
      This keeps the gadget ioctl method wrapped but pushes the BKL down into
      the gadget code so we can use unlocked_ioctl().
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      44c389a0
    • D
      usb ethernet gadget: use composite gadget framework · 0391c828
      David Brownell 提交于
      Building on the previous patches which took code from this driver and
      pakaged it in more-reusable network "function" components, this patch
      gets rid of the original code and uses those components instead.
      
      As seen with the other gadget driver conversions, the resulting code
      is much easier to understand and (presumably) work with.  In this case
      that's especially true, since the Ethernet gadget had grown to handle
      three (!) different Ethernet-over-USB protocols.  This modularization
      should make it much easier to add a fourth option for the newish CDC
      "Ethernet Emulation Model" (or EEM).
      
      Lightly tested, primarily at full speed.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0391c828
    • D
      usb gadget: new "CDC Composite" gadget driver · 19e20680
      David Brownell 提交于
      This is a simple example of a composite gadget, combining two
      Communications Class Device (CDC) functions:  ECM and ACM.
      
      This provides a clear example of how the composite gadget framework
      is intended to work.  It's surprising that MS-Windows (or at least,
      XP and previous) won't "just work" with something this simple...
      
      One /proc/bus/usb/devices listing looks like:
      
        T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 46 Spd=480 MxCh= 0
        D:  Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
        P:  Vendor=0525 ProdID=a4aa Rev= 3.01
        S:  Manufacturer=Linux 2.6.26-rc6-pnut with net2280
        S:  Product=CDC Composite Gadget
        C:* #Ifs= 4 Cfg#= 1 Atr=c0 MxPwr=  2mA
        I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether
        E:  Ad=83(I) Atr=03(Int.) MxPS=  16 Ivl=32ms
        I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
        I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
        E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
        E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
        I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm
        E:  Ad=86(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
        I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
        E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
        E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      
      Not all USB peripheral controller hardware can support this driver.
      All the highspeed-capable peripheral controllers with drivers now in
      the mainline kernel seem to support this, as does omap_udc.  But
      many full speed controllers don't have enough endpoints, or (as with
      the PXA controllers) don't support altsettings.
      
      Lightly tested.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      19e20680
    • D
      usb ethernet gadget: split RNDIS function · 45fe3b8e
      David Brownell 提交于
      This is a RNDIS function driver, extracted from the all-in-one
      Ethernet gadget driver.
      
      Lightly tested ... there seems to be a pre-existing problem when
      talking to Windows XP SP2, not quite sure what's up with that yet.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      45fe3b8e
    • D
      usb ethernet gadget: split CDC Ethernet function · da741b8c
      David Brownell 提交于
      This is a "CDC Ethernet" (ECM) function driver, extracted from the
      all-in-one Ethernet gadget driver.
      
      This is a good example of how to implement interface altsettings.
      In fact it's currently the only such example in the gadget stack,
      pending addition of OBEX support.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      da741b8c
    • D
      usb ethernet gadget: split CDC Subset function · 8a40819e
      David Brownell 提交于
      This is a simple "CDC Subset" (and MCCI "SAFE") function driver, extracted
      from the all-in-one Ethernet gadget driver.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8a40819e
    • D
      usb ethernet gadget: split out network core · 2b3d942c
      David Brownell 提交于
      Abstract the peripheral side Ethernet-over-USB link layer code from
      the all-in-one Ethernet gadget driver into a component that can be
      called by various functions, so the various flavors can be split
      apart and selectively reused.
      
      A notable difference from the approach taken with the serial link
      layer code (beyond talking to NET not TTY) is that because of the
      initialization requirements, this only supports one network link.
      (And one set of Ethernet link addresses.)
      
      That is, each configuration may have only one instance of a network
      function.  This doesn't change behavior; the current code has that
      same restriction.  If you want multiple logical links, that can
      easily be done using network layer tools.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      2b3d942c
    • D
      usb gadget: RNDIS cleanups · 15b2d2b5
      David Brownell 提交于
      Some cleanup to the RNDIS code:
      
       - Minor bugfix:  rndis_unit() is supposed to put the link into the
         RNDIS_UNINITIALIZED state, which does not mean "unused".  There's
         a separate method to stop using the link.  (Bug doesn't affect
         anything right now because of how the code is used.)
      
       - Reduce coupling between RNDIS code and its user(s), in preparation
         for updates in that code:
      
          * Decouple RNDIS_RESPONSE_AVAILABLE notifications from net_device
            by passing just a void* handle.  (Also, remove the unused return
            value of the notification callback.)
          * When it needs a copy of net_device stats, just ask for it
      
       - Remove unused/untested code backing various never-used OIDs:
      
          * RNDIS_PM, RNDIS_WAKEUP ... "should" get implemented, but the
            relevant docs were unclear, ambguous, and incomplete.  Someone
            with access to the Hidden Gospels (maybe in the EU?) might be
            able to figure out what this should do.
          * RNDIS_OPTIONAL_STATS ... as the name suggests, optional.  Never
            implemented in part because not all the semantics were clear.
          * OID_GEN_RNDIS_CONFIG_PARAMETER, which has been #if 0 forever.
      
       - A few small whitespace fixes
      
      Plus switch the VERBOSE symbol over to the newer VERBOSE_DEBUG style.
      
      There should be no functional changes because of this patch; it's a
      net source code shrink (because of the dead/unused code removal) and
      a small object code shrink (a couple hundred bytes on ARMv5).
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      15b2d2b5
    • D
      usb gadget serial: use composite gadget framework · 7bb5ea54
      David Brownell 提交于
      This switches the serial gadget over to using the new "function"
      versions of the serial port interfacing code.  The remaining code
      in the main source file is quite small...
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7bb5ea54
    • D
      usb gadget serial: split out generic serial function · 61d8baea
      David Brownell 提交于
      Split out the generic serial support into a "function driver".  This
      closely mimics the ACM support, but with a MUCH simpler control model.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      61d8baea
    • D
      usb gadget serial: split out CDC ACM function · 4d5a73dc
      David Brownell 提交于
      Split out CDC ACM parts of "gadget serial" to a "function driver".
      Some key structural differences from the previous ACM support, shared
      with with the generic serial function (next patch):
      
       - As a function driver, it can be combined with other functions.
         One gadget configuration could offer both serial and network
         links, as an example.
      
       - One serial port can be exposed in multiple configurations;
         the /dev/ttyGS0 node could be exposed regardless of which
         config the host selected.
      
       - One configuration can expose multiple serial ports, such as
         ttyGS0, ttyGS1, ttyGS2, and ttyGS3.
      
      This code should be a lot easier to understand than the previous
      all-in-one-big-file version of the driver.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4d5a73dc
    • D
      usb gadget zero: use composite gadget framework · 097db1d0
      David Brownell 提交于
      Update Gadget Zero to use the more modular versions of the loopback
      and source/sink configuration drivers which build on the new gadget
      framework code.
      
      The core code is a LOT simpler, and it should be much easier now to
      understand how the parts fit together.  The conversion is an overall
      source shrink in terms of this gadget, since it uses more midlayer
      support.  However, it's an overall increase in object size because
      there's less sharing between the two configurations (improves code
      clarity) and because the midlayer is a bit more functional than this
      driver actually needs.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      097db1d0