B::Register N N R0 9DF4F9E0 R8 0 ^S+ ^Stack_+ Z _ R1 0 R9 9DF46EB8 C C R2 FFFFFFFC R10 2 V _ R3 0 R11 3 Q _ R4 9DF4FA20 R12 9DF4FB9C R5 9DF4F9E0 R13 9DF385C0 0 _ R6 0 R14 9FF8E557 1 _ R7 016E3600 PC 9FF912BC 2 _ SPSR 0 CPSR A00001B3 3 _ 4 _ USR: FIQ: R8 0 R8 10800008 R9 9DF46EB8 R9 0100 I I R10 2 R10 10000000 F _ R11 3 R11 18200000 R12 9DF4FB9C R12 08040080 T T R13 0 R13 0 J _ R14 0 R14 0 svc SPSR 0 nsec SVC: IRQ: A A R13 9DF385C0 R13 C95FAFF8 E _ R14 9FF8E557 R14 D53BBBB5 SPSR 0 SPSR 0 0 _ 1 _ UND: ABT: 2 _ R13 00108000 R13 0 3 _ R14 10C0 R14 0 SPSR 0 SPSR 0 MON: R13 R14 SPSR B::Var.Frame_/Locals_/Caller -000|spi_claim_bus( | slave = 0x9DF4F9E0) | priv = 0x9DF4F9E0 | __v = 0x2 | __v = 0x15 | __v = 0x1 | -001|spi_flash_probe_slave(inline) -001|spi_flash_probe( | ?, | ?, | ?, | ?) | bus = 0x9DF4F9E0 | flash = 0x9DF4FA20 | flash = 0x9DF4FA20 | spi = 0x9DF4F9E0 | ret = 0x9DF4F9E0 | |... |#include "sf_internal.h" | |/** | * spi_flash_probe_slave() - Probe for a SPI flash device on a bus | * | * @flashp: Pointer to place to put flash info, which may be NULL if the | * space should be allocated | */ |static int spi_flash_probe_slave(struct spi_flash *flash) |{ | struct spi_slave *spi = flash->spi; | int ret; | | /* Setup spi_slave */ | if (!spi) { | printf("SF: Failed to set up slave\n"); | return -ENODEV; | } | | /* Claim spi bus */ | ret = spi_claim_bus(spi); | if (spi_flash_probe_slave(flash)) { -002|do_spi_flash_probe(inline) -002|do_spi_flash( | ?, | ?, | ?, | ?) | mode = 0x3 | endp = 0x0 | new = 0x9DF4F9E0 | | new = spi_flash_probe(bus, cs, speed, mode); -003|cmd_call(inline) -003|cmd_process( | ?, | ?,argc = 0x2, | ?,argv = 0x9DF4F920, | ?,repeatable = 0x9FFD3AD4, | ?)ticks = 0x0) | cmdtp = 0x9FFD22D0 | argv = 0x9DF4F920 | argc = 0x2 | flag = 0x0 | cmdtp = 0x9FFD22D0 | |... | * executing a command. | * | * @param cmdtp Pointer to the command to execute | * @param flag Some flags normally 0 (see CMD_FLAG_.. above) | * @param argc Number of arguments (arg 0 must be the command text) | * @param argv Arguments | * @return 0 if command succeeded, else non-zero (CMD_RET_...) | */ |static int cmd_call(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |{ | int result; | | result = (cmdtp->cmd)(cmdtp, flag, argc, argv); | rc = cmd_call(cmdtp, flag, argc, argv); ---|end of frame