06 Oct, 2014

5 commits


23 Jul, 2014

2 commits

  • At present stdio device functions do not get any clue as to which stdio
    device is being acted on. Some implementations go to great lengths to work
    around this, such as defining a whole separate set of functions for each
    possible device.

    For driver model we need to associate a stdio_dev with a device. It doesn't
    seem possible to continue with this work-around approach.

    Instead, add a stdio_dev pointer to each of the stdio member functions.

    Note: The serial drivers have the same problem, but it is not strictly
    necessary to fix that to get driver model running. Also, if we convert
    serial over to driver model the problem will go away.

    Code size increases by 244 bytes for Thumb2 and 428 for PowerPC.

    22: stdio: Pass device pointer to stdio methods
    arm: (for 2/2 boards) all +244.0 bss -4.0 text +248.0
    powerpc: (for 1/1 boards) all +428.0 text +428.0

    Signed-off-by: Simon Glass
    Acked-by: Marek Vasut
    Reviewed-by: Marek Vasut

    Simon Glass
     
  • There is no point in setting a structure's memory to NULL when it has
    already been zeroed with memset().

    Also, there is no need to create a stub function for stdio to call - if the
    function is NULL it will not be called.

    This is a clean-up, with no change in functionality.

    Signed-off-by: Simon Glass
    Acked-by: Marek Vasut

    Simon Glass
     

30 Apr, 2014

1 commit


27 Aug, 2013

2 commits

  • TFTP booting is slow when a USB keyboard is installed and
    stdin has usbkbd added.
    This fix is to change Ctrl-C polling for USB keyboard to every second
    when NET transfer is running.
    My previous patch is expected to be put into usb_kbd_testc(). But it went
    into usb_kbd_getc() after applied.
    This patch is to put change in correct place.

    Signed-off-by: Jim Lin

    Jim Lin
     
  • TFTP booting is slow when a USB keyboard is installed and
    stdin has usbkbd added.
    This fix is to change Ctrl-C polling for USB keyboard to every second
    when NET transfer is running.

    Signed-off-by: Jim Lin

    Jim Lin
     

24 Jul, 2013

1 commit


13 Jun, 2013

2 commits

  • If the USB keyboard is not answering properly the first request on its
    interrupt endpoint, just skip it and try the next one.

    This workarounds an issue with a wireless mouse dongle which presents
    itself both as a keyboard and a mouse but has a non-functional keyboard
    interface.

    Signed-off-by: Vincent Palatin
    (cherry picked from commit 012bbf0ce0301be2482857e3f03b481dd15c2340)
    Rebased to upstream/master:
    Signed-off-by: Simon Glass
    Reviewed-by: Stefan Reinauer
    Tested-by: Vincent Palatin

    Vincent Palatin
     
  • Allow to reconfigure properly the USB keyboard driver when we enumerate
    several times the USB devices and its position in the device tree has
    changes.

    Signed-off-by: Vincent Palatin
    Signed-off-by: Simon Glass
    Reviewed-by: Stefan Reinauer
    Tested-by: Vincent Palatin

    Vincent Palatin
     

06 May, 2013

1 commit


20 Nov, 2012

2 commits

  • Check for scancodes for arrow keys and map them to ^F/^B, ^N/^P.
    Control characters are used instead of ANSI sequence because the
    queueing code in usb_kbd doesn't handle the data increase when one
    keypress generates 3 keycodes. The real fix is to convert this driver
    to use the input subsystem and queue, but this allows arrow keys to
    work until this driver is converted.

    Signed-off-by: Allen Martin

    Allen Martin
     
  • Change usb_kbd driver to obey alignment requirements for USB DMA on
    the buffer used for data transfer. This is necessary for
    architectures that enable dcache and enable USB DMA.

    Signed-off-by: Allen Martin
    Tested-by: Stephen Warren
    Reviewed-by: Stephen Warren

    Allen Martin
     

03 Mar, 2012

4 commits


11 Dec, 2011

3 commits


09 Dec, 2011

2 commits


20 Dec, 2009

