1. 10 Apr, 2016 2 commits
  2. 14 Mar, 2016 3 commits
  3. 25 Jan, 2016 2 commits
  4. 14 Jan, 2016 1 commit
  5. 20 Nov, 2015 3 commits
  6. 23 Oct, 2015 1 commit
  7. 11 Sep, 2015 1 commit
  8. 06 Aug, 2015 1 commit
  9. 21 Jul, 2015 4 commits
    • Simon Glass's avatar
      dm: usb: eth: Support driver model with USB Ethernet · c8c2797c
      Simon Glass authored
      At present USB Ethernet does not work with CONFIG_DM_ETH. Add driver model
      support to this feature, so that it can work alongside other Ethernet
      devices with driver model.
      
      It was found that quite a bit of code is common in most of the USB Ethernet
      drivers. Add this code to the common layer to reduce the amount of duplicate
      code needed in USB Ethernet drivers when CONFIG_DM_ETH is used.
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      Reviewed-by: default avatarMarek Vasut <marex@denx.de>
      c8c2797c
    • Simon Glass's avatar
      dm: usb: Avoid using USB ethernet with CONFIG_DM_USB and no DM_ETH · 69559093
      Simon Glass authored
      If driver model is used for Ethernet then USB Ethernet does not build. This
      can be made to work with driver model is used for USB also. Add #ifdef logic
      to make this clear when building.
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      Reviewed-by: default avatarMarek Vasut <marex@denx.de>
      69559093
    • Hans de Goede's avatar
      dm: usb: Do not assume that first child is always a hub · fd1bd21b
      Hans de Goede authored
      On some single port (otg) controllers there is no emulated root hub, so
      the first child (if any) may be one of: UCLASS_MASS_STORAGE,
      UCLASS_USB_DEV_GENERIC or UCLASS_USB_HUB.
      
      All three of these (and in the future others) are suitable for our
      purposes, remove the check for the device being a hub, and add a check to
      deal with the fact that there may be no child-dev.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      fd1bd21b
    • Hans de Goede's avatar
      dm: usb: Fix "usb tree" output · c27b3290
      Hans de Goede authored
      last_child was abused by the old usb code to first store 1 if the
      usb_device was not the root of the usb tree, and then later on re-used
      to store whether or not the usb_device is actually the last child.
      
      The dm-usb code was always setting it to actually reflect the last-child
      status which is wrong for the last child leading to output like this:
      
      USB device tree:
        1  Hub (12 Mb/s, 100mA)
        |  ALCOR USB Hub 2.0
        |
        | 2  Mass Storage (12 Mb/s, 100mA)
        |    USB Flash Disk 4C0E960F
        |
        +-3  Human Interface (1.5 Mb/s, 100mA)
             SINO WEALTH USB Composite Device
      
      Instead of this:
      
      USB device tree:
        1  Hub (12 Mb/s, 100mA)
        |  ALCOR USB Hub 2.0
        |
        +-2  Mass Storage (12 Mb/s, 100mA)
        |    USB Flash Disk 4C0E960F
        |
        +-3  Human Interface (1.5 Mb/s, 100mA)
             SINO WEALTH USB Composite Device
      
      This commit fixes this by first checking that the device is not root,
      and then setting last_child. This commit also updates the old code to not
      abuse the last_child variable to store the root check result.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      c27b3290
  10. 18 Apr, 2015 2 commits
  11. 18 Jan, 2015 1 commit
    • Hans de Goede's avatar
      USB: make "usb start" start usb only once · b5072264
      Hans de Goede authored
      Currently we've this magic in include/config_distro_bootcmd.h to avoid
      scanning the usb bus multiple times.
      
      And it does not work when also using an usb keyboard because then the
      preboot command has already scanned the bus, so we're still scanning it
      twice.
      
      This commit makes "usb start" only start usb if it is no already started,
      allowing us to remove all the magic for it from include/config_distro_bootcmd.h
      and just call it unconditionally.
      
      This also causes "usb start" and "usb reset" to actually do what their
      different names suggest, rather then both of them doing exactly the same.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      b5072264
  12. 06 Oct, 2014 2 commits
    • Hans de Goede's avatar
      usb: kbd: Allow "usb reset" to continue when an usb kbd is used · 8a8a2257
      Hans de Goede authored
      Use the new force parameter to make the stdio_deregister succeed, replacing
      stdin with a nulldev, and assume that the usb keyboard will come back after
      the reset.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      8a8a2257
    • Hans de Goede's avatar
      usb: kbd: On a "usb reset" call usb_kbd_deregister() before calling usb_stop() · 6e78c74f
      Hans de Goede authored
      We need to call usb_kbd_deregister() before calling usb_stop().
      
      usbkbd's stdio_dev->priv points to the usb_device, and usb_kbd_testc
      dereferences usb_device->privptr.
      
      usb_stop zeros usb_device, leaving usb_device->privptr NULL, causing
      bad things (tm) to happen once control returns to the main loop and
      usb_kbd_testc gets called.
      
      Calling usb_kbd_deregister() avoids this. Note that we do not allow
      the "usb reset" to continue when the deregister fails. This will be fixed
      in a later patch.
      
      For the same reasons always fail "usb stop" if the usb_kbd_deregister() fails,
      even in the force path. This can happen when CONFIG_SYS_STDIO_DEREGISTER is
      not set.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      6e78c74f
  13. 24 Jul, 2013 1 commit
  14. 05 May, 2013 2 commits
  15. 19 Nov, 2012 1 commit
    • Ilya Yanok's avatar
      usb: use linux/usb/ch9.h instead of usbdescriptors.h · c60795f4
      Ilya Yanok authored
      Linux usb/ch9.h seems to have all the same information (and more)
      as usbdescriptors.h so use the former instead of the later one.
      
      As a consequense of this change USB_SPEED_* values don't correspond
      directly to EHCI speed encoding anymore, I've added necessary
      recoding in EHCI driver. Also there is no point to put speed into
      pipe anymore so it's removed and a bunch of host drivers fixed to
      look at usb_device->speed instead.
      
      Old usbdescriptors.h included is not removed as it seems to be
      used by old USB device code.
      
      This makes usb.h and usbdevice.h incompatible. Fortunately the
      only place that tries to include both are the old MUSB code and
      it needs usb.h only for USB_DMA_MINALIGN used in aligned attribute
      on musb_regs structure but this attribute seems to be unneeded
      (old MUSB code doesn't support any DMA at all).
      Signed-off-by: default avatarIlya Yanok <ilya.yanok@cogentembedded.com>
      c60795f4
  16. 04 Nov, 2012 1 commit
    • Kim Phillips's avatar
      common/cmd_*.c: sparse fixes · 088f1b19
      Kim Phillips authored
      cmd_boot.c:40:5: warning: symbol 'do_go' was not declared. Should it be static?
      cmd_bootm.c:164:6: warning: symbol '__arch_preboot_os' was not declared. Should it be static?
      cmd_bootm.c:477:5: warning: symbol 'do_bootm_subcommand' was not declared. Should it be static?
      cmd_bootm.c:1022:1: error: directive in argument list
      cmd_bootm.c:1028:1: error: directive in argument list
      cmd_bootm.c:1029:1: error: directive in argument list
      cmd_bootm.c:1036:1: error: directive in argument list
      cmd_bootm.c:1042:1: error: directive in argument list
      cmd_bootm.c:1044:1: error: directive in argument list
      cmd_bootm.c:1045:1: error: directive in argument list
      cmd_bootm.c:1047:1: error: directive in argument list
      cmd_bootm.c:1089:5: warning: symbol 'do_iminfo' was not declared. Should it be static?
      cmd_bootm.c:1176:5: warning: symbol 'do_imls' was not declared. Should it be static?
      cmd_bootm.c:1654:1: error: directive in argument list
      cmd_bootm.c:1660:1: error: directive in argument list
      cmd_console.c:32:5: warning: symbol 'do_coninfo' was not declared. Should it be s
      cmd_date.c:46:5: warning: symbol 'do_date' was not declared. Should it be static?
      cmd_echo.c:27:5: warning: symbol 'do_echo' was not declared. Should it be static?
      cmd_exit.c:27:5: warning: symbol 'do_exit' was not declared. Should it be static?
      cmd_fat.c:97:5: warning: symbol 'do_fat_ls' was not declared. Should it be static?
      cmd_fat.c:136:5: warning: symbol 'do_fat_fsinfo' was not declared. Should it be s
      cmd_fdt.c:66:5: warning: symbol 'do_fdt' was not declared. Should it be static?
      cmd_fdt.c:542:43: warning: incorrect type in assignment (different base types)
      cmd_fdt.c:542:43:    expected unsigned int [unsigned] [usertype] <noident>
      cmd_fdt.c:542:43:    got restricted __be32 [usertype] <noident>
      cmd_fdt.c:679:42: warning: cast to restricted __be32
      cmd_fdt.c:820:1: error: directive in argument list
      cmd_fdt.c:822:1: error: directive in argument list
      cmd_flash.c:292:5: warning: symbol 'do_flinfo' was not declared. Should it be static?
      cmd_flash.c:324:5: warning: symbol 'do_flerase' was not declared. Should it be static?
      cmd_flash.c:457:5: warning: symbol 'do_protect' was not declared. Should it be st
      cmd_help.c:27:5: warning: symbol 'do_help' was not declared. Should it be static?
      cmd_i2c.c:136:6: warning: symbol '__def_i2c_init_board' was not declared. Should it be static?
      cmd_i2c.c:144:14: warning: symbol '__def_i2c_get_bus_speed' was not declared. Should it be static?
      cmd_i2c.c:151:5: warning: symbol '__def_i2c_set_bus_speed' was not declared. Should it be static?
      cmd_i2c.c:1322:1: error: directive in argument list
      cmd_i2c.c:1324:1: error: directive in argument list
      cmd_i2c.c:1326:1: error: directive in argument list
      cmd_i2c.c:1328:1: error: directive in argument list
      cmd_i2c.c:1337:1: error: directive in argument list
      cmd_i2c.c:1339:1: error: directive in argument list
      cmd_irq.c:27:5: warning: symbol 'do_interrupts' was not declared. Should it be static?
      cmd_itest.c:133:5: warning: symbol 'binary_test' was not declared. Should it be static?
      cmd_itest.c:158:5: warning: symbol 'do_itest' was not declared. Should it be stat
      cmd_load.c:54:5: warning: symbol 'do_load_serial' was not declared. Should it be static?
      cmd_load.c:431:6: warning: symbol 'his_eol' was not declared. Should it be static?
      cmd_load.c:432:6: warning: symbol 'his_pad_count' was not declared. Should it be static?
      cmd_load.c:433:6: warning: symbol 'his_pad_char' was not declared. Should it be static?
      cmd_load.c:434:6: warning: symbol 'his_quote' was not declared. Should it be static?
      cmd_load.c:436:5: warning: symbol 'do_load_serial_bin' was not declared. Should it be static?
      cmd_load.c:549:6: warning: symbol 'send_pad' was not declared. Should it be static?
      cmd_load.c:558:6: warning: symbol 'ktrans' was not declared. Should it be static?
      cmd_load.c:568:5: warning: symbol 'chk1' was not declared. Should it be static?
      cmd_load.c:578:6: warning: symbol 's1_sendpacket' was not declared. Should it be static?
      cmd_load.c:587:6: warning: symbol 'send_ack' was not declared. Should it be static?
      cmd_load.c:600:6: warning: symbol 'send_nack' was not declared. Should it be static?
      cmd_load.c:614:6: warning: symbol 'os_data_init' was not declared. Should it be static?
      cmd_load.c:615:6: warning: symbol 'os_data_char' was not declared. Should it be static?
      cmd_load.c:657:6: warning: symbol 'k_data_init' was not declared. Should it be static?
      cmd_load.c:663:6: warning: symbol 'k_data_save' was not declared. Should it be static?
      cmd_load.c:669:6: warning: symbol 'k_data_restore' was not declared. Should it be static?
      cmd_load.c:675:6: warning: symbol 'k_data_char' was not declared. Should it be static?
      cmd_load.c:693:6: warning: symbol 'send_parms' was not declared. Should it be static?
      cmd_load.c:694:6: warning: symbol 'send_ptr' was not declared. Should it be static?
      cmd_load.c:698:6: warning: symbol 'handle_send_packet' was not declared. Should i
      cmd_mdio.c:60:5: warning: symbol 'mdio_write_ranges' was not declared. Should it be static?
      cmd_mdio.c:82:5: warning: symbol 'mdio_read_ranges' was not declared. Should it be static?
      cmd_mdio.c:115:5: warning: symbol 'extract_reg_range' was not declared. Should it be static?
      cmd_mdio.c:144:5: warning: symbol 'extract_phy_range' was not declared. Should it
      cmd_mem.c:54:5: warning: symbol 'do_mem_md' was not declared. Should it be static?
      cmd_mem.c:150:5: warning: symbol 'do_mem_mm' was not declared. Should it be static?
      cmd_mem.c:154:5: warning: symbol 'do_mem_nm' was not declared. Should it be static?
      cmd_mem.c:159:5: warning: symbol 'do_mem_mw' was not declared. Should it be static?
      cmd_mem.c:256:5: warning: symbol 'do_mem_cmp' was not declared. Should it be static?
      cmd_mem.c:326:5: warning: symbol 'do_mem_cp' was not declared. Should it be static?
      cmd_mem.c:436:5: warning: symbol 'do_mem_base' was not declared. Should it be static?
      cmd_mem.c:449:5: warning: symbol 'do_mem_loop' was not declared. Should it be static?
      cmd_mem.c:595:5: warning: symbol 'do_mem_mtest' was not declared. Should it be static?
      cmd_mem.c:618:26: warning: Using plain integer as NULL pointer
      cmd_mem.c:1057:5: warning: symbol 'do_mem_crc' was not declared. Should it be static?
      cmd_misc.c:30:5: warning: symbol 'do_sleep' was not declared. Should it be static
      cmd_mmc.c:118:5: warning: symbol 'do_mmcinfo' was not declared. Should it be static?
      cmd_mmc.c:272:32: warning: Using plain integer as NULL pointer
      cmd_mmc.c:150:5: warning: symbol 'do_mmcops' was not declared. Should it be stati
      cmd_mp.c:27:1: warning: symbol 'cpu_cmd' was not declared. Should it be static?
      cmd_mp.c:85:1: error: directive in argument list
      cmd_mp.c:88:1: error: directive in argument list
      cmd_mtdparts.c:150:18: warning: symbol 'mtdids' was not declared. Should it be static?
      cmd_mtdparts.c:153:18: warning: symbol 'devices' was not declared. Should it be static?
      cmd_mtdparts.c:713:5: warning: symbol 'mtd_device_validate' was not declared. Should it be static?
      cmd_mtdparts.c:1887:5: warning: symbol 'do_chpart' was not declared. Should it be static?
      cmd_mtdparts.c:1925:5: warning: symbol 'do_mtdparts' was not declared. Should it be static?
      cmd_mtdparts.c:2060:1: error: directive in argument list
      cmd_mtdparts.c:2063:1: error: directive in argument list
      cmd_mtdparts.c:2066:1: error: directive in argument list
      cmd_mtdparts.c:2071:1: error: directive in argument list
      cmd_mtdparts.c:2073:1: error: directive in argument list
      cmd_nand.c:377:18: error: bad constant expression
      cmd_nand.c:431:5: warning: symbol 'do_nand' was not declared. Should it be static?
      cmd_nand.c:796:1: error: directive in argument list
      cmd_nand.c:801:1: error: directive in argument list
      cmd_nand.c:802:1: error: directive in argument list
      cmd_nand.c:806:1: error: directive in argument list
      cmd_nand.c:819:1: error: directive in argument list
      cmd_nand.c:824:1: error: directive in argument list
      cmd_nand.c:825:1: error: directive in argument list
      cmd_nand.c:831:1: error: directive in argument list
      cmd_nand.c:918:5: warning: symbol 'do_nandboot' was not declared. Should it be static?
      cmd_net.c:33:5: warning: symbol 'do_bootp' was not declared. Should it be static?
      cmd_net.c:107:5: warning: symbol 'do_dhcp' was not declared. Should it be static?
      cmd_net.c:120:5: warning: symbol 'do_nfs' was not declared. Should it be static?
      cmd_nvedit.c:138:5: warning: symbol 'do_env_print' was not declared. Should it be static?
      cmd_nvedit.c:323:5: warning: symbol '_do_env_set' was not declared. Should it be static?
      cmd_nvedit.c:435:5: warning: symbol 'do_env_set' was not declared. Should it be static?
      cmd_nvedit.c:514:5: warning: symbol 'do_env_edit' was not declared. Should it be static?
      cmd_nvedit.c:620:5: warning: symbol 'do_env_save' was not declared. Should it be static?
      cmd_nvedit.c:1016:1: error: directive in argument list
      cmd_nvedit.c:1018:1: error: directive in argument list
      cmd_nvedit.c:1021:1: error: directive in argument list
      cmd_nvedit.c:1023:1: error: directive in argument list
      cmd_nvedit.c:1024:1: error: directive in argument list
      cmd_nvedit.c:1026:1: error: directive in argument list
      cmd_nvedit.c:1027:1: error: directive in argument list
      cmd_nvedit.c:1029:1: error: directive in argument list
      cmd_nvedit.c:1030:1: error: directive in argument list
      cmd_nvedit.c:1032:1: error: directive in argument list
      cmd_nvedit.c:1034:1: error: directive in argument list
      cmd_nvedit.c:1036:1: error: directive in argument list
      cmd_nvedit.c:1037:1: error: directive in argument list
      cmd_nvedit.c:1039:1: error: directive in argument list
      cmd_pci.c:38:17: warning: symbol 'ShortPCIListing' was not declared. Should it be static?
      cmd_pci.c:38:22: warning: 'ShortPCIListing' defined but not used [-Wunused-variable]
      cmd_pci.c:411:5: warning: symbol 'do_pci' was not declared. Should it be static?
      cmd_pci.c:494:1: error: directive in argument list
      cmd_pci.c:497:1: error: directive in argument list
      cmd_reginfo.c:40:5: warning: symbol 'do_reginfo' was not declared. Should it be static?
      cmd_sata.c:31:5: warning: symbol 'sata_curr_device' was not declared. Should it be static?
       note -> ata_piix.c doesn't seem to use 'sata_curr_device'; deleted.
      cmd_sata.c:32:18: warning: symbol 'sata_dev_desc' was not declared. Should it be static?
      cmd_sata.c:70:5: warning: symbol 'do_sata' was not declared. Should it be static?
      cmd_setexpr.c:53:5: warning: symbol 'do_setexpr' was not declared. Should it be static?
      cmd_source.c:186:1: error: directive in argument list
      cmd_source.c:190:1: error: directive in argument list
      cmd_test.c:27:5: warning: symbol 'do_test' was not declared. Should it be static?
      cmd_test.c:153:5: warning: symbol 'do_false' was not declared. Should it be static?
      cmd_test.c:164:5: warning: symbol 'do_true' was not declared. Should it be static
      cmd_usb.c:43:6: warning: symbol 'usb_get_class_desc' was not declared. Should it be static?
      cmd_usb.c:69:6: warning: symbol 'usb_display_class_sub' was not declared. Should it be static?
      cmd_usb.c:151:6: warning: symbol 'usb_display_string' was not declared. Should it be static?
      cmd_usb.c:161:6: warning: symbol 'usb_display_desc' was not declared. Should it be static?
      cmd_usb.c:195:6: warning: symbol 'usb_display_conf_desc' was not declared. Should it be static?
      cmd_usb.c:210:6: warning: symbol 'usb_display_if_desc' was not declared. Should it be static?
      cmd_usb.c:227:6: warning: symbol 'usb_display_ep_desc' was not declared. Should it be static?
      cmd_usb.c:252:6: warning: symbol 'usb_display_config' was not declared. Should it be static?
      cmd_usb.c:283:6: warning: symbol 'usb_show_tree_graph' was not declared. Should it be static?
      cmd_usb.c:343:6: warning: symbol 'usb_show_tree' was not declared. Should it be static?
      cmd_usb.c:356:5: warning: symbol 'do_usbboot' was not declared. Should it be static?
      cmd_usb.c:366:5: warning: symbol 'do_usb' was not declared. Should it be static?
      cmd_version.c:31:5: warning: symbol 'do_version' was not declared. Should it be s
      cmd_ximg.c:46:1: warning: symbol 'do_imgextract' was not declared. Should it be static?
      cmd_ximg.c:272:1: error: directive in argument list
      cmd_ximg.c:276:1: error: directive in argument list
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      088f1b19
  17. 15 Oct, 2012 1 commit
  18. 25 Sep, 2012 1 commit
  19. 20 May, 2012 1 commit
  20. 18 Mar, 2012 1 commit
  21. 06 Mar, 2012 1 commit
  22. 16 Dec, 2011 1 commit
    • Tom Rini's avatar
      USB: Use (get|put)_unaligned for accessing wMaxPacketSize · b2fb47f1
      Tom Rini authored
      In 97929877 Stefan describes a usecase
      where the previous behavior of leaving wMaxPacketSize be unaligned
      caused fatal problems.  The initial fix for this problem was incomplete
      however as it showed another cases of non-aligned access that previously
      worked implicitly.  This switches to making sure that all access of
      wMaxPacketSize are done via (get|put)_unaligned.
      
      In order to maintain a level of readability to the code in some cases
      we now use a variable for the value of wMaxPacketSize and in others, a
      macro.
      
      Cc: Minkyu Kang <mk7.kang@samsung.com>
      Cc: Remy Bohmer <linux@bohmer.net>
      
      OpenRISC:
      Tested-by: default avatarStefan Kristiansson <stefan.kristiansson@saunalahti.fi>
      
      Beagleboard xM, Pandaboard run-tested, s5p_goni build-tested.
      Signed-off-by: default avatarTom Rini <trini@ti.com>
      b2fb47f1
  23. 11 Dec, 2011 2 commits
  24. 09 Oct, 2011 1 commit
  25. 25 Jul, 2011 1 commit
  26. 12 Apr, 2011 1 commit
  27. 19 Feb, 2011 1 commit
    • Simon Glass's avatar
      Add USB host ethernet adapter support · 89d48367
      Simon Glass authored
      This adds support for using USB Ethernet dongles in host mode. This is just
      the framework - drivers will come later. A new config option called
      CONFIG_USB_HOST_ETHER can be defined in board config files to switch this
      on.
      
      The was originally written by NVIDIA and was cleaned up for release by the
      Chromium authors.
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      89d48367