07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

08 Dec, 2017

1 commit


15 May, 2017

1 commit


26 Nov, 2016

2 commits


24 Oct, 2016

1 commit


11 Oct, 2016

1 commit

  • At present all video devices are probed on start-up. It would be better to
    probe a device only when it is needed. This can happen if it is referenced
    in the stdout environment variable, for example.

    Add support for this by searching for a suitable device when needed, probing
    it, and finding the stdio device it creates.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     

22 Jan, 2016

1 commit


21 Jan, 2016

1 commit


20 Nov, 2015

1 commit

  • When driver model is used for keyboards we must scan the available keyboards
    and register them with stdio. Add code to do this.

    At some point (once LCD/video is converted) we should be able to convert
    stdio to driver model and avoid these dual data structures.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     

05 Nov, 2015

1 commit


04 Nov, 2014

1 commit


25 Oct, 2014

1 commit


06 Oct, 2014

1 commit


11 Sep, 2014

1 commit

  • For some boards board_init() will change GPIOs, so we need to have driver
    model available before then. Adjust the board init to arrange this, but
    enable it for driver model only, just to be safe.

    This does create additional #ifdef logic, but it is safer than trying to
    make a pervasive change which may cause some boards to break.

    Signed-off-by: Simon Glass

    Simon Glass
     

23 Jul, 2014

2 commits

  • The current functions for adding and removing devices require a device name.
    This is not convenient for driver model, which wants to store a pointer to
    the relevant device. Add new functions which provide this feature and adjust
    the old ones to call these.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • 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
     

13 Aug, 2013

1 commit


24 Jul, 2013

2 commits


23 Jul, 2013

2 commits


04 Feb, 2013

1 commit

  • CONFIG_ARM_DCC_MULTI should be also removed in the patch
    "serial: Remove CONFIG_SERIAL_MULTI from serial drivers"
    (sha1: a3827250606895ec2dd4b8d867342b7cabf3692f)
    Because the driver defines serial_* functions
    which cause conflict with serial.c (multiple definition of serial_*)

    Removing CONFIG_SERIAL_MULTI function also require to define
    default_serial_console for cases where another serial driver
    is not available in the system.

    Signed-off-by: Michal Simek
    Acked-by: Marek Vasut

    Michal Simek
     

12 Dec, 2012

1 commit

  • The name is already copied when we memcpy() the whole structure.

    This is because struct stdio_dev has this field:

    char name[16]; /* Device name */

    So the data is inline, rather than being a pointer.

    Signed-off-by: Vincent Palatin

    Signed-off-by: Simon Glass

    Vincent Palatin
     

01 Dec, 2012

1 commit

  • This patch builds upon the recently introduced CBMEM console
    feature of coreboot.

    CBMEM console uses a memry area allocated by coreboot to store
    the console output. The memory area has a certain structure,
    which allows to determine where the buffer is, the buffer size
    and the location of the pointer in the buffer. This allows
    different phases of the firmware (rom based coreboot, ram based
    coreboot, u-boot after relocation with this change) to keep
    adding text to the same buffer.

    Note that this patch introduces a new console driver and adds the
    driver to the list of drivers to be used for console output, i.e.
    it engages only after u-boot relocates. Usiong CBMEM console for
    capturing the pre-relocation console output will be done under a
    separate change.

    >From Linux, run the cbmem.py utility (which is a part of the coreboot
    package) to see the output, e.g.:

    vvvvvvvvvvvvvvvvv
    SCSI: AHCI 0001.0300 32 slots 6 ports ? Gbps 0xf impl SATA mode
    flags: 64bit ilck stag led pmp pio
    ...
    Magic signature found
    Kernel command line: "cros_secure quiet loglevel=1 console=tty2...
    ^^^^^^^^^^^^^^^^^

    Note that the entire u-boot output fits into the buffer only if
    the coreboot log level is reduced from the most verbose. Ether
    the buffer size will have to be increased, or the coreboot
    verbosity permanently reduced.

    Signed-off-by: Vadim Bendebury
    Signed-off-by: Simon Glass

    Vadim Bendebury
     

16 Oct, 2012

1 commit


05 Sep, 2011

1 commit


29 Nov, 2010

1 commit


30 Oct, 2010

1 commit

  • By now, the majority of architectures have working relocation
    support, so the few remaining architectures have become exceptions.
    To make this more obvious, we make working relocation now the default
    case, and flag the remaining cases with CONFIG_NEEDS_MANUAL_RELOC.

    Signed-off-by: Wolfgang Denk
    Tested-by: Heiko Schocher
    Tested-by: Reinhard Meyer

    Wolfgang Denk
     

23 Sep, 2010

1 commit


03 Oct, 2009

2 commits

  • These architectures don't need relocation fixups, so reduce their
    codesize a bit by defining CONFIG_RELOC_FIXUP_WORKS.

    Also remove the reloc_off field from their global data structures
    as it is no longer needed.

    Note that the location of the standalone application jump table pointer
    in the global data structure is affected by this change, breaking
    execution of standalone applications compiled for previous versions of
    U-Boot. We will therefore increment XF_VERSION in the next commit,
    which also touches this area.

    Signed-off-by: Peter Tyser
    Signed-off-by: Wolfgang Denk

    Peter Tyser
     
  • Add #ifdefs where necessary to not perform relocation fixups. This
    allows boards/architectures which support relocation to trim a decent
    chunk of code.

    Note that this patch doesn't add #ifdefs to architecture-specific code
    which does not support relocation.

    Signed-off-by: Peter Tyser

    Peter Tyser
     

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