04 Jun, 2015

1 commit

  • Commit 9cc36a2 'dm: core: Add a flag to control sequence numbering' changed
    the default uclass behaviour to not support bus numbering. This is incorrect
    for PCI and that commit should have enabled the flag for PCI.

    Enable it so that PCI buses can be found and the 'pci' command works again.
    Also add a test for this.

    Signed-off-by: Simon Glass

    Simon Glass
     

28 May, 2015

1 commit


21 May, 2015

12 commits


15 May, 2015

2 commits

  • The file test.dts from driver model test directory,
    was compiled by call dtc in script: test/dm/test-dm.sh.

    This doesn't allow for including of dtsi files and using
    of C preprocessor routines in this dts file.

    Since the mentioned script builds U-Boot before tests,
    then moving the test.dts file into sandbox dts directory
    is reasonable.

    Signed-off-by: Przemyslaw Marczak
    Acked-by: Simon Glass
    Tested on sandbox:
    Tested-by: Simon Glass

    Przemyslaw Marczak
     
  • This change adds new file to sandbox driver model test environment.
    The file is: test/dm/power.c, and it includes tests for PMIC framework,
    which includes PMIC uclass and REGULATOR uclass.

    All tests are based od Sandbox PMIC emulated device. Some test constants for
    this device are defined in the header: include/power/sandbox_pmic.h

    PMIC tests includes:
    - pmic get - tests, that pmic_get() returns the requested device
    - pmic I/O - tests I/O by writing and reading some values to PMIC's registers
    and then compares, that the write/read values are equal.

    The regulator tests includes:
    - Regulator get by devname/platname
    - Voltage set/get
    - Current set/get
    - Enable set/get
    - Mode set/get
    - Autoset
    - List autoset

    For the regulator 'get' test, the returned device pointers are compared,
    and their names are also compared to the requested one.
    Every other test, first sets the given attribute and next try to get it.
    The test pass, when the set/get values are equal.

    Signed-off-by: Przemyslaw Marczak
    Acked-by: Simon Glass
    Tested on sandbox:
    Tested-by: Simon Glass

    Przemyslaw Marczak
     

07 May, 2015

1 commit


06 May, 2015

4 commits


23 Apr, 2015

4 commits

  • We must not clear global_data even in tests, since the ram_buffer (which
    is used by malloc()) will also be lost, and subsequent tests will fail.

    Zero only the global_data fields that are required for the test to function.

    Signed-off-by: Simon Glass
    Reviewed-by: Joe Hershberger
    Tested-by: Joe Hershberger

    Simon Glass
     
  • This commit introduces simple tests for functions:
    - uclass_find_device_by_name()
    - uclass_get_device_by_name()

    Tests added by this commit:
    - Test: dm_test_uclass_devices_find_by_name: for uclass id: UCLASS_TEST_FDT
    * get uclass's devices by uclass_find_first/next_device() each as 'testdev',
    * for each returned device, call: uclass_find_device_by_name(),
    with previously returned device's name as an argument ('testdev->name').
    * for the found device ('founddev') check if:
    * founddev != NULL
    * testdev == founddev
    * testdev->name == founddev->name (by strcmp)

    - Test: dm_test_uclass_devices_get_by_name: for uclass id: UCLASS_TEST_FDT
    * get uclass's devices by uclass_get_first/next_device() each as 'testdev',
    * for each returned device, call: uclass_get_device_by_name(),
    with previously returned device's name as an argument ('testdev->name').
    * for the found device ('founddev') check if:
    * founddev != NULL
    * founddev is active
    * testdev == founddev
    * testdev->name == founddev->name (by strcmp)

    Signed-off-by: Przemyslaw Marczak
    Cc: Simon Glass
    Acked-by: Simon Glass

    Przemyslaw Marczak
     
  • This commit introduces simple tests for functions:
    - uclass_find_first_device()
    - uclass_find_next_device()
    - uclass_first_device()
    - uclass_next_device()

    Tests added by this commit:
    - Test: dm_test_uclass_devices_find:
    * call uclass_find_first_device(), then check if: (dev != NULL), (ret == 0)
    * for the rest devices, call uclass_find_next_device() and do the same check

    - Test: dm_test_uclass_devices_get:
    * call uclass_first_device(), then check if:
    -- (dev != NULL), (ret == 0), device_active()
    * for the rest devices, call uclass_next_device() and do the same check

    Signed-off-by: Przemyslaw Marczak
    Cc: Simon Glass
    Acked-by: Simon Glass

    Przemyslaw Marczak
     
  • This test introduces new test structure type:dm_test_perdev_uc_pdata.
    The structure consists of three int values only. For the test purposes,
    three pattern values are defined by enum, starting with TEST_UC_PDATA_INTVAL1.

    This commit adds two test cases for uclass platform data:
    - Test: dm_test_autobind_uclass_pdata_alloc - this tests if:
    * uclass driver sets: .per_device_platdata_auto_alloc_size field
    * the devices's: dev->uclass_platdata is non-NULL

    - Test: dm_test_autobind_uclass_pdata_valid - this tests:
    * if the devices's: dev->uclass_platdata is non-NULL
    * the structure of type 'dm_test_perdev_uc_pdata' allocated at address
    pointed by dev->uclass_platdata. Each structure field, should be equal
    to proper pattern data, starting from .intval1 == TEST_UC_PDATA_INTVAL1.

    Signed-off-by: Przemyslaw Marczak
    Cc: Simon Glass
    Acked-by: Simon Glass

    Przemyslaw Marczak
     

19 Apr, 2015

15 commits