From: Tom Rini Date: Fri, 8 Nov 2013 20:25:29 +0000 (-0500) Subject: Merge branch 'master' of git://www.denx.de/git/u-boot-usb X-Git-Tag: v2014.01-rc1~78 X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=commitdiff_plain;h=15c5cdf5aa6b292145e5e3e220ec1f42b11eff6f;hp=47d79deb996797dddd0984cef8b48a566c82180e Merge branch 'master' of git://www.denx.de/git/u-boot-usb --- diff --git a/MAKEALL b/MAKEALL index a9253d3490..80cd4f83e9 100755 --- a/MAKEALL +++ b/MAKEALL @@ -224,86 +224,84 @@ OLDEST_IDX=1 RC=0 # Helper funcs for parsing boards.cfg -boards_by_field() +targets_by_field() { - FS="[ \t]+" - [ -n "$3" ] && FS="$3" - awk \ - -v field="$1" \ - -v select="$2" \ - -F "$FS" \ - '($1 !~ /^#/ && $field == select) { print $7 }' \ - boards.cfg + field=$1 + regexp=$2 + + awk '($1 !~ /^#/ && $'"$field"' ~ /^'"$regexp"'$/) { print $7 }' \ + boards.cfg } -boards_by_arch() { boards_by_field 2 "$@" ; } -boards_by_cpu() { boards_by_field 3 "$@" "[: \t]+" ; } -boards_by_soc() { boards_by_field 4 "$@" ; } + +targets_by_arch() { targets_by_field 2 "$@" ; } +targets_by_cpu() { targets_by_field 3 "$@" ; targets_by_field 3 "$@:.*" ; } +targets_by_soc() { targets_by_field 4 "$@" ; } ######################################################################### ## MPC5xx Systems ######################################################################### -LIST_5xx="$(boards_by_cpu mpc5xx)" +LIST_5xx="$(targets_by_cpu mpc5xx)" ######################################################################### ## MPC5xxx Systems ######################################################################### -LIST_5xxx="$(boards_by_cpu mpc5xxx)" +LIST_5xxx="$(targets_by_cpu mpc5xxx)" ######################################################################### ## MPC512x Systems ######################################################################### -LIST_512x="$(boards_by_cpu mpc512x)" +LIST_512x="$(targets_by_cpu mpc512x)" ######################################################################### ## MPC8xx Systems ######################################################################### -LIST_8xx="$(boards_by_cpu mpc8xx)" +LIST_8xx="$(targets_by_cpu mpc8xx)" ######################################################################### ## PPC4xx Systems ######################################################################### -LIST_4xx="$(boards_by_cpu ppc4xx)" +LIST_4xx="$(targets_by_cpu ppc4xx)" ######################################################################### ## MPC824x Systems ######################################################################### -LIST_824x="$(boards_by_cpu mpc824x)" +LIST_824x="$(targets_by_cpu mpc824x)" ######################################################################### ## MPC8260 Systems (includes 8250, 8255 etc.) ######################################################################### -LIST_8260="$(boards_by_cpu mpc8260)" +LIST_8260="$(targets_by_cpu mpc8260)" ######################################################################### ## MPC83xx Systems (includes 8349, etc.) ######################################################################### -LIST_83xx="$(boards_by_cpu mpc83xx)" +LIST_83xx="$(targets_by_cpu mpc83xx)" ######################################################################### ## MPC85xx Systems (includes 8540, 8560 etc.) ######################################################################### -LIST_85xx="$(boards_by_cpu mpc85xx)" +LIST_85xx="$(targets_by_cpu mpc85xx)" ######################################################################### ## MPC86xx Systems ######################################################################### -LIST_86xx="$(boards_by_cpu mpc86xx)" +LIST_86xx="$(targets_by_cpu mpc86xx)" ######################################################################### ## 74xx/7xx Systems ######################################################################### -LIST_74xx_7xx="$(boards_by_cpu 74xx_7xx)" +LIST_74xx_7xx="$(targets_by_cpu 74xx_7xx)" ######################################################################### ## PowerPC groups @@ -339,61 +337,61 @@ LIST_ppc=" \ ## StrongARM Systems ######################################################################### -LIST_SA="$(boards_by_cpu sa1100)" +LIST_SA="$(targets_by_cpu sa1100)" ######################################################################### ## ARM7 Systems ######################################################################### -LIST_ARM7="$(boards_by_cpu arm720t)" +LIST_ARM7="$(targets_by_cpu arm720t)" ######################################################################### ## ARM9 Systems ######################################################################### -LIST_ARM9="$(boards_by_cpu arm920t) \ - $(boards_by_cpu arm926ejs) \ - $(boards_by_cpu arm946es) \ +LIST_ARM9="$(targets_by_cpu arm920t) \ + $(targets_by_cpu arm926ejs) \ + $(targets_by_cpu arm946es) \ " ######################################################################### ## ARM11 Systems ######################################################################### -LIST_ARM11="$(boards_by_cpu arm1136) \ - $(boards_by_cpu arm1176) \ +LIST_ARM11="$(targets_by_cpu arm1136) \ + $(targets_by_cpu arm1176) \ " ######################################################################### ## ARMV7 Systems ######################################################################### -LIST_ARMV7="$(boards_by_cpu armv7)" +LIST_ARMV7="$(targets_by_cpu armv7)" ######################################################################### ## AT91 Systems ######################################################################### -LIST_at91="$(boards_by_soc at91)" +LIST_at91="$(targets_by_soc at91)" ######################################################################### ## Xscale Systems ######################################################################### -LIST_pxa="$(boards_by_cpu pxa)" +LIST_pxa="$(targets_by_cpu pxa)" -LIST_ixp="$(boards_by_cpu ixp)" +LIST_ixp="$(targets_by_cpu ixp)" ######################################################################### ## SPEAr Systems ######################################################################### -LIST_spear="$(boards_by_soc spear)" +LIST_spear="$(targets_by_soc spear)" ######################################################################### ## ARM groups ######################################################################### -LIST_arm="$(boards_by_arch arm)" +LIST_arm="$(targets_by_arch arm)" ######################################################################### ## MIPS Systems (default = big endian) @@ -447,66 +445,66 @@ LIST_mips_el=" \ ## OpenRISC Systems ######################################################################### -LIST_openrisc="$(boards_by_arch openrisc)" +LIST_openrisc="$(targets_by_arch openrisc)" ######################################################################### ## x86 Systems ######################################################################### -LIST_x86="$(boards_by_arch x86)" +LIST_x86="$(targets_by_arch x86)" ######################################################################### ## Nios-II Systems ######################################################################### -LIST_nios2="$(boards_by_arch nios2)" +LIST_nios2="$(targets_by_arch nios2)" ######################################################################### ## MicroBlaze Systems ######################################################################### -LIST_microblaze="$(boards_by_arch microblaze)" +LIST_microblaze="$(targets_by_arch microblaze)" ######################################################################### ## ColdFire Systems ######################################################################### -LIST_m68k="$(boards_by_arch m68k)" +LIST_m68k="$(targets_by_arch m68k)" LIST_coldfire=${LIST_m68k} ######################################################################### ## AVR32 Systems ######################################################################### -LIST_avr32="$(boards_by_arch avr32)" +LIST_avr32="$(targets_by_arch avr32)" ######################################################################### ## Blackfin Systems ######################################################################### -LIST_blackfin="$(boards_by_arch blackfin)" +LIST_blackfin="$(targets_by_arch blackfin)" ######################################################################### ## SH Systems ######################################################################### -LIST_sh2="$(boards_by_cpu sh2)" -LIST_sh3="$(boards_by_cpu sh3)" -LIST_sh4="$(boards_by_cpu sh4)" +LIST_sh2="$(targets_by_cpu sh2)" +LIST_sh3="$(targets_by_cpu sh3)" +LIST_sh4="$(targets_by_cpu sh4)" -LIST_sh="$(boards_by_arch sh)" +LIST_sh="$(targets_by_arch sh)" ######################################################################### ## SPARC Systems ######################################################################### -LIST_sparc="$(boards_by_arch sparc)" +LIST_sparc="$(targets_by_arch sparc)" ######################################################################### ## NDS32 Systems ######################################################################### -LIST_nds32="$(boards_by_arch nds32)" +LIST_nds32="$(targets_by_arch nds32)" #----------------------------------------------------------------------- @@ -518,7 +516,7 @@ get_target_location() { local vendor="" # Automatic mode - local line=`awk -F '\ +' '\$7 == "'"$target"'" { print \$0 }' boards.cfg` + local line=`awk '\$7 == "'"$target"'" { print \$0 }' boards.cfg` if [ -z "${line}" ] ; then echo "" ; return ; fi set ${line} @@ -556,7 +554,7 @@ get_target_location() { get_target_maintainers() { local name=`echo $1 | cut -d : -f 3` - local line=`awk -F '\ +' '\$7 == "'"$target"'" { print \$0 }' boards.cfg` + local line=`awk '\$7 == "'"$target"'" { print \$0 }' boards.cfg` if [ -z "${line}" ]; then echo "" return ; @@ -571,7 +569,7 @@ get_target_arch() { local target=$1 # Automatic mode - local line=`egrep -i "^[[:space:]]*${target}[[:space:]]" boards.cfg` + local line=`awk '\$7 == "'"$target"'" { print \$0 }' boards.cfg` if [ -z "${line}" ] ; then echo "" ; return ; fi diff --git a/README b/README index b0c2fdc73d..a70475fb05 100644 --- a/README +++ b/README @@ -848,6 +848,7 @@ The following options need to be configured: CONFIG_CMD_ELF * bootelf, bootvx CONFIG_CMD_ENV_CALLBACK * display details about env callbacks CONFIG_CMD_ENV_FLAGS * display details about env flags + CONFIG_CMD_ENV_EXISTS * check existence of env variable CONFIG_CMD_EXPORTENV * export the environment CONFIG_CMD_EXT2 * ext2 command support CONFIG_CMD_EXT4 * ext4 command support @@ -1032,7 +1033,6 @@ The following options need to be configured: - GPIO Support: CONFIG_PCA953X - use NXP's PCA953X series I2C GPIO - CONFIG_PCA953X_INFO - enable pca953x info command The CONFIG_SYS_I2C_PCA953X_WIDTH option specifies a list of chip-ngpio pairs that tell the PCA953X driver the number of diff --git a/arch/arm/include/asm/arch-pxa/hardware.h b/arch/arm/include/asm/arch-pxa/hardware.h index 2397bcef0d..e671c143ac 100644 --- a/arch/arm/include/asm/arch-pxa/hardware.h +++ b/arch/arm/include/asm/arch-pxa/hardware.h @@ -18,7 +18,6 @@ #ifndef __ASM_ARCH_HARDWARE_H #define __ASM_ARCH_HARDWARE_H -#include #include /* diff --git a/arch/arm/include/asm/arch-s3c24x0/memory.h b/arch/arm/include/asm/arch-s3c24x0/memory.h index 61d62707c7..d6a787b663 100644 --- a/arch/arm/include/asm/arch-s3c24x0/memory.h +++ b/arch/arm/include/asm/arch-s3c24x0/memory.h @@ -32,9 +32,6 @@ */ #define PHYS_OFFSET (0x0c000000UL) -#include - - /* Modified for S3C2400, by chc, 20010509 */ #define RAM_IN_BANK_0 32*1024*1024 #define RAM_IN_BANK_1 0 diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h index ba9e4b72d8..1b22eeb5fc 100644 --- a/arch/arm/include/asm/atomic.h +++ b/arch/arm/include/asm/atomic.h @@ -16,8 +16,6 @@ #ifndef __ASM_ARM_ATOMIC_H #define __ASM_ARM_ATOMIC_H -#include - #ifdef CONFIG_SMP #error SMP not supported #endif diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h index c3b2afd907..1864ab9fb5 100644 --- a/arch/arm/include/asm/memory.h +++ b/arch/arm/include/asm/memory.h @@ -14,7 +14,6 @@ #if 0 /* XXX###XXX */ -#include #include /* diff --git a/arch/arm/include/asm/proc-armv/ptrace.h b/arch/arm/include/asm/proc-armv/ptrace.h index 79cc6443f4..a060ee67e3 100644 --- a/arch/arm/include/asm/proc-armv/ptrace.h +++ b/arch/arm/include/asm/proc-armv/ptrace.h @@ -10,8 +10,6 @@ #ifndef __ASM_PROC_PTRACE_H #define __ASM_PROC_PTRACE_H -#include - #define USR26_MODE 0x00 #define FIQ26_MODE 0x01 #define IRQ26_MODE 0x02 diff --git a/arch/arm/include/asm/proc-armv/system.h b/arch/arm/include/asm/proc-armv/system.h index b4cfa68ca3..cda8976b6a 100644 --- a/arch/arm/include/asm/proc-armv/system.h +++ b/arch/arm/include/asm/proc-armv/system.h @@ -10,8 +10,6 @@ #ifndef __ASM_PROC_SYSTEM_H #define __ASM_PROC_SYSTEM_H -#include - /* * Save the current interrupt enable state & disable IRQs */ diff --git a/arch/arm/lib/_divsi3.S b/arch/arm/lib/_divsi3.S index cfbadb2ab9..601549304e 100644 --- a/arch/arm/lib/_divsi3.S +++ b/arch/arm/lib/_divsi3.S @@ -1,4 +1,3 @@ - .macro ARM_DIV_BODY dividend, divisor, result, curbit #if __LINUX_ARM_ARCH__ >= 5 diff --git a/arch/arm/lib/_modsi3.S b/arch/arm/lib/_modsi3.S index 539c584997..3d31a559f8 100644 --- a/arch/arm/lib/_modsi3.S +++ b/arch/arm/lib/_modsi3.S @@ -1,4 +1,3 @@ - .macro ARM_MOD_BODY dividend, divisor, order, spare #if __LINUX_ARM_ARCH__ >= 5 diff --git a/arch/blackfin/include/asm/bitops.h b/arch/blackfin/include/asm/bitops.h index b58b0050ce..cd7e356459 100644 --- a/arch/blackfin/include/asm/bitops.h +++ b/arch/blackfin/include/asm/bitops.h @@ -13,7 +13,6 @@ * Copyright 1992, Linus Torvalds. */ -#include #include #include diff --git a/arch/blackfin/include/asm/clock.h b/arch/blackfin/include/asm/clock.h index f1fcd40499..fc84fe43f1 100644 --- a/arch/blackfin/include/asm/clock.h +++ b/arch/blackfin/include/asm/clock.h @@ -1,4 +1,3 @@ - /* * Copyright (C) 2012 Analog Devices Inc. * Licensed under the GPL-2 or later. diff --git a/arch/blackfin/lib/__kgdb.S b/arch/blackfin/lib/__kgdb.S index 4ccde8f104..4e7b6a4eb5 100644 --- a/arch/blackfin/lib/__kgdb.S +++ b/arch/blackfin/lib/__kgdb.S @@ -1,4 +1,3 @@ - #include /* save stack context for non-local goto diff --git a/arch/m68k/include/asm/bitops.h b/arch/m68k/include/asm/bitops.h index 525d90ccb0..f9c434b4a3 100644 --- a/arch/m68k/include/asm/bitops.h +++ b/arch/m68k/include/asm/bitops.h @@ -5,7 +5,6 @@ #ifndef _M68K_BITOPS_H #define _M68K_BITOPS_H -#include #include extern void set_bit(int nr, volatile void *addr); diff --git a/arch/microblaze/include/asm/bitops.h b/arch/microblaze/include/asm/bitops.h index eafa2b576b..0ac78d76f9 100644 --- a/arch/microblaze/include/asm/bitops.h +++ b/arch/microblaze/include/asm/bitops.h @@ -5,7 +5,6 @@ * Copyright 1992, Linus Torvalds. */ -#include #include /* swab32 */ #include /* save_flags */ diff --git a/arch/mips/include/asm/bitops.h b/arch/mips/include/asm/bitops.h index f2dc533569..b5c2a6367d 100644 --- a/arch/mips/include/asm/bitops.h +++ b/arch/mips/include/asm/bitops.h @@ -16,7 +16,6 @@ #include #include -#include /* * clear_bit() doesn't provide any barrier for the compiler. diff --git a/arch/mips/include/asm/inca-ip.h b/arch/mips/include/asm/inca-ip.h index 26f100290c..5f03e2aa20 100644 --- a/arch/mips/include/asm/inca-ip.h +++ b/arch/mips/include/asm/inca-ip.h @@ -1,4 +1,3 @@ - /****************************************************************************** Copyright (c) 2002, Infineon Technologies. All rights reserved. diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h index 50a882ca5a..3fa37f5dd2 100644 --- a/arch/mips/include/asm/io.h +++ b/arch/mips/include/asm/io.h @@ -11,7 +11,6 @@ #ifndef _ASM_IO_H #define _ASM_IO_H -#include #if 0 #include #endif diff --git a/arch/mips/include/asm/processor.h b/arch/mips/include/asm/processor.h index 24858ddda5..ba7f5381a3 100644 --- a/arch/mips/include/asm/processor.h +++ b/arch/mips/include/asm/processor.h @@ -11,8 +11,6 @@ #ifndef _ASM_PROCESSOR_H #define _ASM_PROCESSOR_H -#include - #include #include diff --git a/arch/mips/include/asm/system.h b/arch/mips/include/asm/system.h index b6d50e2f04..7a2895284e 100644 --- a/arch/mips/include/asm/system.h +++ b/arch/mips/include/asm/system.h @@ -16,7 +16,6 @@ #ifndef _ASM_SYSTEM_H #define _ASM_SYSTEM_H -#include #include #include #if 0 diff --git a/arch/powerpc/cpu/mpc5xx/start.S b/arch/powerpc/cpu/mpc5xx/start.S index bdd46d955d..92f956db8d 100644 --- a/arch/powerpc/cpu/mpc5xx/start.S +++ b/arch/powerpc/cpu/mpc5xx/start.S @@ -25,7 +25,6 @@ #include #include -#include #include #include diff --git a/arch/powerpc/include/asm/8xx_immap.h b/arch/powerpc/include/asm/8xx_immap.h index 01129ed4f0..dfaddb6f1d 100644 --- a/arch/powerpc/include/asm/8xx_immap.h +++ b/arch/powerpc/include/asm/8xx_immap.h @@ -1,4 +1,3 @@ - /* * MPC8xx Internal Memory Map * Copyright (c) 1997 Dan Malek (dmalek@jlc.net) diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h index 23f22df1b7..43a2bb2b3e 100644 --- a/arch/powerpc/include/asm/atomic.h +++ b/arch/powerpc/include/asm/atomic.h @@ -5,8 +5,6 @@ #ifndef _ASM_PPC_ATOMIC_H_ #define _ASM_PPC_ATOMIC_H_ -#include - #ifdef CONFIG_SMP typedef struct { volatile int counter; } atomic_t; #else diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h index adaf091492..a6bcf3c3fe 100644 --- a/arch/powerpc/include/asm/bitops.h +++ b/arch/powerpc/include/asm/bitops.h @@ -5,7 +5,6 @@ #ifndef _PPC_BITOPS_H #define _PPC_BITOPS_H -#include #include extern void set_bit(int nr, volatile void *addr); diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h index 5f9c640aa2..cdc1f10872 100644 --- a/arch/powerpc/include/asm/cache.h +++ b/arch/powerpc/include/asm/cache.h @@ -4,7 +4,6 @@ #ifndef __ARCH_PPC_CACHE_H #define __ARCH_PPC_CACHE_H -#include #include /* bytes per L1 cache line */ diff --git a/arch/powerpc/include/asm/cpm_8260.h b/arch/powerpc/include/asm/cpm_8260.h index 6a4a51a9aa..4f78186d9d 100644 --- a/arch/powerpc/include/asm/cpm_8260.h +++ b/arch/powerpc/include/asm/cpm_8260.h @@ -1,4 +1,3 @@ - /* * MPC8260 Communication Processor Module. * Copyright (c) 1999 Dan Malek (dmalek@jlc.net) diff --git a/arch/powerpc/include/asm/cpm_85xx.h b/arch/powerpc/include/asm/cpm_85xx.h index 1681ecd507..b137a71450 100644 --- a/arch/powerpc/include/asm/cpm_85xx.h +++ b/arch/powerpc/include/asm/cpm_85xx.h @@ -1,4 +1,3 @@ - /* * MPC85xx Communication Processor Module * Copyright (c) 2003,Motorola Inc. diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h index 1f12c29ba8..d8b7b974d4 100644 --- a/arch/powerpc/include/asm/io.h +++ b/arch/powerpc/include/asm/io.h @@ -7,7 +7,6 @@ #ifndef _PPC_IO_H #define _PPC_IO_H -#include #include #ifdef CONFIG_ADDR_MAP diff --git a/arch/powerpc/include/asm/m8260_pci.h b/arch/powerpc/include/asm/m8260_pci.h index 45f01de820..6daca4f99b 100644 --- a/arch/powerpc/include/asm/m8260_pci.h +++ b/arch/powerpc/include/asm/m8260_pci.h @@ -1,4 +1,3 @@ - #ifndef _PPC_KERNEL_M8260_PCI_H #define _PPC_KERNEL_M8260_PCI_H diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h index b700a3a0be..cadaeef85a 100644 --- a/arch/powerpc/include/asm/mmu.h +++ b/arch/powerpc/include/asm/mmu.h @@ -5,8 +5,6 @@ #ifndef _PPC_MMU_H_ #define _PPC_MMU_H_ -#include - #ifndef __ASSEMBLY__ /* Hardware Page Table Entry */ typedef struct _PTE { diff --git a/arch/powerpc/include/asm/ppc4xx-isram.h b/arch/powerpc/include/asm/ppc4xx-isram.h index 04fc8916eb..4d1106b124 100644 --- a/arch/powerpc/include/asm/ppc4xx-isram.h +++ b/arch/powerpc/include/asm/ppc4xx-isram.h @@ -1,4 +1,3 @@ - /* * SPDX-License-Identifier: GPL-2.0+ */ diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index c0fb51993e..81f9d38e79 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h @@ -7,8 +7,6 @@ */ #define current_text_addr() ({ __label__ _l; _l: &&_l;}) -#include - #include #include diff --git a/arch/powerpc/include/asm/ptrace.h b/arch/powerpc/include/asm/ptrace.h index cf09edf156..2d56de61d1 100644 --- a/arch/powerpc/include/asm/ptrace.h +++ b/arch/powerpc/include/asm/ptrace.h @@ -17,8 +17,6 @@ * the PT_* values below. This simplifies arch/powerpc/kernel/ptrace.c. */ -#include - #ifndef __ASSEMBLY__ #ifdef CONFIG_PPC64BRIDGE #define PPC_REG unsigned long /*long*/ diff --git a/arch/sparc/cpu/leon3/start.S b/arch/sparc/cpu/leon3/start.S index 70aee78054..bbc1b3476c 100644 --- a/arch/sparc/cpu/leon3/start.S +++ b/arch/sparc/cpu/leon3/start.S @@ -1,3 +1,5 @@ +#include + TRAP ta 0; nop; nop; nop; /* Software trap. Treat as BAD_TRAP for the time being... */ diff --git a/arch/sparc/include/asm/cache.h b/arch/sparc/include/asm/cache.h index 8ee0976659..d9671d1c74 100644 --- a/arch/sparc/include/asm/cache.h +++ b/arch/sparc/include/asm/cache.h @@ -8,7 +8,6 @@ #ifndef __SPARC_CACHE_H__ #define __SPARC_CACHE_H__ -#include #include /* diff --git a/arch/sparc/include/asm/page.h b/arch/sparc/include/asm/page.h index ecc0dc5657..181d1c1952 100644 --- a/arch/sparc/include/asm/page.h +++ b/arch/sparc/include/asm/page.h @@ -10,7 +10,6 @@ #ifndef _SPARC_PAGE_H #define _SPARC_PAGE_H -#include #ifdef CONFIG_SUN4 #define PAGE_SHIFT 13 #else diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h index cbc4a9e2e9..6b161881e7 100644 --- a/arch/x86/include/asm/pci.h +++ b/arch/x86/include/asm/pci.h @@ -1,5 +1,4 @@ - /* * (C) Copyright 2002 * Daniel Engström, Omicron Ceti AB, daniel@omicron.se diff --git a/board/LEOX/elpt860/Makefile b/board/LEOX/elpt860/Makefile index 80f5efe481..b811adbf00 100644 --- a/board/LEOX/elpt860/Makefile +++ b/board/LEOX/elpt860/Makefile @@ -1,4 +1,3 @@ - ####################################################################### # # Copyright (C) 2000, 2001, 2002, 2003 diff --git a/board/emk/top5200/Makefile b/board/emk/top5200/Makefile index eb626a6a2c..0930d484fb 100644 --- a/board/emk/top5200/Makefile +++ b/board/emk/top5200/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2003-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/ep88x/Makefile b/board/ep88x/Makefile deleted file mode 100644 index 07fa3f3a2f..0000000000 --- a/board/ep88x/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -# -# (C) Copyright 2006 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. -# -# Copyright (C) 2004 Arabella Software Ltd. -# Yuli Barcohen -# -# SPDX-License-Identifier: GPL-2.0+ -# - -include $(TOPDIR)/config.mk - -LIB = $(obj)lib$(BOARD).o - -COBJS := $(BOARD).o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB): $(obj).depend $(OBJS) - $(call cmd_link_o_target, $(OBJS)) - -######################################################################### - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -######################################################################### diff --git a/board/ep88x/ep88x.c b/board/ep88x/ep88x.c deleted file mode 100644 index cad0bfc6ca..0000000000 --- a/board/ep88x/ep88x.c +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (C) 2005 Arabella Software Ltd. - * Yuli Barcohen - * - * Support for Embedded Planet EP88x boards. - * Tested on EP88xC with MPC885 CPU, 64MB SDRAM and 16MB flash. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include - -/* - * SDRAM uses two Micron chips. - * Minimal CPU frequency is 40MHz. - */ -static uint sdram_table[] = { - /* Single read (offset 0x00 in UPM RAM) */ - 0xEFCBCC04, 0x0F37C804, 0x0EEEC004, 0x01B98404, - 0x1FF74C00, 0xFFFFCC05, 0xFFFFCC05, 0xFFFFCC05, - - /* Burst read (offset 0x08 in UPM RAM) */ - 0xEFCBCC04, 0x0F37C804, 0x0EEEC004, 0x00BDC404, - 0x00FFCC00, 0x00FFCC00, 0x01FB8C00, 0x1FF74C00, - 0xFFFFCC05, 0xFFFFCC05, 0xFFFFCC05, 0xFFFFCC05, - 0xFFFFCC05, 0xFFFFCC05, 0xFFFFCC05, 0xFFFFCC05, - - /* Single write (offset 0x18 in UPM RAM) */ - 0xEFCBCC04, 0x0F37C804, 0x0EEE8002, 0x01B90404, - 0x1FF74C05, 0xFFFFCC05, 0xFFFFCC05, 0xFFFFCC05, - - /* Burst write (offset 0x20 in UPM RAM) */ - 0xEFCBCC04, 0x0F37C804, 0x0EEE8000, 0x00BD4400, - 0x00FFCC00, 0x00FFCC02, 0x01FB8C04, 0x1FF74C05, - 0xFFFFCC05, 0xFFFFCC05, 0xFFFFCC05, 0xFFFFCC05, - 0xFFFFCC05, 0xFFFFCC05, 0xFFFFCC05, 0xFFFFCC05, - - /* Refresh (offset 0x30 in UPM RAM) */ - 0xEFFACC04, 0x0FF5CC04, 0x0FFFCC04, 0x1FFFCC04, - 0xFFFFCC05, 0xFFFFCC05, 0xEFFB8C34, 0x0FF74C34, - 0x0FFACCB4, 0x0FF5CC34, 0x0FFFC034, 0x0FFFC0B4, - - /* Exception (offset 0x3C in UPM RAM) */ - 0x0FEA8034, 0x1FB54034, 0xFFFFCC34, 0xFFFFCC05 -}; - -int board_early_init_f (void) -{ - vu_char *bcsr = (vu_char *)CONFIG_SYS_BCSR; - - bcsr[0] |= 0x0C; /* Turn the LEDs off */ - bcsr[2] |= 0x08; /* Enable flash WE# line - necessary for - flash detection by CFI driver - */ - -#if defined(CONFIG_8xx_CONS_SMC1) - bcsr[6] |= 0x10; /* Enables RS-232 transceiver */ -#endif -#if defined(CONFIG_8xx_CONS_SCC2) - bcsr[7] |= 0x10; /* Enables RS-232 transceiver */ -#endif -#ifdef CONFIG_ETHER_ON_FEC1 - bcsr[8] |= 0xC0; /* Enable Ethernet 1 PHY */ -#endif -#ifdef CONFIG_ETHER_ON_FEC2 - bcsr[8] |= 0x30; /* Enable Ethernet 2 PHY */ -#endif - - return 0; -} - -phys_size_t initdram (int board_type) -{ - long int msize; - volatile immap_t *immap = (volatile immap_t *)CONFIG_SYS_IMMR; - volatile memctl8xx_t *memctl = &immap->im_memctl; - - upmconfig(UPMA, sdram_table, sizeof(sdram_table) / sizeof(uint)); - - /* Configure SDRAM refresh */ - memctl->memc_mptpr = MPTPR_PTP_DIV2; /* BRGCLK/2 */ - - memctl->memc_mamr = (65 << 24) | CONFIG_SYS_MAMR; /* No refresh */ - udelay(100); - - /* Run MRS pattern from location 0x36 */ - memctl->memc_mar = 0x88; - memctl->memc_mcr = 0x80002236; - udelay(100); - - memctl->memc_mamr |= MAMR_PTAE; /* Enable refresh */ - memctl->memc_or1 = ~(CONFIG_SYS_SDRAM_MAX_SIZE - 1) | OR_CSNT_SAM; - memctl->memc_br1 = CONFIG_SYS_SDRAM_BASE | BR_PS_32 | BR_MS_UPMA | BR_V; - - msize = get_ram_size(CONFIG_SYS_SDRAM_BASE, CONFIG_SYS_SDRAM_MAX_SIZE); - memctl->memc_or1 |= ~(msize - 1); - - return msize; -} - -int checkboard( void ) -{ - vu_char *bcsr = (vu_char *)CONFIG_SYS_BCSR; - - puts("Board: "); - switch (bcsr[15]) { - case 0xE7: - puts("EP88xC 1.0"); - break; - default: - printf("unknown ID=%02X", bcsr[15]); - } - printf(" CPLD revision %d\n", bcsr[14]); - - return 0; -} diff --git a/board/ep88x/u-boot.lds b/board/ep88x/u-boot.lds deleted file mode 100644 index cbb17d1aee..0000000000 --- a/board/ep88x/u-boot.lds +++ /dev/null @@ -1,79 +0,0 @@ -/* - * (C) Copyright 2001-2010 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * Modified by Yuli Barcohen - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -OUTPUT_ARCH(powerpc) -SECTIONS -{ - /* Read-only sections, merged into text segment: */ - . = + SIZEOF_HEADERS; - .text : - { - arch/powerpc/cpu/mpc8xx/start.o (.text*) - arch/powerpc/cpu/mpc8xx/traps.o (.text*) - *(.text*) - . = ALIGN(16); - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) - } - - /* Read-write section, merged into data segment: */ - . = (. + 0x0FFF) & 0xFFFFF000; - _erotext = .; - PROVIDE (erotext = .); - .reloc : - { - _GOT2_TABLE_ = .; - KEEP(*(.got2)) - KEEP(*(.got)) - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); - _FIXUP_TABLE_ = .; - KEEP(*(.fixup)) - } - __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2; - __fixup_entries = (. - _FIXUP_TABLE_) >> 2; - - .data : - { - *(.data*) - *(.sdata*) - } - _edata = .; - PROVIDE (edata = .); - - . = .; - - . = ALIGN(4); - .u_boot_list : { - KEEP(*(SORT(.u_boot_list*))); - } - - - . = .; - __start___ex_table = .; - __ex_table : { *(__ex_table) } - __stop___ex_table = .; - - . = ALIGN(4096); - __init_begin = .; - .text.init : { *(.text.init) } - .data.init : { *(.data.init) } - . = ALIGN(4096); - __init_end = .; - - __bss_start = .; - .bss (NOLOAD) : - { - *(.bss*) - *(.sbss*) - *(COMMON) - . = ALIGN(4); - } - __bss_end = . ; - PROVIDE (end = .); -} -ENTRY(_start) diff --git a/board/esd/adciop/Makefile b/board/esd/adciop/Makefile index 9635189185..a096e44418 100644 --- a/board/esd/adciop/Makefile +++ b/board/esd/adciop/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2000-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/esd/dasa_sim/Makefile b/board/esd/dasa_sim/Makefile index 7dc48ba694..f0a5a8f09b 100644 --- a/board/esd/dasa_sim/Makefile +++ b/board/esd/dasa_sim/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2000-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/esd/mecp5200/Makefile b/board/esd/mecp5200/Makefile index 19f0055850..3d66c9f53d 100644 --- a/board/esd/mecp5200/Makefile +++ b/board/esd/mecp5200/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2003-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/esd/pf5200/Makefile b/board/esd/pf5200/Makefile index 24abbaf868..a9d20c90b1 100644 --- a/board/esd/pf5200/Makefile +++ b/board/esd/pf5200/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2003-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/freescale/mpc8260ads/Makefile b/board/freescale/mpc8260ads/Makefile index 9b7e287f8d..007d9580ae 100644 --- a/board/freescale/mpc8260ads/Makefile +++ b/board/freescale/mpc8260ads/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2001-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/gaisler/gr_cpci_ax2000/Makefile b/board/gaisler/gr_cpci_ax2000/Makefile index 1cef4d5eb6..a08e04dbe8 100644 --- a/board/gaisler/gr_cpci_ax2000/Makefile +++ b/board/gaisler/gr_cpci_ax2000/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2003-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/gaisler/gr_ep2s60/Makefile b/board/gaisler/gr_ep2s60/Makefile index a8b3e6a52a..059a9c03c4 100644 --- a/board/gaisler/gr_ep2s60/Makefile +++ b/board/gaisler/gr_ep2s60/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2003-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/gaisler/gr_xc3s_1500/Makefile b/board/gaisler/gr_xc3s_1500/Makefile index 2ca473d1a5..302c4611e0 100644 --- a/board/gaisler/gr_xc3s_1500/Makefile +++ b/board/gaisler/gr_xc3s_1500/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2003-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/hymod/hymod.h b/board/hymod/hymod.h index 2c58bfb6e0..3ab3794901 100644 --- a/board/hymod/hymod.h +++ b/board/hymod/hymod.h @@ -8,7 +8,6 @@ #ifndef _HYMOD_H_ #define _HYMOD_H_ -#include #ifdef CONFIG_8260 #include #endif diff --git a/board/icecube/Makefile b/board/icecube/Makefile index 373f753e36..c3c2cd1c3e 100644 --- a/board/icecube/Makefile +++ b/board/icecube/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2003-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/intercontrol/digsy_mtc/Makefile b/board/intercontrol/digsy_mtc/Makefile index be216d5a5c..44b7c0ae43 100644 --- a/board/intercontrol/digsy_mtc/Makefile +++ b/board/intercontrol/digsy_mtc/Makefile @@ -1,4 +1,3 @@ - # # Author: Grzegorz Bernacki, Semihalf, gjb@semihalf.com # diff --git a/board/jupiter/Makefile b/board/jupiter/Makefile index 49dff994ef..4d3ef9ed7a 100644 --- a/board/jupiter/Makefile +++ b/board/jupiter/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2003-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/kup/Makefile b/board/kup/Makefile deleted file mode 100644 index 05be72f484..0000000000 --- a/board/kup/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. -# -# SPDX-License-Identifier: GPL-2.0+ -# - -include $(TOPDIR)/config.mk - -LIB = $(obj)lib$(BOARD).o - -COBJS = $(BOARD).o flash.o kup.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB): $(obj).depend $(OBJS) - $(call cmd_link_o_target, $(OBJS)) - -######################################################################### - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -######################################################################### diff --git a/board/lubbock/Makefile b/board/lubbock/Makefile index 264838001d..8aa513ac44 100644 --- a/board/lubbock/Makefile +++ b/board/lubbock/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2000-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/mousse/Makefile b/board/mousse/Makefile index 0a2eb103ab..e2951d54ad 100644 --- a/board/mousse/Makefile +++ b/board/mousse/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2001-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/mpl/pati/pci_eeprom.h b/board/mpl/pati/pci_eeprom.h index af34b86c31..459c14381d 100644 --- a/board/mpl/pati/pci_eeprom.h +++ b/board/mpl/pati/pci_eeprom.h @@ -1,4 +1,3 @@ - #ifndef __PCI_EEPROM_H_ #define __PCI_EEPROM_H_ 1 diff --git a/board/pm520/Makefile b/board/pm520/Makefile index 3bcba23ae3..8b5a7eba71 100644 --- a/board/pm520/Makefile +++ b/board/pm520/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2003-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/pxa255_idp/Makefile b/board/pxa255_idp/Makefile index 7b063bde19..59d696741d 100644 --- a/board/pxa255_idp/Makefile +++ b/board/pxa255_idp/Makefile @@ -1,4 +1,3 @@ - # # (C) Copyright 2000-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/board/sandbox/sandbox/sandbox.c b/board/sandbox/sandbox/sandbox.c index f471cb7212..65dcce804b 100644 --- a/board/sandbox/sandbox/sandbox.c +++ b/board/sandbox/sandbox/sandbox.c @@ -18,19 +18,9 @@ void flush_cache(unsigned long start, unsigned long size) { } -ulong get_tbclk(void) +unsigned long timer_read_counter(void) { - return CONFIG_SYS_HZ; -} - -unsigned long long get_ticks(void) -{ - return get_timer(0); -} - -ulong get_timer(ulong base) -{ - return (os_get_nsec() / 1000000) - base; + return os_get_nsec() / 1000; } int timer_init(void) diff --git a/board/zipitz2/Makefile b/board/zipitz2/Makefile index 1f7614d86d..855f6bcda8 100644 --- a/board/zipitz2/Makefile +++ b/board/zipitz2/Makefile @@ -1,4 +1,3 @@ - # # Copyright (C) 2009 # Marek Vasut diff --git a/boards.cfg b/boards.cfg index 5e101253fc..375f2d4718 100644 --- a/boards.cfg +++ b/boards.cfg @@ -43,7 +43,6 @@ # Status, Arch, CPU:SPLCPU, SoC, Vendor, Board name, Target, Options, Maintainers ########################################################################################################### -<<<<<<< HEAD Active arm arm1136 - armltd integrator integratorcp_cm1136 integratorcp:CM1136 Linus Walleij Active arm arm1136 mx31 - - imx31_phycore - - Active arm arm1136 mx31 davedenx - qong - Wolfgang Denk @@ -197,7 +196,7 @@ Active arm arm926ejs mb86r0x syteco jadecpu Active arm arm926ejs mx25 freescale mx25pdk mx25pdk mx25pdk:IMX_CONFIG=board/freescale/mx25pdk/imximage.cfg Fabio Estevam Active arm arm926ejs mx25 karo tx25 tx25 - John Rigby Active arm arm926ejs mx25 syteco zmx25 zmx25 - Matthias Weisser -Active arm arm926ejs mx27 armadeus apf27 apf27 - Philippe Reynes :Eric Jarrige +Active arm arm926ejs mx27 armadeus apf27 apf27 - Philippe Reynes :Eric Jarrige Active arm arm926ejs mx27 logicpd imx27lite imx27lite - Wolfgang Denk Active arm arm926ejs mx27 logicpd imx27lite magnesium - Heiko Schocher Active arm arm926ejs mxs bluegiga apx4devkit apx4devkit apx4devkit Lauri Hintsala diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 166b901d76..ba73f5781a 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -1469,10 +1469,8 @@ static int do_bootm_netbsd(int flag, int argc, char * const argv[], char *consdev; char *cmdline; - if (flag & BOOTM_STATE_OS_PREP) + if (flag != BOOTM_STATE_OS_GO) return 0; - if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) - return 1; #if defined(CONFIG_FIT) if (!images->legacy_hdr_valid) { @@ -1550,10 +1548,8 @@ static int do_bootm_lynxkdi(int flag, int argc, char * const argv[], { image_header_t *hdr = &images->legacy_hdr_os_copy; - if (flag & BOOTM_STATE_OS_PREP) + if (flag != BOOTM_STATE_OS_GO) return 0; - if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) - return 1; #if defined(CONFIG_FIT) if (!images->legacy_hdr_valid) { @@ -1574,10 +1570,8 @@ static int do_bootm_rtems(int flag, int argc, char * const argv[], { void (*entry_point)(bd_t *); - if (flag & BOOTM_STATE_OS_PREP) + if (flag != BOOTM_STATE_OS_GO) return 0; - if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) - return 1; #if defined(CONFIG_FIT) if (!images->legacy_hdr_valid) { @@ -1609,10 +1603,8 @@ static int do_bootm_ose(int flag, int argc, char * const argv[], { void (*entry_point)(void); - if (flag & BOOTM_STATE_OS_PREP) + if (flag != BOOTM_STATE_OS_GO) return 0; - if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) - return 1; #if defined(CONFIG_FIT) if (!images->legacy_hdr_valid) { @@ -1645,10 +1637,8 @@ static int do_bootm_plan9(int flag, int argc, char * const argv[], void (*entry_point)(void); char *s; - if (flag & BOOTM_STATE_OS_PREP) + if (flag != BOOTM_STATE_OS_GO) return 0; - if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) - return 1; #if defined(CONFIG_FIT) if (!images->legacy_hdr_valid) { @@ -1694,10 +1684,8 @@ static int do_bootm_vxworks(int flag, int argc, char * const argv[], { char str[80]; - if (flag & BOOTM_STATE_OS_PREP) + if (flag != BOOTM_STATE_OS_GO) return 0; - if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) - return 1; #if defined(CONFIG_FIT) if (!images->legacy_hdr_valid) { @@ -1719,10 +1707,8 @@ static int do_bootm_qnxelf(int flag, int argc, char * const argv[], char *local_args[2]; char str[16]; - if (flag & BOOTM_STATE_OS_PREP) + if (flag != BOOTM_STATE_OS_GO) return 0; - if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) - return 1; #if defined(CONFIG_FIT) if (!images->legacy_hdr_valid) { @@ -1746,10 +1732,8 @@ static int do_bootm_integrity(int flag, int argc, char * const argv[], { void (*entry_point)(void); - if (flag & BOOTM_STATE_OS_PREP) + if (flag != BOOTM_STATE_OS_GO) return 0; - if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) - return 1; #if defined(CONFIG_FIT) if (!images->legacy_hdr_valid) { diff --git a/common/cmd_gpt.c b/common/cmd_gpt.c index a46f5cc343..1f12e6deb6 100644 --- a/common/cmd_gpt.c +++ b/common/cmd_gpt.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include @@ -122,7 +121,7 @@ static int set_gpt_info(block_dev_desc_t *dev_desc, int errno = 0; uint64_t size_ll, start_ll; - debug("%s: MMC lba num: 0x%x %d\n", __func__, + debug("%s: lba num: 0x%x %d\n", __func__, (unsigned int)dev_desc->lba, (unsigned int)dev_desc->lba); if (str_part == NULL) @@ -235,25 +234,18 @@ err: return errno; } -static int gpt_mmc_default(int dev, const char *str_part) +static int gpt_default(block_dev_desc_t *blk_dev_desc, const char *str_part) { int ret; char *str_disk_guid; u8 part_count = 0; disk_partition_t *partitions = NULL; - struct mmc *mmc = find_mmc_device(dev); - - if (mmc == NULL) { - printf("%s: mmc dev %d NOT available\n", __func__, dev); - return CMD_RET_FAILURE; - } - if (!str_part) return -1; /* fill partitions */ - ret = set_gpt_info(&mmc->block_dev, str_part, + ret = set_gpt_info(blk_dev_desc, str_part, &str_disk_guid, &partitions, &part_count); if (ret) { if (ret == -1) @@ -266,7 +258,7 @@ static int gpt_mmc_default(int dev, const char *str_part) } /* save partitions layout to disk */ - gpt_restore(&mmc->block_dev, str_disk_guid, partitions, part_count); + gpt_restore(blk_dev_desc, str_disk_guid, partitions, part_count); free(str_disk_guid); free(partitions); @@ -287,27 +279,28 @@ static int do_gpt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { int ret = CMD_RET_SUCCESS; int dev = 0; - char *pstr; + char *ep; + block_dev_desc_t *blk_dev_desc; if (argc < 5) return CMD_RET_USAGE; /* command: 'write' */ if ((strcmp(argv[1], "write") == 0) && (argc == 5)) { - /* device: 'mmc' */ - if (strcmp(argv[2], "mmc") == 0) { - /* check if 'dev' is a number */ - for (pstr = argv[3]; *pstr != '\0'; pstr++) - if (!isdigit(*pstr)) { - printf("'%s' is not a number\n", - argv[3]); - return CMD_RET_USAGE; - } - dev = (int)simple_strtoul(argv[3], NULL, 10); - /* write to mmc */ - if (gpt_mmc_default(dev, argv[4])) - return CMD_RET_FAILURE; + dev = (int)simple_strtoul(argv[3], &ep, 10); + if (!ep || ep[0] != '\0') { + printf("'%s' is not a number\n", argv[3]); + return CMD_RET_USAGE; } + blk_dev_desc = get_dev(argv[2], dev); + if (!blk_dev_desc) { + printf("%s: %s dev %d NOT available\n", + __func__, argv[2], dev); + return CMD_RET_FAILURE; + } + + if (gpt_default(blk_dev_desc, argv[4])) + return CMD_RET_FAILURE; } else { return CMD_RET_USAGE; } diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index ba9ba16972..5bcc324675 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -157,10 +157,8 @@ static int do_env_grep(cmd_tbl_t *cmdtp, int flag, grep_how = H_MATCH_SUBSTR; /* default: substring search */ grep_what = H_MATCH_BOTH; /* default: grep names and values */ - while (argc > 1 && **(argv + 1) == '-') { - char *arg = *++argv; - - --argc; + while (--argc > 0 && **++argv == '-') { + char *arg = *argv; while (*++arg) { switch (*arg) { #ifdef CONFIG_REGEX @@ -1059,6 +1057,23 @@ sep_err: } #endif +#if defined(CONFIG_CMD_ENV_EXISTS) +static int do_env_exists(cmd_tbl_t *cmdtp, int flag, int argc, + char * const argv[]) +{ + ENTRY e, *ep; + + if (argc < 2) + return CMD_RET_USAGE; + + e.key = argv[1]; + e.data = NULL; + hsearch_r(e, FIND, &ep, &env_htab, 0); + + return (ep == NULL) ? 1 : 0; +} +#endif + /* * New command line interface: "env" command with subcommands */ @@ -1094,6 +1109,9 @@ static cmd_tbl_t cmd_env_sub[] = { U_BOOT_CMD_MKENT(save, 1, 0, do_env_save, "", ""), #endif U_BOOT_CMD_MKENT(set, CONFIG_SYS_MAXARGS, 0, do_env_set, "", ""), +#if defined(CONFIG_CMD_ENV_EXISTS) + U_BOOT_CMD_MKENT(exists, 2, 0, do_env_exists, "", ""), +#endif }; #if defined(CONFIG_NEEDS_MANUAL_RELOC) @@ -1136,6 +1154,9 @@ static char env_help_text[] = #if defined(CONFIG_CMD_EDITENV) "env edit name - edit environment variable\n" #endif +#if defined(CONFIG_CMD_ENV_EXISTS) + "env exists name - tests for existence of variable\n" +#endif #if defined(CONFIG_CMD_EXPORTENV) "env export [-t | -b | -c] [-s size] addr [var ...] - export environment\n" #endif diff --git a/common/cmd_reiser.c b/common/cmd_reiser.c index b9d2449e33..887156486a 100644 --- a/common/cmd_reiser.c +++ b/common/cmd_reiser.c @@ -141,7 +141,7 @@ int do_reiserload (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) filelen = reiserfs_open(filename); if (filelen < 0) { - printf("** File not found %s\n", filename); + printf("** File not found %s **\n", filename); return 1; } if ((count < filelen) && (count != 0)) { diff --git a/common/cmd_ubifs.c b/common/cmd_ubifs.c index eba54fd004..d9af023d70 100644 --- a/common/cmd_ubifs.c +++ b/common/cmd_ubifs.c @@ -104,8 +104,10 @@ int do_ubifs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) debug("Using filename %s\n", filename); ret = ubifs_ls(filename); - if (ret) - printf("%s not found!\n", filename); + if (ret) { + printf("** File not found %s **\n", filename); + ret = CMD_RET_FAILURE; + } return ret; } @@ -140,8 +142,10 @@ int do_ubifs_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) debug("Loading file '%s' to address 0x%08x (size %d)\n", filename, addr, size); ret = ubifs_load(filename, addr, size); - if (ret) - printf("%s not found!\n", filename); + if (ret) { + printf("** File not found %s **\n", filename); + ret = CMD_RET_FAILURE; + } return ret; } diff --git a/common/cmd_zfs.c b/common/cmd_zfs.c index 911086809b..0aed29e9b2 100644 --- a/common/cmd_zfs.c +++ b/common/cmd_zfs.c @@ -95,7 +95,7 @@ static int do_zfs_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[] memset(&zfile, 0, sizeof(zfile)); zfile.device = &vdev; if (zfs_open(&zfile, filename)) { - printf("** File not found %s\n", filename); + printf("** File not found %s **\n", filename); return 1; } diff --git a/common/main.c b/common/main.c index 6f475f0cca..8b6f274fa2 100644 --- a/common/main.c +++ b/common/main.c @@ -392,13 +392,13 @@ static void process_boot_delay(void) debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : ""); if (bootdelay != -1 && s && !abortboot(bootdelay)) { -#ifdef CONFIG_AUTOBOOT_KEYED +#if defined(CONFIG_AUTOBOOT_KEYED) && !defined(CONFIG_AUTOBOOT_KEYED_CTRLC) int prev = disable_ctrlc(1); /* disable Control C checking */ #endif run_command_list(s, -1, 0); -#ifdef CONFIG_AUTOBOOT_KEYED +#if defined(CONFIG_AUTOBOOT_KEYED) && !defined(CONFIG_AUTOBOOT_KEYED_CTRLC) disable_ctrlc(prev); /* restore Control C checking */ #endif } diff --git a/config.mk b/config.mk index 91a8f2406b..344138759c 100644 --- a/config.mk +++ b/config.mk @@ -257,10 +257,10 @@ endif endif ifneq ($(OBJTREE),$(SRCTREE)) -CPPFLAGS += -I$(OBJTREE)/include2 -I$(OBJTREE)/include +CPPFLAGS += -I$(OBJTREE)/include endif -CPPFLAGS += -I$(TOPDIR)/include +CPPFLAGS += -I$(TOPDIR)/include -I$(SRCTREE)/arch/$(ARCH)/include CPPFLAGS += -fno-builtin -ffreestanding -nostdinc \ -isystem $(gccincdir) -pipe $(PLATFORM_CPPFLAGS) diff --git a/doc/README.autoboot b/doc/README.autoboot index ff58a79e49..14e3660dd8 100644 --- a/doc/README.autoboot +++ b/doc/README.autoboot @@ -74,6 +74,7 @@ What they do "bootretry" is >= 0. CONFIG_AUTOBOOT_KEYED + CONFIG_AUTOBOOT_KEYED_CTRLC CONFIG_AUTOBOOT_PROMPT CONFIG_AUTOBOOT_DELAY_STR CONFIG_AUTOBOOT_STOP_STR @@ -135,6 +136,13 @@ What they do environment variable you can specify a second, alternate string (which allows you to have two "password" strings). + The CONFIG_AUTOBOOT_KEYED_CTRLC #define allows for the boot + sequence to be interrupted by ctrl-c, in addition to the + "bootdelaykey" and "bootstopkey". Setting this variable + provides an escape sequence from the limited "password" + strings. + + CONFIG_ZERO_BOOTDELAY_CHECK If this option is defined, you can stop the autoboot process diff --git a/doc/README.scrapyard b/doc/README.scrapyard index 0f9a486185..7cfb3a3772 100644 --- a/doc/README.scrapyard +++ b/doc/README.scrapyard @@ -16,10 +16,11 @@ CANBT powerpc 405CR fb8f4fd 2013-08-07 Matthias Fuc Alaska8220 powerpc mpc8220 d6ed322 2013-05-11 Yukon8220 powerpc mpc8220 d6ed322 2013-05-11 sorcery powerpc mpc8220 d6ed322 2013-05-11 -smdk6400 arm arm1176 52587f1 2013-04-12 Zhong Hongbo -ns9750dev arm arm926ejs 4cfc611 2013-02-28 Markus Pietrek +smdk6400 arm arm1176 52587f1 2013-04-12 Zhong Hongbo +ns9750dev arm arm926ejs 4cfc611 2013-02-28 Markus Pietrek AMX860 powerpc mpc860 1b0757e 2012-10-28 Wolfgang Denk c2mon powerpc mpc855 1b0757e 2012-10-28 Wolfgang Denk +EP88x powerpc mpc885 1b0757e 2012-10-28 ETX094 powerpc mpc850 1b0757e 2012-10-28 Wolfgang Denk IAD210 powerpc mpc860 1b0757e 2012-10-28 - LANTEC powerpc mpc850 1b0757e 2012-10-28 Wolfgang Denk @@ -97,5 +98,5 @@ adsvix ARM PXA27x 7610db1 2008-07-30 Adrian Filip R5200 ColdFire - 48ead7a 2008-03-31 Zachary P. Landau CPCI440 powerpc 440GP b568fd2 2007-12-27 Matthias Fuchs PCIPPC2 powerpc MPC740/MPC750 7c9e89b 2013-02-07 Wolfgang Denk -PCIPPC6 powerpc MPC740/MPC750 - - Wolfgang Denk +PCIPPC6 powerpc MPC740/MPC750 - - Wolfgang Denk omap2420h4 arm omap24xx - 2013-06-04 Richard Woodruff diff --git a/doc/driver-model/UDM-block.txt b/doc/driver-model/UDM-block.txt index ffbbdf3a7a..0437d9bb9c 100644 --- a/doc/driver-model/UDM-block.txt +++ b/doc/driver-model/UDM-block.txt @@ -221,58 +221,58 @@ II) Approach III) Analysis of in-tree drivers -------------------------------- - 1) ahci.c - --------- + ahci.c + ------ SCSI API, will be rewritten for a different API. - 2) ata_piix.c - ------------- + ata_piix.c + ---------- SATA API, easy to port. - 3) fsl_sata.c - ------------- + fsl_sata.c + ---------- SATA API, few CONFIG macros, easy to port. - 4) ftide020.c - ------------- + ftide020.c + ---------- IDE API, defines CONFIG_IDE_AHB and ide_preinit hook functions. - 5) mg_disk.c - ------------ + mg_disk.c + --------- Single driver with mg_disk API, not much to change, easy to port. - 6) mvsata_ide.c - --------------- + mvsata_ide.c + ------------ IDE API, only defines ide_preinit hook function. - 7) mxc_ata.c - ------------ + mxc_ata.c + --------- IDE API, only defines ide_preinit hook function. - 8) pata_bfin.c - -------------- + pata_bfin.c + ----------- SATA API, easy to port. - 9) sata_dwc.c - ------------- + sata_dwc.c + ---------- SATA API, easy to port. - 10) sata_sil3114.c - ------------------ + sata_sil3114.c + -------------- SATA API, easy to port. - 11) sata_sil.c - -------------- + sata_sil.c + ---------- SATA API, easy to port. - 12) sil680.c - ------------ + sil680.c + -------- IDE API, only defines ide_preinit hook function. - 13) sym53c8xx.c - --------------- + sym53c8xx.c + ----------- SCSI API, may be merged with code from cmd_scsi. - 14) systemace.c - --------------- + systemace.c + ----------- Single driver with systemace API, not much to change, easy to port. diff --git a/doc/driver-model/UDM-gpio.txt b/doc/driver-model/UDM-gpio.txt index 87554dde68..585d45868c 100644 --- a/doc/driver-model/UDM-gpio.txt +++ b/doc/driver-model/UDM-gpio.txt @@ -68,39 +68,39 @@ II) Approach III) Analysis of in-tree drivers -------------------------------- - 1) altera_pio.c - --------------- + altera_pio.c + ------------ Meets standard API. Implements gpio_request() properly. Simple conversion possible. - 2) at91_gpio.c - -------------- + at91_gpio.c + ----------- Don't meet standard API. Need some other methods to implement. - 3) da8xx_gpio.c - --------------- + da8xx_gpio.c + ------------ Meets standard API. Implements gpio_request() properly. Simple conversion possible. - 4) kw_gpio.c - ------------ + kw_gpio.c + --------- Doesn't meet standard API. Needs some other methods to implement and move some methods to another file. - 5) mpc83xx_gpio.c - ----------------- + mpc83xx_gpio.c + -------------- Meets standard API. Doesn't implement gpio_request() properly (only checks if the pin is valid). Simple conversion possible. - 6) mvgpio.c - ----------- + mvgpio.c + -------- Meets standard API. Doesn't implement gpio_request() properly (only checks if the pin is valid). Simple conversion possible. - 7) mvgpio.h - ----------- + mvgpio.h + -------- Wrong placement. Will be moved to another location. - 8) mvmfp.c - ---------- + mvmfp.c + ------- Wrong placement. Will be moved to another location. diff --git a/doc/driver-model/UDM-hwmon.txt b/doc/driver-model/UDM-hwmon.txt index 9048cc0f00..03a96a057a 100644 --- a/doc/driver-model/UDM-hwmon.txt +++ b/doc/driver-model/UDM-hwmon.txt @@ -71,48 +71,48 @@ II) Approach III) Analysis of in-tree drivers -------------------------------- - 1) drivers/hwmon/lm81.c - ----------------------- + drivers/hwmon/lm81.c + -------------------- The driver is standard dtt. Simple conversion is possible. - 2) drivers/hwmon/ds1722.c - ------------------------- + drivers/hwmon/ds1722.c + ---------------------- The driver is not standard dtt, but interface is similar to dtt. The interface has to be changed in order to comply to above mentioned specification. - 3) drivers/hwmon/ds1775.c - ------------------------- + drivers/hwmon/ds1775.c + ---------------------- The driver is standard dtt. Simple conversion is possible. - 4) drivers/hwmon/lm73.c - ----------------------- + drivers/hwmon/lm73.c + -------------------- The driver is standard dtt. Simple conversion is possible. - 5) drivers/hwmon/lm63.c - ----------------------- + drivers/hwmon/lm63.c + -------------------- The driver is standard dtt. Simple conversion is possible. - 6) drivers/hwmon/adt7460.c - -------------------------- + drivers/hwmon/adt7460.c + ----------------------- The driver is standard dtt. Simple conversion is possible. - 7) drivers/hwmon/lm75.c - ----------------------- + drivers/hwmon/lm75.c + -------------------- The driver is standard dtt. Simple conversion is possible. - 8) drivers/hwmon/ds1621.c - ------------------------- + drivers/hwmon/ds1621.c + ---------------------- The driver is standard dtt. Simple conversion is possible. - 9) drivers/hwmon/adm1021.c - -------------------------- + drivers/hwmon/adm1021.c + ----------------------- The driver is standard dtt. Simple conversion is possible. diff --git a/doc/driver-model/UDM-keyboard.txt b/doc/driver-model/UDM-keyboard.txt index ef3761dc24..5babfc55f1 100644 --- a/doc/driver-model/UDM-keyboard.txt +++ b/doc/driver-model/UDM-keyboard.txt @@ -28,18 +28,18 @@ be converted into driver's private data. III) Analysis of in-tree drivers -------------------------------- - 1) board/mpl/common/kbd.c - ------------------------- + board/mpl/common/kbd.c + ---------------------- This driver is a classic STDIO driver, no problem with conversion is expected. Only necessary change will be to move this driver to a proper location. - 2) board/rbc823/kbd.c - --------------------- + board/rbc823/kbd.c + ------------------ This driver is a classic STDIO driver, no problem with conversion is expected. Only necessary change will be to move this driver to a proper location. - 3) drivers/input/keyboard.c - --------------------------- + drivers/input/keyboard.c + ------------------------ This driver is special in many ways. Firstly because this is a universal stub driver for converting scancodes from i8042 and the likes. Secondly because the buffer is filled by various other ad-hoc implementations of keyboard input by diff --git a/doc/driver-model/UDM-mmc.txt b/doc/driver-model/UDM-mmc.txt index 1f07d874ea..97f83a7776 100644 --- a/doc/driver-model/UDM-mmc.txt +++ b/doc/driver-model/UDM-mmc.txt @@ -220,100 +220,100 @@ As for the legacy drivers, these will either be converted or removed altogether. III) Analysis of in-tree drivers -------------------------------- - 1) arm_pl180_mmci.c - ------------------- + arm_pl180_mmci.c + ---------------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 2) atmel_mci.c - -------------- + atmel_mci.c + ----------- This driver uses the legacy API and should be removed unless converted. It is probably possbible to replace this driver with gen_atmel_mci.c . No conversion will be done on this driver. - 3) bfin_sdh.c - ------------- + bfin_sdh.c + ---------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 4) davinci_mmc.c - ---------------- + davinci_mmc.c + ------------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 5) fsl_esdhc.c - -------------- + fsl_esdhc.c + ----------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple, unless some problem appears due to the FDT component of the driver. - 6) ftsdc010_esdhc.c - ------------------- + ftsdc010_esdhc.c + ---------------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 7) gen_atmel_mci.c - ------------------ + gen_atmel_mci.c + --------------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 8) mmc_spi.c - ------------ + mmc_spi.c + --------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 9) mv_sdhci.c - ------------- + mv_sdhci.c + ---------- This is a component of the SDHCI support, allowing it to run on Marvell Kirkwood chip. It is probable the SDHCI support will have to be modified to allow calling functions from this file based on information passed via platform_data. - 10) mxcmmc.c - ------------ + mxcmmc.c + -------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 11) mxsmmc.c - ------------ + mxsmmc.c + -------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 12) omap_hsmmc.c - ---------------- + omap_hsmmc.c + ------------ Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 13) pxa_mmc.c - ------------- + pxa_mmc.c + --------- This driver uses the legacy API and is written in a severely ad-hoc manner. This driver will be removed in favor of pxa_mmc_gen.c, which is proved to work better and is already well tested. No conversion will be done on this driver anymore. - 14) pxa_mmc_gen.c - ----------------- + pxa_mmc_gen.c + ------------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 15) s5p_mmc.c - ------------- + s5p_mmc.c + --------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 16) sdhci.c - ----------- + sdhci.c + ------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple, though it'd be necessary to modify this driver to also support the Kirkwood series and probably also Tegra series of CPUs. See the respective parts of this section for details. - 17) sh_mmcif.c - -------------- + sh_mmcif.c + ---------- Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. - 18) tegra2_mmc.c - ---------------- + tegra2_mmc.c + ------------ Follows the new API and also has a good encapsulation of the whole driver. The conversion here will be simple. diff --git a/doc/driver-model/UDM-net.txt b/doc/driver-model/UDM-net.txt index e2ea8f5a60..097ed69600 100644 --- a/doc/driver-model/UDM-net.txt +++ b/doc/driver-model/UDM-net.txt @@ -108,327 +108,321 @@ replacement of per-driver initialization functions and removal of III) Analysis of in-tree drivers -------------------------------- - 1) drivers/net/4xx_enet.c - ------------------------- + drivers/net/4xx_enet.c + ---------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 2) drivers/net/altera_tse.c - --------------------------- + drivers/net/altera_tse.c + ------------------------ This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 3) drivers/net/armada100_fec.c - ------------------------------ + drivers/net/armada100_fec.c + --------------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 4) drivers/net/at91_emac.c - -------------------------- + drivers/net/at91_emac.c + ----------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 5) drivers/net/ax88180.c - ------------------------ + drivers/net/ax88180.c + --------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 6) drivers/net/ax88796.c - ------------------------ + drivers/net/ax88796.c + --------------------- This file contains a components of the NE2000 driver, implementing only different parts on the NE2000 clone AX88796. This being no standalone driver, no conversion will be done here. - 7) drivers/net/bfin_mac.c - ------------------------- + drivers/net/bfin_mac.c + ---------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 8) drivers/net/calxedaxgmac.c - ----------------------------- + drivers/net/calxedaxgmac.c + -------------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 9) drivers/net/cs8900.c - ----------------------- + drivers/net/cs8900.c + -------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 10) drivers/net/davinci_emac.c - ------------------------------ + drivers/net/davinci_emac.c + -------------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 11) drivers/net/dc2114x.c - ------------------------- + drivers/net/dc2114x.c + --------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 12) drivers/net/designware.c - ---------------------------- + drivers/net/designware.c + ------------------------ This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 13) drivers/net/dm9000x.c - ------------------------- + drivers/net/dm9000x.c + --------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 14) drivers/net/dnet.c - ---------------------- + drivers/net/dnet.c + ------------------ This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 15) drivers/net/e1000.c - ----------------------- + drivers/net/e1000.c + ------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 16) drivers/net/e1000_spi.c - --------------------------- + drivers/net/e1000_spi.c + ----------------------- Driver for the SPI bus integrated on the Intel E1000. This is not part of the network stack. - 17) drivers/net/eepro100.c - -------------------------- + drivers/net/eepro100.c + ---------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 18) drivers/net/enc28j60.c - -------------------------- + drivers/net/enc28j60.c + ---------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 19) drivers/net/ep93xx_eth.c - ---------------------------- + drivers/net/ep93xx_eth.c + ------------------------ This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 20) drivers/net/ethoc.c - ----------------------- + drivers/net/ethoc.c + ------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 21) drivers/net/fec_mxc.c - ------------------------- + drivers/net/fec_mxc.c + --------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 22) drivers/net/fsl_mcdmafec.c - ------------------------------ + drivers/net/fsl_mcdmafec.c + -------------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 23) drivers/net/fsl_mdio.c - -------------------------- + drivers/net/fsl_mdio.c + ---------------------- This file contains driver for FSL MDIO interface, which is not part of the networking stack. - 24) drivers/net/ftgmac100.c - --------------------------- + drivers/net/ftgmac100.c + ----------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 25) drivers/net/ftmac100.c - -------------------------- + drivers/net/ftmac100.c + ---------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 26) drivers/net/greth.c - ----------------------- + drivers/net/greth.c + ------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 27) drivers/net/inca-ip_sw.c - ---------------------------- + drivers/net/inca-ip_sw.c + ------------------------ This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 28) drivers/net/ks8695eth.c - --------------------------- + drivers/net/ks8695eth.c + ----------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 29) drivers/net/lan91c96.c - -------------------------- + drivers/net/lan91c96.c + ---------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 30) drivers/net/macb.c - ---------------------- + drivers/net/macb.c + ------------------ This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 31) drivers/net/mcffec.c - ------------------------ + drivers/net/mcffec.c + -------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 32) drivers/net/mcfmii.c - ------------------------ + drivers/net/mcfmii.c + -------------------- This file contains MII interface driver for MCF FEC. - 33) drivers/net/mpc512x_fec.c - ----------------------------- + drivers/net/mpc512x_fec.c + ------------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 34) drivers/net/mpc5xxx_fec.c - ----------------------------- + drivers/net/mpc5xxx_fec.c + ------------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 35) drivers/net/mvgbe.c - ----------------------- + drivers/net/mvgbe.c + ------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 36) drivers/net/natsemi.c - ------------------------- + drivers/net/natsemi.c + --------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 37) drivers/net/ne2000_base.c - ----------------------------- + drivers/net/ne2000_base.c + ------------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. This driver contains the core implementation of NE2000, which needs a few external functions, implemented by AX88796, NE2000 etc. - 38) drivers/net/ne2000.c - ------------------------ + drivers/net/ne2000.c + -------------------- This file implements external functions necessary for native NE2000 compatible networking card to work. - 39) drivers/net/netarm_eth.c - ---------------------------- - - This driver uses the old, legacy, network API and will either have to be - converted or removed. - - 40) drivers/net/netconsole.c - ---------------------------- + drivers/net/netconsole.c + ------------------------ This is actually an STDIO driver. - 41) drivers/net/ns8382x.c - ------------------------- + drivers/net/ns8382x.c + --------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 42) drivers/net/pcnet.c - ----------------------- + drivers/net/pcnet.c + ------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 43) drivers/net/plb2800_eth.c - ----------------------------- + drivers/net/plb2800_eth.c + ------------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 44) drivers/net/rtl8139.c - ------------------------- + drivers/net/rtl8139.c + --------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 45) drivers/net/rtl8169.c - ------------------------- + drivers/net/rtl8169.c + --------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 46) drivers/net/sh_eth.c - ------------------------ + drivers/net/sh_eth.c + -------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 47) drivers/net/smc91111.c - -------------------------- + drivers/net/smc91111.c + ---------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 48) drivers/net/smc911x.c - ------------------------- + drivers/net/smc911x.c + --------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 49) drivers/net/tsec.c - ---------------------- + drivers/net/tsec.c + ------------------ This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 50) drivers/net/tsi108_eth.c - ---------------------------- + drivers/net/tsi108_eth.c + ------------------------ This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 51) drivers/net/uli526x.c - ------------------------- + drivers/net/uli526x.c + --------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 52) drivers/net/vsc7385.c - ------------------------- + drivers/net/vsc7385.c + --------------------- This is a driver that only uploads firmware to a switch. This is not subject of conversion. - 53) drivers/net/xilinx_axi_emac.c - --------------------------------- + drivers/net/xilinx_axi_emac.c + ----------------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. - 54) drivers/net/xilinx_emaclite.c - --------------------------------- + drivers/net/xilinx_emaclite.c + ----------------------------- This driver uses the standard new networking API, therefore there should be no obstacles throughout the conversion process. diff --git a/doc/driver-model/UDM-pci.txt b/doc/driver-model/UDM-pci.txt index 6a592b3368..059a4329fb 100644 --- a/doc/driver-model/UDM-pci.txt +++ b/doc/driver-model/UDM-pci.txt @@ -120,136 +120,136 @@ III) Analysis of in-tree drivers A) drivers in drivers/pci/ -------------------------- - 1) pci_indirect.c - ----------------- + pci_indirect.c + -------------- Shared driver for indirect PCI bridges, several CONFIG macros - will require significant cleanup. - 2) pci_ixp.c - ------------ + pci_ixp.c + --------- Standard driver, specifies all read/write functions separately. - 3) pci_sh4.c - ------------ + pci_sh4.c + --------- Shared init function for SH4 drivers, uses dword for read/write ops. - 4) pci_sh7751.c - --------------- + pci_sh7751.c + ------------ Standard driver, uses SH4 shared init. - 5) pci_sh7780.c - --------------- + pci_sh7780.c + ------------ Standard driver, uses SH4 shared init. - 6) tsi108_pci.c - --------------- + tsi108_pci.c + ------------ Standard driver, uses dword for read/write ops. - 7) fsl_pci_init.c - ----------------- + fsl_pci_init.c + -------------- Driver for PCI and PCI-e, uses indirect functions. - 8) pci_ftpci100.c - ----------------- + pci_ftpci100.c + -------------- Standard driver, uses indirect functions, has separate scan/setup functions. B) driver in arch/ ------------------ - 1) x86/lib/pci_type1.c - ---------------------- + x86/lib/pci_type1.c + ------------------- Standard driver, specifies all read/write functions separately. - 2) m68k/cpu/mcf5445x/pci.c - -------------------------- + m68k/cpu/mcf5445x/pci.c + ----------------------- Standard driver, specifies all read/write functions separately. - 3) m68k/cpu/mcf547x_8x/pci.c - ---------------------------- + m68k/cpu/mcf547x_8x/pci.c + ------------------------- Standard driver, specifies all read/write functions separately. - 4) powerpc/cpu/mpc824x/pci.c - ---------------------------- + powerpc/cpu/mpc824x/pci.c + ------------------------- Standard driver, uses indirect functions, does not setup HW. - 5) powerpc/cpu/mpc8260/pci.c - ---------------------------- + powerpc/cpu/mpc8260/pci.c + ------------------------- Standard driver, uses indirect functions. - 6) powerpc/cpu/ppc4xx/4xx_pci.c - ------------------------------- + powerpc/cpu/ppc4xx/4xx_pci.c + ---------------------------- Standard driver, uses indirect functions. - 7) powerpc/cpu/ppc4xx/4xx_pcie.c - -------------------------------- + powerpc/cpu/ppc4xx/4xx_pcie.c + ----------------------------- PCI-e driver, specifies all read/write functions separately. - 8) powerpc/cpu/mpc83xx/pci.c - ---------------------------- + powerpc/cpu/mpc83xx/pci.c + ------------------------- Standard driver, uses indirect functions. - 9) powerpc/cpu/mpc83xx/pcie.c - ----------------------------- + powerpc/cpu/mpc83xx/pcie.c + -------------------------- PCI-e driver, specifies all read/write functions separately. - 10) powerpc/cpu/mpc5xxx/pci_mpc5200.c - ------------------------------------- + powerpc/cpu/mpc5xxx/pci_mpc5200.c + --------------------------------- Standard driver, uses dword for read/write ops. - 11) powerpc/cpu/mpc512x/pci.c - ----------------------------- + powerpc/cpu/mpc512x/pci.c + ------------------------- Standard driver, uses indirect functions. - 12) powerpc/cpu/mpc85xx/pci.c - ----------------------------- + powerpc/cpu/mpc85xx/pci.c + ------------------------- Standard driver, uses indirect functions, has two busses. C) drivers in board/ -------------------- - 1) eltec/elppc/pci.c - -------------------- + eltec/elppc/pci.c + ----------------- Standard driver, uses indirect functions. - 2) amirix/ap1000/pci.c - ---------------------- + amirix/ap1000/pci.c + ------------------- Standard driver, specifies all read/write functions separately. - 3) prodrive/p3mx/pci.c - ---------------------- + prodrive/p3mx/pci.c + ------------------- Standard driver, uses dword for read/write ops, has two busses. - 4) esd/cpci750/pci.c - -------------------- + esd/cpci750/pci.c + ----------------- Standard driver, uses dword for read/write ops, has two busses. - 5) esd/common/pci.c - ------------------- + esd/common/pci.c + ---------------- Standard driver, uses dword for read/write ops. - 6) dave/common/pci.c - -------------------- + dave/common/pci.c + ----------------- Standard driver, uses dword for read/write ops. - 7) ppmc7xx/pci.c - ---------------- + ppmc7xx/pci.c + ------------- Standard driver, uses indirect functions. - 9) Marvell/db64360/pci.c - ------------------------ + Marvell/db64360/pci.c + --------------------- Standard driver, uses dword for read/write ops, has two busses. - 10) Marvell/db64460/pci.c - ------------------------- + Marvell/db64460/pci.c + --------------------- Standard driver, uses dword for read/write ops, has two busses. - 11) evb64260/pci.c - ------------------ + evb64260/pci.c + -------------- Standard driver, uses dword for read/write ops, has two busses. - 12) armltd/integrator/pci.c - --------------------------- + armltd/integrator/pci.c + ----------------------- Standard driver, specifies all read/write functions separately. All drivers will be moved to drivers/pci. Several drivers seem diff --git a/doc/driver-model/UDM-pcmcia.txt b/doc/driver-model/UDM-pcmcia.txt index fc31461ca7..d55e89df6a 100644 --- a/doc/driver-model/UDM-pcmcia.txt +++ b/doc/driver-model/UDM-pcmcia.txt @@ -47,32 +47,32 @@ II) Approach III) Analysis of in-tree drivers -------------------------------- - 1) i82365.c - ----------- + i82365.c + -------- Driver methods have different name i82365_init() and i82365_exit but all functionality is the same. Board files board/atc/ti113x.c and board/cpc45/pd67290.c use their own implementation of these method. In this case all methods in driver behave only as wrappers. - 2) marubun_pcmcia.c - ------------------- + marubun_pcmcia.c + ---------------- Meets standard API behaviour. Simple conversion. - 3) mpc8xx_pcmcia.c - ------------------ + mpc8xx_pcmcia.c + --------------- Meets standard API behaviour. Simple conversion. - 4) rpx_pcmcia.c - --------------- + rpx_pcmcia.c + ------------ Implements only internal API used in other drivers. Non of methods implemented here are used outside driver model. - 5) ti_pci1410a.c - ---------------- + ti_pci1410a.c + ------------- Has different API but methods in this file are never called. Probably dead code. - 6)tqm8xx_pcmcia.c - ----------------- + tqm8xx_pcmcia.c + --------------- Implements only internal API used in other drivers. Non of methods implemented here are used outside driver model. diff --git a/doc/driver-model/UDM-power.txt b/doc/driver-model/UDM-power.txt index 015c7737f6..666d55305f 100644 --- a/doc/driver-model/UDM-power.txt +++ b/doc/driver-model/UDM-power.txt @@ -52,8 +52,8 @@ II) Approach III) Analysis of in-tree drivers -------------------------------- - 1) ftpmu010.c - ------------- + ftpmu010.c + ---------- All methods of this file are moved to another location. void ftpmu010_32768osc_enable(void): Move to boards hacks void ftpmu010_mfpsr_select_dev(unsigned int dev): Move to board file @@ -65,8 +65,8 @@ III) Analysis of in-tree drivers void ftpmu010_sdramhtc_set(unsigned int val): Move to board file arch/nds32/lib/board.c - 2) twl4030.c - ------------ + twl4030.c + --------- All methods of this file are moved to another location. void twl4030_power_reset_init(void): Move to board hacks void twl4030_pmrecv_vsel_cfg(u8 vsel_reg, u8 vsel_val, u8 dev_grp, @@ -74,8 +74,8 @@ III) Analysis of in-tree drivers void twl4030_power_init(void): Move to board hacks void twl4030_power_mmc_init(void): Move to board hacks - 3) twl6030.c - ------------ + twl6030.c + --------- Some methods are converted to new API and rest are moved to another location. void twl6030_stop_usb_charging(void): Convert to new API void twl6030_start_usb_charging(void): Convert to new API diff --git a/doc/driver-model/UDM-rtc.txt b/doc/driver-model/UDM-rtc.txt index 8391f38723..3640d24c28 100644 --- a/doc/driver-model/UDM-rtc.txt +++ b/doc/driver-model/UDM-rtc.txt @@ -62,192 +62,192 @@ II) Approach III) Analysis of in-tree drivers -------------------------------- - 1) drivers/rtc/rv3029.c - ----------------------- + drivers/rtc/rv3029.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 2) drivers/rtc/s3c24x0_rtc.c - ---------------------------- + drivers/rtc/s3c24x0_rtc.c + ------------------------- The driver is standard rtc. Simple conversion is possible. - 3) drivers/rtc/pt7c4338.c - ------------------------- + drivers/rtc/pt7c4338.c + ---------------------- The driver is standard rtc. Simple conversion is possible. - 4) drivers/rtc/mvrtc.c - ---------------------- + drivers/rtc/mvrtc.c + ------------------- The driver is standard rtc. Simple conversion is possible. - 5) drivers/rtc/ftrtc010.c - ------------------------- + drivers/rtc/ftrtc010.c + ---------------------- The driver is standard rtc. Simple conversion is possible. - 6) drivers/rtc/mpc5xxx.c - ------------------------ + drivers/rtc/mpc5xxx.c + --------------------- The driver is standard rtc. Simple conversion is possible. - 7) drivers/rtc/ds164x.c - ----------------------- + drivers/rtc/ds164x.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 8) drivers/rtc/rs5c372.c - ------------------------ + drivers/rtc/rs5c372.c + --------------------- The driver is standard rtc. Simple conversion is possible. - 9) drivers/rtc/m41t94.c - ----------------------- + drivers/rtc/m41t94.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 10) drivers/rtc/mc13xxx-rtc.c - ----------------------------- + drivers/rtc/mc13xxx-rtc.c + ------------------------- The driver is standard rtc. Simple conversion is possible. - 11) drivers/rtc/mcfrtc.c - ------------------------ + drivers/rtc/mcfrtc.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 12) drivers/rtc/davinci.c - ------------------------- + drivers/rtc/davinci.c + --------------------- The driver is standard rtc. Simple conversion is possible. - 13) drivers/rtc/rx8025.c - ------------------------ + drivers/rtc/rx8025.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 14) drivers/rtc/bfin_rtc.c - -------------------------- + drivers/rtc/bfin_rtc.c + ---------------------- The driver is standard rtc. Simple conversion is possible. - 15) drivers/rtc/m41t62.c - ------------------------ + drivers/rtc/m41t62.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 16) drivers/rtc/ds1306.c - ------------------------ + drivers/rtc/ds1306.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 17) drivers/rtc/mpc8xx.c - ------------------------ + drivers/rtc/mpc8xx.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 18) drivers/rtc/ds3231.c - ------------------------ + drivers/rtc/ds3231.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 19) drivers/rtc/ds12887.c - ------------------------- + drivers/rtc/ds12887.c + --------------------- The driver is standard rtc. Simple conversion is possible. - 20) drivers/rtc/ds1302.c - ------------------------ + drivers/rtc/ds1302.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 21) drivers/rtc/ds1374.c - ------------------------ + drivers/rtc/ds1374.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 22) drivers/rtc/ds174x.c - ------------------------ + drivers/rtc/ds174x.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 23) drivers/rtc/m41t60.c - ------------------------ + drivers/rtc/m41t60.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 24) drivers/rtc/m48t35ax.c - -------------------------- + drivers/rtc/m48t35ax.c + ---------------------- The driver is standard rtc. Simple conversion is possible. - 25) drivers/rtc/pl031.c - ----------------------- + drivers/rtc/pl031.c + ------------------- The driver is standard rtc. Simple conversion is possible. - 26) drivers/rtc/x1205.c - ----------------------- + drivers/rtc/x1205.c + ------------------- The driver is standard rtc. Simple conversion is possible. - 27) drivers/rtc/m41t11.c - ------------------------ + drivers/rtc/m41t11.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 28) drivers/rtc/pcf8563.c - ------------------------- + drivers/rtc/pcf8563.c + --------------------- The driver is standard rtc. Simple conversion is possible. - 29) drivers/rtc/mk48t59.c - ------------------------- + drivers/rtc/mk48t59.c + --------------------- Macros needs cleanup. Besides that the driver is standard rtc. Simple conversion is possible. - 30) drivers/rtc/mxsrtc.c - ------------------------ + drivers/rtc/mxsrtc.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 31) drivers/rtc/ds1307.c - ------------------------ + drivers/rtc/ds1307.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 32) drivers/rtc/ds1556.c - ------------------------ + drivers/rtc/ds1556.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 33) drivers/rtc/rtc4543.c - ------------------------- + drivers/rtc/rtc4543.c + --------------------- The driver is standard rtc. Simple conversion is possible. - 34) drivers/rtc/ds1337.c - ------------------------ + drivers/rtc/ds1337.c + -------------------- The driver is standard rtc. Simple conversion is possible. - 35) drivers/rtc/isl1208.c - ------------------------- + drivers/rtc/isl1208.c + --------------------- The driver is standard rtc. Simple conversion is possible. - 36) drivers/rtc/max6900.c - ------------------------- + drivers/rtc/max6900.c + --------------------- The driver is standard rtc. Simple conversion is possible. - 37) drivers/rtc/mc146818.c - -------------------------- + drivers/rtc/mc146818.c + ---------------------- The driver is standard rtc. Simple conversion is possible. - 38) drivers/rtc/at91sam9_rtt.c - ------------------------------ + drivers/rtc/at91sam9_rtt.c + -------------------------- The driver is standard rtc. Simple conversion is possible. diff --git a/doc/driver-model/UDM-serial.txt b/doc/driver-model/UDM-serial.txt index 54f853e0e4..279e941fc0 100644 --- a/doc/driver-model/UDM-serial.txt +++ b/doc/driver-model/UDM-serial.txt @@ -57,119 +57,103 @@ call, with STDIO_CONFIG_SERIAL_BAUDRATE argument. III) Analysis of in-tree drivers -------------------------------- - 1) altera_jtag_uart.c - --------------------- + altera_jtag_uart.c + ------------------ No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 2) altera_uart.c - ---------------- + altera_uart.c + ------------- No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 3) arm_dcc.c - ------------ + arm_dcc.c + --------- No support for CONFIG_SERIAL_MULTI. Simple conversion possible, unless used with CONFIG_ARM_DCC_MULTI. Then it registers another separate IOMUX. - 4) atmel_usart.c - ---------------- + atmel_usart.c + ------------- No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 5) mcfuart.c - ------------ + mcfuart.c + --------- No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 6) ns16550.c - ------------ + ns16550.c + --------- This driver seems complicated and certain consideration will need to be made during conversion. This driver is implemented in very universal manner, therefore it'll be necessary to properly design it's platform_data. - 7) ns9750_serial.c - ------------------ - Unmaintained port. Code got removed. - - 8) opencores_yanu.c - ------------------- + opencores_yanu.c + ---------------- No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 9) s3c4510b_uart.c - ------------------ + sandbox.c + --------- No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 10) sandbox.c - ------------- - No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - - 11) serial.c - ------------ + serial.c + -------- This is a complementary part of NS16550 UART driver, see above. - 12) serial_clps7111.c - --------------------- - No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - - 13) serial_imx.c - ---------------- + serial_imx.c + ------------ No support for CONFIG_SERIAL_MULTI. Simple conversion possible. This driver might be removed in favor of serial_mxc.c . - 14) serial_ixp.c - ---------------- - No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - - 15) serial_ks8695.c - ------------------- + serial_ixp.c + ------------ No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 16) serial_max3100.c - -------------------- + serial_ks8695.c + --------------- No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 17) serial_mxc.c + serial_max3100.c ---------------- No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 18) serial_netarm.c - ------------------- + serial_mxc.c + ------------ No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 19) serial_pl01x.c - ------------------ + serial_pl01x.c + -------------- No support for CONFIG_SERIAL_MULTI. Simple conversion possible, though this driver in fact contains two drivers in total. - 20) serial_pxa.c - ---------------- + serial_pxa.c + ------------ This driver is a bit complicated, but due to clean support for CONFIG_SERIAL_MULTI, there are no expected obstructions throughout the conversion process. - 21) serial_s3c24x0.c - -------------------- + serial_s3c24x0.c + ---------------- This driver, being quite ad-hoc might need some work to bring back to shape. - 22) serial_s5p.c - ---------------- + serial_s5p.c + ------------ No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 23) serial_sa1100.c - ------------------- + serial_sa1100.c + --------------- No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 24) serial_sh.c - --------------- + serial_sh.c + ----------- No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 25) serial_xuartlite.c - ---------------------- + serial_xuartlite.c + ------------------ No support for CONFIG_SERIAL_MULTI. Simple conversion possible. - 26) usbtty.c - ------------ + usbtty.c + -------- This driver seems very complicated and entangled with USB framework. The conversion might be complicated here. - 27) arch/powerpc/cpu/mpc512x/serial.c - ------------------------------------- + arch/powerpc/cpu/mpc512x/serial.c + --------------------------------- This driver supports CONFIG_SERIAL_MULTI. This driver will need to be moved to proper place. diff --git a/doc/driver-model/UDM-spi.txt b/doc/driver-model/UDM-spi.txt index 6e6acc8787..9ba0f841ef 100644 --- a/doc/driver-model/UDM-spi.txt +++ b/doc/driver-model/UDM-spi.txt @@ -103,98 +103,98 @@ II) Approach III) Analysis of in-tree drivers -------------------------------- - 1) altera_spi.c - --------------- + altera_spi.c + ------------ All methods have designated structure. Simple conversion possible. - 2) andes_spi.c - -------------- + andes_spi.c + ----------- All methods have designated structure. Simple conversion possible. - 3) andes_spi.h - -------------- + andes_spi.h + ----------- Support file for andes_spi.c. No conversion is needed. - 4) armada100_spi.c - ------------------ + armada100_spi.c + --------------- All methods have designated structure. Simple conversion possible. - 5) atmel_dataflash_spi.c - ------------------------ + atmel_dataflash_spi.c + --------------------- Wrong placement. Will be moved to another location. - 6) atmel_spi.c - -------------- + atmel_spi.c + ----------- Supports more than one bus. Need some minor change. - 7) atmel_spi.h - -------------- + atmel_spi.h + ----------- Support file for andes_spi.c. No conversion is needed. - 8) bfin_spi.c - ------------- + bfin_spi.c + ---------- Supports more than one bus. Need some minor change. - 9) cf_spi.c - ----------- + cf_spi.c + -------- Cooperate with some cpu specific methods from other files. Hard conversion. - 10) davinci_spi.c - ----------------- + davinci_spi.c + ------------- All methods have designated structure. Simple conversion possible. - 11) davinci_spi.h - ----------------- + davinci_spi.h + ------------- Support file for davinci_spi.h. No conversion is needed. - 12) fsl_espi.c - -------------- + fsl_espi.c + ---------- All methods have designated structure. Simple conversion possible. - 13) kirkwood_spi.c - ------------------ + kirkwood_spi.c + -------------- All methods have designated structure. Simple conversion possible. - 14) mpc8xxx_spi.c - ----------------- + mpc8xxx_spi.c + ------------- All methods have designated structure. Simple conversion possible. - 15) mpc52xx_spi.c - ----------------- + mpc52xx_spi.c + ------------- All methods have designated structure. Simple conversion possible. - 16) mxc_spi.c - ------------- + mxc_spi.c + --------- All methods have designated structure. Simple conversion possible. - 17) mxs_spi.c - ------------- + mxs_spi.c + --------- All methods have designated structure. Simple conversion possible. - 18) oc_tiny_spi.c - ----------------- + oc_tiny_spi.c + ------------- Supports more than one bus. Need some minor change. - 19) omap3_spi.c - --------------- + omap3_spi.c + ----------- Supports more than one bus. Need some minor change. - 20) omap3_spi.h - --------------- + omap3_spi.h + ----------- Support file for omap3_spi.c. No conversion is needed. - 21) sh_spi.c - ------------ + sh_spi.c + -------- All methods have designated structure. Simple conversion possible. - 22) sh_spi.h - ------------ + sh_spi.h + -------- Support file for sh_spi.h. No conversion is needed. - 23) soft_spi.c - -------------- + soft_spi.c + ---------- Use many board specific method linked from other files. Need careful debugging. - 24) tegra2_spi.c - ---------------- + tegra2_spi.c + ------------ Some hardware specific problem when releasing bus. diff --git a/doc/driver-model/UDM-stdio.txt b/doc/driver-model/UDM-stdio.txt index c0b1c90b29..156627b515 100644 --- a/doc/driver-model/UDM-stdio.txt +++ b/doc/driver-model/UDM-stdio.txt @@ -158,21 +158,21 @@ For in-depth analysis of serial port drivers, refer to [ UDM-serial.txt ]. For in-depth analysis of keyboard drivers, refer to [ UDM-keyboard.txt ]. For in-depth analysis of video drivers, refer to [ UDM-video.txt ]. - 1) arch/blackfin/cpu/jtag-console.c - ----------------------------------- + arch/blackfin/cpu/jtag-console.c + -------------------------------- This driver is a classic STDIO driver, no problem with conversion is expected. - 2) board/mpl/pati/pati.c - ------------------------ + board/mpl/pati/pati.c + --------------------- This driver registers with the STDIO framework, though it uses a lot of ad-hoc stuff which will need to be sorted out. - 3) board/netphone/phone_console.c - --------------------------------- + board/netphone/phone_console.c + ------------------------------ This driver is a classic STDIO driver, no problem with conversion is expected. - 4) drivers/net/netconsole.c - --------------------------- + drivers/net/netconsole.c + ------------------------ This driver is a classic STDIO driver, no problem with conversion is expected. IV) Other involved files (To be removed) diff --git a/doc/driver-model/UDM-twserial.txt b/doc/driver-model/UDM-twserial.txt index 289416acde..5f2c5a3d40 100644 --- a/doc/driver-model/UDM-twserial.txt +++ b/doc/driver-model/UDM-twserial.txt @@ -40,8 +40,8 @@ II) Approach III) Analysis of in-tree drivers -------------------------------- - 1) drivers/twserial/soft_tws.c - ------------------------------ + drivers/twserial/soft_tws.c + --------------------------- The driver is the only TWserial driver. The ad-hoc part in include/configs/inka4x0.h and the core soft_tws driver should be consolidated to one compact driver and moved to misc/ . diff --git a/doc/driver-model/UDM-video.txt b/doc/driver-model/UDM-video.txt index 342aeee485..e67e9e41b4 100644 --- a/doc/driver-model/UDM-video.txt +++ b/doc/driver-model/UDM-video.txt @@ -36,39 +36,39 @@ static struct stdio_device_ops handling the character output. III) Analysis of in-tree drivers -------------------------------- - 1) arch/powerpc/cpu/mpc8xx/video.c - ---------------------------------- + arch/powerpc/cpu/mpc8xx/video.c + ------------------------------- This driver copies the cfb_console [ see drivers/video/cfb_console.c ] approach and acts only as a STDIO device. Therefore there are currently two possible approaches, first being the conversion of this driver to usual STDIO device and second, long-term one, being conversion of this driver to video driver that provides console. - 2) arch/x86/lib/video.c - ----------------------- + arch/x86/lib/video.c + -------------------- This driver registers two separate STDIO devices and should be therefore converted as such. - 3) board/bf527-ezkit/video.c - ---------------------------- + board/bf527-ezkit/video.c + ------------------------- This driver seems bogus as it behaves as STDIO device, but provides no input or output capabilities. It relies on DEV_EXT_VIDEO, which is no longer in use or present otherwise than as a dead code/define. - 4) board/bf533-stamp/video.c - ---------------------------- + board/bf533-stamp/video.c + ------------------------- This driver seems bogus as it behaves as STDIO device, but provides no input or output capabilities. It relies on DEV_EXT_VIDEO, which is no longer in use or present otherwise than as a dead code/define. - 5) board/bf548-ezkit/video.c - ---------------------------- + board/bf548-ezkit/video.c + ------------------------- This driver seems bogus as it behaves as STDIO device, but provides no input or output capabilities. It relies on DEV_EXT_VIDEO, which is no longer in use or present otherwise than as a dead code/define. - 6) board/cm-bf548/video.c - ---------------------------- + board/cm-bf548/video.c + ---------------------- This driver seems bogus as it behaves as STDIO device, but provides no input or output capabilities. It relies on DEV_EXT_VIDEO, which is no longer in use or present otherwise than as a dead code/define. diff --git a/doc/driver-model/UDM-watchdog.txt b/doc/driver-model/UDM-watchdog.txt index 7948e59260..3f130635dc 100644 --- a/doc/driver-model/UDM-watchdog.txt +++ b/doc/driver-model/UDM-watchdog.txt @@ -64,266 +64,266 @@ II) Approach III) Analysis of in-tree drivers -------------------------------- - 1) drivers/watchdog/at91sam9_wdt.c - ---------------------------------- + drivers/watchdog/at91sam9_wdt.c + ------------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 2) drivers/watchdog/ftwdt010_wdt.c - ---------------------------------- + drivers/watchdog/ftwdt010_wdt.c + ------------------------------- The driver is ad-hoc HW watchdog. Conversion has to take into account driver parts spread in include/faraday/*. Restructuring the driver and code cleanup has to be considered. - 3) arch/arm/cpu/arm1136/mx31/timer.c - ------------------------------------ + arch/arm/cpu/arm1136/mx31/timer.c + --------------------------------- The driver is semi-standard ad-hoc HW watchdog. Conversion has to take into account driver parts spread in the timer.c file. - 4) arch/arm/cpu/arm926ejs/davinci/timer.c - ----------------------------------------- + arch/arm/cpu/arm926ejs/davinci/timer.c + -------------------------------------- The driver is ad-hoc semi-standard HW watchdog. Conversion has to take into account driver parts spread in the timer.c file. - 5) arch/arm/cpu/armv7/omap-common/hwinit-common.c - ------------------------------------------------- + arch/arm/cpu/armv7/omap-common/hwinit-common.c + ---------------------------------------------- The driver is non-standard ad-hoc HW watchdog. Conversion is possible but functions has to be renamed and constants moved to another places. - 6) arch/arm/cpu/armv7/omap3/board.c - ----------------------------------- + arch/arm/cpu/armv7/omap3/board.c + -------------------------------- The driver is non-standard ad-hoc HW watchdog. Conversion is possible but functions has to be renamed and constants moved to another places. - 7) arch/blackfin/cpu/watchdog.c - ------------------------------- + arch/blackfin/cpu/watchdog.c + ---------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 8) arch/m68k/cpu/mcf523x/cpu.c - ------------------------------ + arch/m68k/cpu/mcf523x/cpu.c + --------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 9) arch/m68k/cpu/mcf52x2/cpu.c - ------------------------------ + arch/m68k/cpu/mcf52x2/cpu.c + --------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 10) arch/m68k/cpu/mcf532x/cpu.c - ------------------------------- + arch/m68k/cpu/mcf532x/cpu.c + --------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 11) arch/m68k/cpu/mcf547x_8x/cpu.c - ---------------------------------- + arch/m68k/cpu/mcf547x_8x/cpu.c + ------------------------------ The driver is standard HW watchdog (there is slight naming convention violation that has to be rectified). Simple conversion is possible. - 12) arch/powerpc/cpu/74xx_7xx/cpu.c - ----------------------------------- + arch/powerpc/cpu/74xx_7xx/cpu.c + ------------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 13) arch/powerpc/cpu/mpc512x/cpu.c - ---------------------------------- + arch/powerpc/cpu/mpc512x/cpu.c + ------------------------------ The driver is standard HW watchdog. Simple conversion is possible. - 14) arch/powerpc/cpu/mpc5xx/cpu.c - --------------------------------- + arch/powerpc/cpu/mpc5xx/cpu.c + ----------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 15) arch/powerpc/cpu/mpc5xxx/cpu.c - ---------------------------------- + arch/powerpc/cpu/mpc5xxx/cpu.c + ------------------------------ The driver is standard HW watchdog. Simple conversion is possible. - 16) arch/powerpc/cpu/mpc8260/cpu.c - ---------------------------------- + arch/powerpc/cpu/mpc8260/cpu.c + ------------------------------ The driver is standard HW watchdog. Simple conversion is possible. - 17) arch/powerpc/cpu/mpc83xx/cpu.c - ---------------------------------- + arch/powerpc/cpu/mpc83xx/cpu.c + ------------------------------ The driver is standard HW watchdog. Simple conversion is possible. - 18) arch/powerpc/cpu/mpc85xx/cpu.c - ---------------------------------- + arch/powerpc/cpu/mpc85xx/cpu.c + ------------------------------ The driver is standard HW watchdog. Simple conversion is possible. - 19) arch/powerpc/cpu/mpc86xx/cpu.c - ---------------------------------- + arch/powerpc/cpu/mpc86xx/cpu.c + ------------------------------ The driver is standard HW watchdog. Simple conversion is possible. - 20) arch/powerpc/cpu/mpc8xx/cpu.c - + arch/powerpc/cpu/mpc8xx/cpu.c + ----------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 21) arch/powerpc/cpu/ppc4xx/cpu.c - --------------------------------- + arch/powerpc/cpu/ppc4xx/cpu.c + ----------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 22) arch/sh/cpu/sh2/watchdog.c - ------------------------------ + arch/sh/cpu/sh2/watchdog.c + -------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 23) arch/sh/cpu/sh3/watchdog.c - ------------------------------ + arch/sh/cpu/sh3/watchdog.c + -------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 24) arch/sh/cpu/sh4/watchdog.c - ------------------------------ + arch/sh/cpu/sh4/watchdog.c + -------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 25) board/amcc/luan/luan.c - -------------------------- + board/amcc/luan/luan.c + ---------------------- The driver is standard HW watchdog. Simple conversion is possible. - 26) board/amcc/yosemite/yosemite.c - ---------------------------------- + board/amcc/yosemite/yosemite.c + ------------------------------ The driver is standard HW watchdog. Simple conversion is possible. - 27) board/apollon/apollon.c - --------------------------- + board/apollon/apollon.c + ----------------------- The driver is standard HW watchdog however the watchdog_init() function is called in early initialization. Simple conversion is possible. - 28) board/bmw/m48t59y.c - ----------------------- + board/bmw/m48t59y.c + ------------------- Special watchdog driver. Dead code. To be removed. - 29) board/davedenx/qong/qong.c - ------------------------------ + board/davedenx/qong/qong.c + -------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 30) board/dvlhost/watchdog.c - ---------------------------- + board/dvlhost/watchdog.c + ------------------------ The driver is standard HW watchdog. Simple conversion is possible. - 31) board/eNET/eNET.c - --------------------- + board/eNET/eNET.c + ----------------- The driver is standard HW watchdog. Simple conversion is possible. - 32) board/eltec/elppc/elppc.c - ----------------------------- + board/eltec/elppc/elppc.c + ------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 33) board/enbw/enbw_cmc/enbw_cmc.c - ---------------------------------- + board/enbw/enbw_cmc/enbw_cmc.c + ------------------------------ Only function proxy call. Code cleanup needed. - 34) board/freescale/mx31pdk/mx31pdk.c - ------------------------------------- + board/freescale/mx31pdk/mx31pdk.c + --------------------------------- Only function proxy call. Code cleanup needed. - 35) board/gth2/gth2.c - --------------------- + board/gth2/gth2.c + ----------------- The driver is standard HW watchdog. Simple conversion is possible. - 36) board/lwmon5/lwmon5.c - ------------------------- + board/lwmon5/lwmon5.c + --------------------- The driver is standard HW watchdog. Simple conversion is possible. - 37) board/manroland/mucmc52/mucmc52.c - ------------------------------------- + board/manroland/mucmc52/mucmc52.c + --------------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 38) board/manroland/uc101/uc101.c - --------------------------------- + board/manroland/uc101/uc101.c + ----------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 39) board/mousse/m48t59y.c - -------------------------- + board/mousse/m48t59y.c + ---------------------- Special watchdog driver. Dead code. To be removed. - 40) board/mvblue/mvblue.c - ------------------------- + board/mvblue/mvblue.c + --------------------- The driver is standard HW watchdog. Simple conversion is possible. - 41) board/netphone/netphone.c - ----------------------------- + board/netphone/netphone.c + ------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 42) board/netta/netta.c - ----------------------- + board/netta/netta.c + ------------------- The driver is standard HW watchdog. Simple conversion is possible. - 43) board/netta2/netta2.c - ------------------------- + board/netta2/netta2.c + --------------------- The driver is standard HW watchdog. Simple conversion is possible. - 44) board/omicron/calimain/calimain.c - ------------------------------------- + board/omicron/calimain/calimain.c + --------------------------------- Only function proxy call. Code cleanup needed. - 46) board/pcs440ep/pcs440ep.c - ----------------------------- + board/pcs440ep/pcs440ep.c + ------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 47) board/stx/stxxtc/stxxtc.c - ----------------------------- + board/stx/stxxtc/stxxtc.c + ------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 48) board/ti/omap2420h4/omap2420h4.c - ------------------------------------ + board/ti/omap2420h4/omap2420h4.c + -------------------------------- The driver is standard HW watchdog. Simple conversion is possible. - 49) board/ttcontrol/vision2/vision2.c - ------------------------------------- + board/ttcontrol/vision2/vision2.c + --------------------------------- The driver is standard HW watchdog but namespace is polluted by non-standard macros. Simple conversion is possible, code cleanup needed. - 50) board/v38b/v38b.c - --------------------- + board/v38b/v38b.c + ----------------- The driver is standard HW watchdog. Simple conversion is possible. - 51) board/ve8313/ve8313.c - ------------------------- + board/ve8313/ve8313.c + --------------------- The driver is standard HW watchdog. Simple conversion is possible. - 52) board/w7o/watchdog.c - ------------------------ + board/w7o/watchdog.c + -------------------- The driver is standard HW watchdog. Simple conversion is possible. diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile index 1165793b5e..b903c45c52 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -30,3 +30,4 @@ obj-$(CONFIG_S3C2440_GPIO) += s3c2440_gpio.o obj-$(CONFIG_XILINX_GPIO) += xilinx_gpio.o obj-$(CONFIG_ADI_GPIO2) += adi_gpio2.o obj-$(CONFIG_TCA642X) += tca642x.o +oby-$(CONFIG_SX151X) += sx151x.o diff --git a/drivers/gpio/sx151x.c b/drivers/gpio/sx151x.c new file mode 100644 index 0000000000..167cf40c71 --- /dev/null +++ b/drivers/gpio/sx151x.c @@ -0,0 +1,242 @@ +/* + * (C) Copyright 2013 + * Viktar Palstsiuk, Promwad, viktar.palstsiuk@promwad.com + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +/* + * Driver for Semtech SX151x SPI GPIO Expanders + */ + +#include +#include +#include + +#ifndef CONFIG_SX151X_SPI_BUS +#define CONFIG_SX151X_SPI_BUS 0 +#endif + +/* + * The SX151x registers + */ + +#ifdef CONFIG_SX151X_GPIO_COUNT_8 +/* 8bit: SX1511 */ +#define SX151X_REG_DIR 0x07 +#define SX151X_REG_DATA 0x08 +#else +/* 16bit: SX1512 */ +#define SX151X_REG_DIR 0x0F +#define SX151X_REG_DATA 0x11 +#endif +#define SX151X_REG_RESET 0x7D + +static int sx151x_spi_write(int chip, unsigned char reg, unsigned char val) +{ + struct spi_slave *slave; + unsigned char buf[2]; + int ret; + + slave = spi_setup_slave(CONFIG_SX151X_SPI_BUS, chip, 1000000, + SPI_MODE_0); + if (!slave) + return 0; + + spi_claim_bus(slave); + + buf[0] = reg; + buf[1] = val; + + ret = spi_xfer(slave, 16, buf, NULL, SPI_XFER_BEGIN | SPI_XFER_END); + if (ret < 0) + printf("spi%d.%d write fail: can't write %02x to %02x: %d\n", + CONFIG_SX151X_SPI_BUS, chip, val, reg, ret); + else + printf("spi%d.%d write 0x%02x to register 0x%02x\n", + CONFIG_SX151X_SPI_BUS, chip, val, reg); + spi_release_bus(slave); + spi_free_slave(slave); + + return ret; +} + +static int sx151x_spi_read(int chip, unsigned char reg) +{ + struct spi_slave *slave; + int ret; + + slave = spi_setup_slave(CONFIG_SX151X_SPI_BUS, chip, 1000000, + SPI_MODE_0); + if (!slave) + return 0; + + spi_claim_bus(slave); + + ret = spi_w8r8(slave, reg | 0x80); + if (ret < 0) + printf("spi%d.%d read fail: can't read %02x: %d\n", + CONFIG_SX151X_SPI_BUS, chip, reg, ret); + else + printf("spi%d.%d read register 0x%02x: 0x%02x\n", + CONFIG_SX151X_SPI_BUS, chip, reg, ret); + + spi_release_bus(slave); + spi_free_slave(slave); + + return ret; +} + +static inline void sx151x_find_cfg(int gpio, unsigned char *reg, unsigned char *mask) +{ + *reg -= gpio / 8; + *mask = 1 << (gpio % 8); +} + +static int sx151x_write_cfg(int chip, unsigned char gpio, unsigned char reg, int val) +{ + unsigned char mask; + unsigned char data; + int ret; + + sx151x_find_cfg(gpio, ®, &mask); + ret = sx151x_spi_read(chip, reg); + if (ret < 0) + return ret; + else + data = ret; + data &= ~mask; + data |= (val << (gpio % 8)) & mask; + return sx151x_spi_write(chip, reg, data); +} + +int sx151x_get_value(int chip, int gpio) +{ + unsigned char reg = SX151X_REG_DATA; + unsigned char mask; + int ret; + + sx151x_find_cfg(gpio, ®, &mask); + ret = sx151x_spi_read(chip, reg); + if (ret >= 0) + ret = (ret & mask) != 0 ? 1 : 0; + + return ret; +} + +int sx151x_set_value(int chip, int gpio, int val) +{ + return sx151x_write_cfg(chip, gpio, SX151X_REG_DATA, (val ? 1 : 0)); +} + +int sx151x_direction_input(int chip, int gpio) +{ + return sx151x_write_cfg(chip, gpio, SX151X_REG_DIR, 1); +} + +int sx151x_direction_output(int chip, int gpio) +{ + return sx151x_write_cfg(chip, gpio, SX151X_REG_DIR, 0); +} + +int sx151x_reset(int chip) +{ + int err; + + err = sx151x_spi_write(chip, SX151X_REG_RESET, 0x12); + if (err < 0) + return err; + + err = sx151x_spi_write(chip, SX151X_REG_RESET, 0x34); + return err; +} + +#ifdef CONFIG_CMD_SX151X + +int do_sx151x(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +{ + int ret = CMD_RET_USAGE, chip = 0, gpio = 0, val = 0; + + if (argc < 3) + return CMD_RET_USAGE; + + /* arg2 used as chip number */ + chip = simple_strtoul(argv[2], NULL, 10); + + if (strcmp(argv[1], "reset") == 0) { + ret = sx151x_reset(chip); + if (!ret) { + printf("Device at spi%d.%d was reset\n", + CONFIG_SX151X_SPI_BUS, chip); + } + return ret; + } + + if (argc < 4) + return CMD_RET_USAGE; + + /* arg3 used as gpio number */ + gpio = simple_strtoul(argv[3], NULL, 10); + + if (strcmp(argv[1], "get") == 0) { + ret = sx151x_get_value(chip, gpio); + if (ret < 0) + printf("Failed to get value at spi%d.%d gpio %d\n", + CONFIG_SX151X_SPI_BUS, chip, gpio); + else { + printf("Value at spi%d.%d gpio %d is %d\n", + CONFIG_SX151X_SPI_BUS, chip, gpio, ret); + ret = 0; + } + return ret; + } + + if (argc < 5) + return CMD_RET_USAGE; + + /* arg4 used as value or direction */ + val = simple_strtoul(argv[4], NULL, 10); + + if (strcmp(argv[1], "set") == 0) { + ret = sx151x_set_value(chip, gpio, val); + if (ret < 0) + printf("Failed to set value at spi%d.%d gpio %d\n", + CONFIG_SX151X_SPI_BUS, chip, gpio); + else + printf("New value at spi%d.%d gpio %d is %d\n", + CONFIG_SX151X_SPI_BUS, chip, gpio, val); + return ret; + } else if (strcmp(argv[1], "dir") == 0) { + if (val == 0) + ret = sx151x_direction_output(chip, gpio); + else + ret = sx151x_direction_input(chip, gpio); + + if (ret < 0) + printf("Failed to set direction of spi%d.%d gpio %d\n", + CONFIG_SX151X_SPI_BUS, chip, gpio); + else + printf("New direction of spi%d.%d gpio %d is %d\n", + CONFIG_SX151X_SPI_BUS, chip, gpio, val); + return ret; + } + + printf("Please see usage\n"); + + return ret; +} + +U_BOOT_CMD( + sx151x, 5, 1, do_sx151x, + "sx151x gpio access", + "dir chip gpio 0|1\n" + " - set gpio direction (0 for output, 1 for input)\n" + "sx151x get chip gpio\n" + " - get gpio value\n" + "sx151x set chip gpio 0|1\n" + " - set gpio value\n" + "sx151x reset chip\n" + " - reset chip" +); + +#endif /* CONFIG_CMD_SX151X */ diff --git a/drivers/hwmon/ds1722.c b/drivers/hwmon/ds1722.c index a46cd4dfb5..c46958846c 100644 --- a/drivers/hwmon/ds1722.c +++ b/drivers/hwmon/ds1722.c @@ -1,4 +1,3 @@ - #include #include #include diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index df8ab07b94..65c747e14b 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -184,7 +184,9 @@ static void nc_send_packet(const char *buf, int len) return; /* inside net loop */ output_packet = buf; output_packet_len = len; + input_recursion = 1; NetLoop(NETCONS); /* wait for arp reply and send packet */ + input_recursion = 0; output_packet_len = 0; return; } diff --git a/drivers/net/npe/include/IxAtmdAcc.h b/drivers/net/npe/include/IxAtmdAcc.h index 291b662151..b37c615029 100644 --- a/drivers/net/npe/include/IxAtmdAcc.h +++ b/drivers/net/npe/include/IxAtmdAcc.h @@ -1,4 +1,3 @@ - /** * @file IxAtmdAcc.h * diff --git a/drivers/net/npe/include/IxAtmdAccCtrl.h b/drivers/net/npe/include/IxAtmdAccCtrl.h index 1a696b0e66..ecbb0059f5 100644 --- a/drivers/net/npe/include/IxAtmdAccCtrl.h +++ b/drivers/net/npe/include/IxAtmdAccCtrl.h @@ -1,4 +1,3 @@ - /** * @file IxAtmdAccCtrl.h * diff --git a/drivers/serial/mxs_auart.c b/drivers/serial/mxs_auart.c index 7cfe5bccf7..fc0fa96a0e 100644 --- a/drivers/serial/mxs_auart.c +++ b/drivers/serial/mxs_auart.c @@ -40,7 +40,7 @@ static struct mxs_uartapp_regs *get_uartapp_registers(void) * Sets the baud rate and settings. * The settings are: 8 data bits, no parit and 1 stop bit. */ -void mxs_auart_setbrg(void) +static void mxs_auart_setbrg(void) { u32 div; u32 linectrl = 0; @@ -77,7 +77,7 @@ void mxs_auart_setbrg(void) writel(linectrl, ®s->hw_uartapp_linectrl); } -int mxs_auart_init(void) +static int mxs_auart_init(void) { struct mxs_uartapp_regs *regs = get_uartapp_registers(); /* Reset everything */ @@ -99,7 +99,7 @@ int mxs_auart_init(void) return 0; } -void mxs_auart_putc(const char c) +static void mxs_auart_putc(const char c) { struct mxs_uartapp_regs *regs = get_uartapp_registers(); /* Wait in loop while the transmit FIFO is full */ @@ -112,14 +112,14 @@ void mxs_auart_putc(const char c) mxs_auart_putc('\r'); } -int mxs_auart_tstc(void) +static int mxs_auart_tstc(void) { struct mxs_uartapp_regs *regs = get_uartapp_registers(); /* Checks if receive FIFO is empty */ return !(readl(®s->hw_uartapp_stat) & UARTAPP_STAT_RXFE_MASK); } -int mxs_auart_getc(void) +static int mxs_auart_getc(void) { struct mxs_uartapp_regs *regs = get_uartapp_registers(); /* Wait until a character is available to read */ diff --git a/drivers/serial/serial_s5p.c b/drivers/serial/serial_s5p.c index f98b422632..89f5d68dd0 100644 --- a/drivers/serial/serial_s5p.c +++ b/drivers/serial/serial_s5p.c @@ -65,7 +65,7 @@ static const int udivslot[] = { 0xffdf, }; -void serial_setbrg_dev(const int dev_index) +static void serial_setbrg_dev(const int dev_index) { struct s5p_uart *const uart = s5p_get_base_uart(dev_index); u32 uclk = get_uart_clk(dev_index); @@ -96,7 +96,7 @@ void serial_setbrg_dev(const int dev_index) * Initialise the serial port with the given baudrate. The settings * are always 8 data bits, no parity, 1 stop bit, no start bits. */ -int serial_init_dev(const int dev_index) +static int serial_init_dev(const int dev_index) { struct s5p_uart *const uart = s5p_get_base_uart(dev_index); @@ -138,7 +138,7 @@ static int serial_err_check(const int dev_index, int op) * otherwise. When the function is succesfull, the character read is * written into its argument c. */ -int serial_getc_dev(const int dev_index) +static int serial_getc_dev(const int dev_index) { struct s5p_uart *const uart = s5p_get_base_uart(dev_index); @@ -158,7 +158,7 @@ int serial_getc_dev(const int dev_index) /* * Output a single byte to the serial port. */ -void serial_putc_dev(const char c, const int dev_index) +static void serial_putc_dev(const char c, const int dev_index) { struct s5p_uart *const uart = s5p_get_base_uart(dev_index); @@ -181,7 +181,7 @@ void serial_putc_dev(const char c, const int dev_index) /* * Test whether a character is in the RX buffer */ -int serial_tstc_dev(const int dev_index) +static int serial_tstc_dev(const int dev_index) { struct s5p_uart *const uart = s5p_get_base_uart(dev_index); @@ -191,7 +191,7 @@ int serial_tstc_dev(const int dev_index) return (int)(readl(&uart->utrstat) & 0x1); } -void serial_puts_dev(const char *s, const int dev_index) +static void serial_puts_dev(const char *s, const int dev_index) { while (*s) serial_putc_dev(*s++, dev_index); @@ -199,12 +199,12 @@ void serial_puts_dev(const char *s, const int dev_index) /* Multi serial device functions */ #define DECLARE_S5P_SERIAL_FUNCTIONS(port) \ -int s5p_serial##port##_init(void) { return serial_init_dev(port); } \ -void s5p_serial##port##_setbrg(void) { serial_setbrg_dev(port); } \ -int s5p_serial##port##_getc(void) { return serial_getc_dev(port); } \ -int s5p_serial##port##_tstc(void) { return serial_tstc_dev(port); } \ -void s5p_serial##port##_putc(const char c) { serial_putc_dev(c, port); } \ -void s5p_serial##port##_puts(const char *s) { serial_puts_dev(s, port); } +static int s5p_serial##port##_init(void) { return serial_init_dev(port); } \ +static void s5p_serial##port##_setbrg(void) { serial_setbrg_dev(port); } \ +static int s5p_serial##port##_getc(void) { return serial_getc_dev(port); } \ +static int s5p_serial##port##_tstc(void) { return serial_tstc_dev(port); } \ +static void s5p_serial##port##_putc(const char c) { serial_putc_dev(c, port); } \ +static void s5p_serial##port##_puts(const char *s) { serial_puts_dev(s, port); } #define INIT_S5P_SERIAL_STRUCTURE(port, __name) { \ .name = __name, \ diff --git a/drivers/serial/serial_xuartlite.c b/drivers/serial/serial_xuartlite.c index 9c1d025c40..e6139943ba 100644 --- a/drivers/serial/serial_xuartlite.c +++ b/drivers/serial/serial_xuartlite.c @@ -39,7 +39,7 @@ static struct uartlite *userial_ports[4] = { #endif }; -void uartlite_serial_putc(const char c, const int port) +static void uartlite_serial_putc(const char c, const int port) { struct uartlite *regs = userial_ports[port]; @@ -51,13 +51,13 @@ void uartlite_serial_putc(const char c, const int port) out_be32(®s->tx_fifo, c & 0xff); } -void uartlite_serial_puts(const char *s, const int port) +static void uartlite_serial_puts(const char *s, const int port) { while (*s) uartlite_serial_putc(*s++, port); } -int uartlite_serial_getc(const int port) +static int uartlite_serial_getc(const int port) { struct uartlite *regs = userial_ports[port]; @@ -66,7 +66,7 @@ int uartlite_serial_getc(const int port) return in_be32(®s->rx_fifo) & 0xff; } -int uartlite_serial_tstc(const int port) +static int uartlite_serial_tstc(const int port) { struct uartlite *regs = userial_ports[port]; @@ -82,16 +82,16 @@ static int uartlite_serial_init(const int port) /* Multi serial device functions */ #define DECLARE_ESERIAL_FUNCTIONS(port) \ - int userial##port##_init(void) \ + static int userial##port##_init(void) \ { return uartlite_serial_init(port); } \ - void userial##port##_setbrg(void) {} \ - int userial##port##_getc(void) \ + static void userial##port##_setbrg(void) {} \ + static int userial##port##_getc(void) \ { return uartlite_serial_getc(port); } \ - int userial##port##_tstc(void) \ + static int userial##port##_tstc(void) \ { return uartlite_serial_tstc(port); } \ - void userial##port##_putc(const char c) \ + static void userial##port##_putc(const char c) \ { uartlite_serial_putc(c, port); } \ - void userial##port##_puts(const char *s) \ + static void userial##port##_puts(const char *s) \ { uartlite_serial_puts(s, port); } /* Serial device descriptor */ diff --git a/examples/standalone/82559_eeprom.c b/examples/standalone/82559_eeprom.c index 8dd7079ae7..c253055c0f 100644 --- a/examples/standalone/82559_eeprom.c +++ b/examples/standalone/82559_eeprom.c @@ -1,4 +1,3 @@ - /* * Copyright 1998-2001 by Donald Becker. * This software may be used and distributed according to the terms of diff --git a/fs/fat/fat_write.c b/fs/fat/fat_write.c index b7a21e05bf..9f5e911852 100644 --- a/fs/fat/fat_write.c +++ b/fs/fat/fat_write.c @@ -57,7 +57,7 @@ static void set_name(dir_entry *dirent, const char *filename) if (len == 0) return; - memcpy(s_name, filename, len); + strcpy(s_name, filename); uppercase(s_name, len); period = strchr(s_name, '.'); diff --git a/include/at45.h b/include/at45.h index e7e3711e3b..df649ba971 100644 --- a/include/at45.h +++ b/include/at45.h @@ -1,4 +1,3 @@ - #ifndef _AT45_H_ #define _AT45_H_ #ifdef CONFIG_DATAFLASH_MMC_SELECT diff --git a/include/commproc.h b/include/commproc.h index 6959905efe..c10a79c839 100644 --- a/include/commproc.h +++ b/include/commproc.h @@ -20,7 +20,6 @@ #ifndef __CPM_8XX__ #define __CPM_8XX__ -#include #include /* CPM Command register. diff --git a/include/config_fallbacks.h b/include/config_fallbacks.h index 46dfccb82e..3633b09aa9 100644 --- a/include/config_fallbacks.h +++ b/include/config_fallbacks.h @@ -48,6 +48,7 @@ defined(CONFIG_CMD_SCSI) || \ defined(CONFIG_CMD_USB) || \ defined(CONFIG_CMD_PART) || \ + defined(CONFIG_CMD_GPT) || \ defined(CONFIG_MMC) || \ defined(CONFIG_SYSTEMACE) #define HAVE_BLOCK_DEVICE diff --git a/include/configs/EP88x.h b/include/configs/EP88x.h deleted file mode 100644 index e6d1385aaa..0000000000 --- a/include/configs/EP88x.h +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (C) 2005 Arabella Software Ltd. - * Yuli Barcohen - * - * Support for Embedded Planet EP88x boards. - * Tested on EP88xC with MPC885 CPU, 64MB SDRAM and 16MB flash. - * - * SPDX-License-Identifier: GPL-2.0+ - */ -#ifndef __CONFIG_H -#define __CONFIG_H - -#define CONFIG_MPC885 - -#define CONFIG_EP88X /* Embedded Planet EP88x board */ - -#define CONFIG_SYS_TEXT_BASE 0xFC000000 - -#define CONFIG_BOARD_EARLY_INIT_F /* Call board_early_init_f */ - -/* Allow serial number (serial#) and MAC address (ethaddr) to be overwritten */ -#define CONFIG_ENV_OVERWRITE - -#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */ -#define CONFIG_BAUDRATE 38400 - -#define CONFIG_ETHER_ON_FEC1 /* Enable Ethernet on FEC1 */ -#define CONFIG_ETHER_ON_FEC2 /* Enable Ethernet on FEC2 */ -#if defined(CONFIG_ETHER_ON_FEC1) || defined(CONFIG_ETHER_ON_FEC2) -#define CONFIG_SYS_DISCOVER_PHY -#define CONFIG_MII_INIT 1 -#define FEC_ENET -#endif /* CONFIG_FEC_ENET */ - -#define CONFIG_8xx_OSCLK 10000000 /* 10 MHz oscillator on EXTCLK */ -#define CONFIG_8xx_CPUCLK_DEFAULT 100000000 -#define CONFIG_SYS_8xx_CPUCLK_MIN 40000000 -#define CONFIG_SYS_8xx_CPUCLK_MAX 133000000 - -/* - * BOOTP options - */ -#define CONFIG_BOOTP_BOOTFILESIZE -#define CONFIG_BOOTP_BOOTPATH -#define CONFIG_BOOTP_GATEWAY -#define CONFIG_BOOTP_HOSTNAME - - -/* - * Command line configuration. - */ -#include - -#define CONFIG_CMD_DHCP -#define CONFIG_CMD_IMMAP -#define CONFIG_CMD_MII -#define CONFIG_CMD_PING - - -#define CONFIG_BOOTDELAY 5 /* Autoboot after 5 seconds */ -#define CONFIG_BOOTCOMMAND "bootm fe060000" /* Autoboot command */ -#define CONFIG_BOOTARGS "root=/dev/mtdblock1 rw mtdparts=phys:2M(ROM)ro,-(root)" - -#define CONFIG_BZIP2 /* Include support for bzip2 compressed images */ -#undef CONFIG_WATCHDOG /* Disable platform specific watchdog */ - -/*----------------------------------------------------------------------- - * Miscellaneous configurable options - */ -#define CONFIG_SYS_HUSH_PARSER -#define CONFIG_SYS_LONGHELP /* #undef to save memory */ -#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) /* Print Buffer Size */ -#define CONFIG_SYS_MAXARGS 16 /* Max number of command args */ -#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ - -#define CONFIG_SYS_LOAD_ADDR 0x400000 /* Default load address */ - -/*----------------------------------------------------------------------- - * RAM configuration (note that CONFIG_SYS_SDRAM_BASE must be zero) - */ -#define CONFIG_SYS_SDRAM_BASE 0x00000000 -#define CONFIG_SYS_SDRAM_MAX_SIZE 0x08000000 /* Up to 128 Mbyte */ - -#define CONFIG_SYS_MAMR 0x00805000 - -/* - * 4096 Up to 4096 SDRAM rows - * 1000 factor s -> ms - * 32 PTP (pre-divider from MPTPR) - * 4 Number of refresh cycles per period - * 64 Refresh cycle in ms per number of rows - */ -#define CONFIG_SYS_PTA_PER_CLK ((4096 * 32 * 1000) / (4 * 64)) - -#define CONFIG_SYS_MEMTEST_START 0x00100000 /* memtest works on */ -#define CONFIG_SYS_MEMTEST_END 0x00500000 /* 1 ... 5 MB in SDRAM */ - -#define CONFIG_SYS_RESET_ADDRESS 0x09900000 - -/*----------------------------------------------------------------------- - * For booting Linux, the board info and command line data - * have to be in the first 8 MB of memory, since this is - * the maximum mapped by the Linux kernel during initialization. - */ -#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ - -#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE -#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 KB for Monitor */ -#ifdef CONFIG_BZIP2 -#define CONFIG_SYS_MALLOC_LEN (4096 << 10) /* Reserve ~4 MB for malloc() */ -#else -#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 KB for malloc() */ -#endif /* CONFIG_BZIP2 */ - -/*----------------------------------------------------------------------- - * Flash organisation - */ -#define CONFIG_SYS_FLASH_BASE 0xFC000000 -#define CONFIG_SYS_FLASH_CFI /* The flash is CFI compatible */ -#define CONFIG_FLASH_CFI_DRIVER /* Use common CFI driver */ -#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* Max number of flash banks */ -#define CONFIG_SYS_MAX_FLASH_SECT 512 /* Max num of sects on one chip */ - -/* Environment is in flash */ -#define CONFIG_ENV_IS_IN_FLASH -#define CONFIG_ENV_SECT_SIZE 0x20000 /* We use one complete sector */ -#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) - -#define CONFIG_SYS_OR0_PRELIM 0xFC000160 -#define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE | BR_PS_32 | BR_MS_GPCM | BR_V) - -#define CONFIG_SYS_DIRECT_FLASH_TFTP - -/*----------------------------------------------------------------------- - * BCSR - */ -#define CONFIG_SYS_OR3_PRELIM 0xFF0005B0 -#define CONFIG_SYS_BR3_PRELIM (0xFA000000 |BR_PS_16 | BR_MS_GPCM | BR_V) - -#define CONFIG_SYS_BCSR 0xFA400000 - -/*----------------------------------------------------------------------- - * Internal Memory Map Register - */ -#define CONFIG_SYS_IMMR 0xF0000000 - -/*----------------------------------------------------------------------- - * Definitions for initial stack pointer and data area (in DPRAM) - */ -#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR -#define CONFIG_SYS_INIT_RAM_SIZE 0x2F00 /* Size of used area in DPRAM */ -#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) -#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET - -/*----------------------------------------------------------------------- - * Configuration registers - */ -#ifdef CONFIG_WATCHDOG -#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | \ - SYPCR_SWF | SYPCR_SWE | SYPCR_SWRI | \ - SYPCR_SWP) -#else -#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | \ - SYPCR_SWF | SYPCR_SWP) -#endif /* CONFIG_WATCHDOG */ - -#define CONFIG_SYS_SIUMCR (SIUMCR_MLRC01 | SIUMCR_DBGC11) - -/* TBSCR - Time Base Status and Control Register */ -#define CONFIG_SYS_TBSCR (TBSCR_TBF | TBSCR_TBE) - -/* PISCR - Periodic Interrupt Status and Control */ -#define CONFIG_SYS_PISCR PISCR_PS - -/* SCCR - System Clock and reset Control Register */ -#define SCCR_MASK SCCR_EBDF11 -#define CONFIG_SYS_SCCR SCCR_RTSEL - -#define CONFIG_SYS_DER 0 - -/*----------------------------------------------------------------------- - * Cache Configuration - */ -#define CONFIG_SYS_CACHELINE_SIZE 16 /* For all MPC8xx chips */ - -#endif /* __CONFIG_H */ diff --git a/include/configs/highbank.h b/include/configs/highbank.h index 44a8f931bc..b86eb430a1 100644 --- a/include/configs/highbank.h +++ b/include/configs/highbank.h @@ -82,7 +82,7 @@ #define CONFIG_RESET_TO_RETRY #define CONFIG_AUTOBOOT_KEYED #define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds...\nPress to stop or to delay\n", bootdelay - +#define CONFIG_AUTOBOOT_KEYED_CTRLC /* * Miscellaneous configurable options */ diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h index 279abbcae5..0884ad3a02 100644 --- a/include/configs/sandbox.h +++ b/include/configs/sandbox.h @@ -16,6 +16,8 @@ #endif +#define CONFIG_SYS_TIMER_RATE 1000000 + #define CONFIG_BOOTSTAGE #define CONFIG_BOOTSTAGE_REPORT @@ -44,6 +46,10 @@ #define CONFIG_SANDBOX_GPIO #define CONFIG_SANDBOX_GPIO_COUNT 20 +#define CONFIG_CMD_GPT +#define CONFIG_PARTITION_UUIDS +#define CONFIG_EFI_PARTITION + /* * Size of malloc() pool, although we don't actually use this yet. */ diff --git a/include/linux/config.h b/include/linux/config.h deleted file mode 100644 index a0194cb7c7..0000000000 --- a/include/linux/config.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _LINUX_CONFIG_H -#define _LINUX_CONFIG_H - -/* #include */ - -#endif diff --git a/include/linux/linkage.h b/include/linux/linkage.h index 9ddf830284..39c712eac5 100644 --- a/include/linux/linkage.h +++ b/include/linux/linkage.h @@ -10,7 +10,6 @@ #define _LINUX_LINKAGE_H #include -#include #ifdef __cplusplus #define CPP_ASMLINKAGE extern "C" diff --git a/include/linux/types.h b/include/linux/types.h index f07ba41b72..9aebc4e8cf 100644 --- a/include/linux/types.h +++ b/include/linux/types.h @@ -1,10 +1,6 @@ #ifndef _LINUX_TYPES_H #define _LINUX_TYPES_H -#ifdef __KERNEL__ -#include -#endif - #include #include #include diff --git a/include/sx151x.h b/include/sx151x.h new file mode 100644 index 0000000000..be42b0681b --- /dev/null +++ b/include/sx151x.h @@ -0,0 +1,17 @@ +/* + * (C) Copyright 2013 + * Viktar Palstsiuk, Promwad, viktar.palstsiuk@promwad.com + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __SX151X_H_ +#define __SX151X_H_ + +int sx151x_get_value(int chip, int gpio); +int sx151x_set_value(int chip, int gpio, int val); +int sx151x_direction_input(int chip, int gpio); +int sx151x_direction_output(int chip, int gpio); +int sx151x_reset(int chip); + +#endif /* __SX151X_H_ */ diff --git a/include/video_font_4x6.h b/include/video_font_4x6.h index 0dcd2debcb..6aeed092ad 100644 --- a/include/video_font_4x6.h +++ b/include/video_font_4x6.h @@ -1,4 +1,3 @@ - /* Hand composed "Minuscule" 4x6 font, with binary data generated using * Perl stub. * diff --git a/lib/hashtable.c b/lib/hashtable.c index c5a2b08bec..4356b234ec 100644 --- a/lib/hashtable.c +++ b/lib/hashtable.c @@ -564,7 +564,7 @@ static int match_entry(ENTRY *ep, int flag, int arg; void *priv = NULL; - for (arg = 1; arg < argc; ++arg) { + for (arg = 0; arg < argc; ++arg) { #ifdef CONFIG_REGEX struct slre slre; diff --git a/lib/time.c b/lib/time.c index 8361ddd69b..111b493a42 100644 --- a/lib/time.c +++ b/lib/time.c @@ -37,7 +37,7 @@ unsigned long notrace timer_read_counter(void) #endif } #else -extern unsigned long timer_read_counter(void); +extern unsigned long __weak timer_read_counter(void); #endif unsigned long long __weak notrace get_ticks(void) diff --git a/mkconfig b/mkconfig index 1d06c8ebfe..40db991008 100755 --- a/mkconfig +++ b/mkconfig @@ -96,17 +96,11 @@ fi # if [ "$SRCTREE" != "$OBJTREE" ] ; then mkdir -p ${OBJTREE}/include - mkdir -p ${OBJTREE}/include2 - cd ${OBJTREE}/include2 - rm -f asm - ln -s ${SRCTREE}/arch/${arch}/include/asm asm LNPREFIX=${SRCTREE}/arch/${arch}/include/asm/ - cd ../include + cd ${OBJTREE}/include mkdir -p asm else - cd ./include - rm -f asm - ln -s ../arch/${arch}/include/asm asm + cd arch/${arch}/include fi rm -f asm/arch @@ -122,6 +116,10 @@ if [ "${arch}" = "arm" ] ; then ln -s ${LNPREFIX}proc-armv asm/proc fi +if [ "$SRCTREE" = "$OBJTREE" ] ; then + cd ${SRCTREE}/include +fi + # # Create include file for Make # diff --git a/tools/Makefile b/tools/Makefile index ca76f947e5..14d94e39a0 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -160,7 +160,7 @@ NOPEDOBJS := $(addprefix $(obj),$(NOPED_OBJ_FILES-y)) # HOSTCPPFLAGS = -include $(SRCTREE)/include/libfdt_env.h \ -idirafter $(SRCTREE)/include \ - -idirafter $(OBJTREE)/include2 \ + -idirafter $(SRCTREE)/arch/$(ARCH)/include \ -idirafter $(OBJTREE)/include \ -I $(SRCTREE)/lib/libfdt \ -I $(SRCTREE)/tools \ diff --git a/tools/env/Makefile b/tools/env/Makefile index 14d131b7b8..27892f74d0 100644 --- a/tools/env/Makefile +++ b/tools/env/Makefile @@ -14,7 +14,7 @@ HEADERS := fw_env.h $(OBJTREE)/include/config.h # Compile for a hosted environment on the target HOSTCPPFLAGS = -idirafter $(SRCTREE)/include \ - -idirafter $(OBJTREE)/include2 \ + -idirafter $(SRCTREE)/arch/$(ARCH)/include \ -idirafter $(OBJTREE)/include \ -idirafter $(SRCTREE)/tools/env \ -DUSE_HOSTCC \ diff --git a/tools/imls/Makefile b/tools/imls/Makefile index e371983275..b045df2df0 100644 --- a/tools/imls/Makefile +++ b/tools/imls/Makefile @@ -37,7 +37,7 @@ LIBFDT_OBJS := $(addprefix $(obj),$(LIBFDT_OBJ_FILES-y)) # Define __KERNEL_STRICT_NAMES to prevent typedef overlaps # HOSTCPPFLAGS = -idirafter $(SRCTREE)/include \ - -idirafter $(OBJTREE)/include2 \ + -idirafter $(SRCTREE)/arch/$(ARCH)/include \ -idirafter $(OBJTREE)/include \ -I $(SRCTREE)/lib/libfdt \ -I $(SRCTREE)/tools \