1 commit

  • The header files usb.h and usbdescriptors.h have the same nameed
    structure definitions for

    usb_config_descriptor
    usb_interface_descriptor
    usb_endpoint_descriptor
    usb_device_descriptor
    usb_string_descriptor

    These are out right duplicates in usb.h

    usb_device_descriptor
    usb_string_descriptor

    This one has extra unused elements

    usb_endpoint_descriptor

    unsigned char bRefresh
    unsigned char bSynchAddress;

    These in usb.h have extra elements at the end of the usb 2.0
    specified descriptor and are used.

    usb_config_descriptor
    usb_interface_descriptor

    The change is to consolidate the definition of the descriptors
    to usbdescriptors.h. The dublicates in usb.h are removed.
    The extra element structure will have their name shorted by
    removing the '_descriptor' suffix.

    So

    usb_config_descriptor -> usb_config
    usb_interface_descriptor -> usb_interface

    For these, the common descriptor elements are accessed now
    by an element 'desc'.

    As an example

    - if (iface->bInterfaceClass != USB_CLASS_HUB)
    + if (iface->desc.bInterfaceClass != USB_CLASS_HUB)

    This has been compile tested on MAKEALL arm, ppc and mips.

    Signed-off-by: Tom Rix

    Tom Rix
     

18 Jul, 2009

1 commit

  • So far the console API uses the following naming convention:

    ======Extract======
    typedef struct device_t;

    int device_register (device_t * dev);
    int devices_init (void);
    int device_deregister(char *devname);
    struct list_head* device_get_list(void);
    device_t* device_get_by_name(char* name);
    device_t* device_clone(device_t *dev);
    =======

    which is too generic and confusing.

    Instead of using device_XX and device_t we change this
    into stdio_XX and stdio_dev

    This will also allow to add later a generic device mechanism in order
    to have support for multiple devices and driver instances.

    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD

    Edited commit message.

    Signed-off-by: Wolfgang Denk

    Jean-Christophe PLAGNIOL-VILLARD
     

29 Jan, 2009

1 commit

  • This patch populates the 'priv' field of the USB keyboard device_t
    structure. The 'priv' field is populated with the address of the
    'struct usb_device' structure that represents the USB device.

    The 'priv' field can then be used in the 'usb_event_poll' function to
    determine the USB device that requires to be polled. An
    example of its usage in 'usb_event_poll' function is as below.

    device_t *dev;
    struct usb_device *usb_kbd_dev;

    dev = device_get_by_name("usbkbd");
    usb_kbd_dev = (struct usb_device *)dev->priv;
    iface = &usb_kbd_dev->config.if_desc[0];

    Signed-off-by: Thomas Abraham
    Signed-off-by: Remy Bohmer

    Thomas Abraham
     

20 Dec, 2008

1 commit


19 Oct, 2008

1 commit


09 Sep, 2008

1 commit


31 Aug, 2008

1 commit


13 Aug, 2008

1 commit


14 Jul, 2008

1 commit


22 May, 2008

1 commit


21 May, 2008

1 commit

  • This commit gets rid of a huge amount of silly white-space issues.
    Especially, all sequences of SPACEs followed by TAB characters get
    removed (unless they appear in print statements).

    Also remove all embedded "vim:" and "vi:" statements which hide
    indentation problems.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

10 Jan, 2008

1 commit


04 Nov, 2007

1 commit


06 Jun, 2007

1 commit

  • This patch adds USB event poll support, which could be used in usbkbd
    and other usb devices driver when the asynchronous interrupt
    processing is supported.

    Signed-off-by: Zhang Wei <wei.zhang@freescale.com

    Zhang Wei
     

28 Jun, 2003

1 commit

  • - remove trailing white space, trailing empty lines, C++ comments, etc.
    - split cmd_boot.c (separate cmd_bdinfo.c and cmd_load.c)

    * Patches by Kenneth Johansson, 25 Jun 2003:
    - major rework of command structure
    (work done mostly by Michal Cendrowski and Joakim Kristiansen)

    wdenk