arm: omap: Unify get_device_type() function
authorSemen Protsenko <semen.protsenko@linaro.org>
Fri, 2 Jun 2017 15:00:00 +0000 (18:00 +0300)
committerTom Rini <trini@konsulko.com>
Sat, 10 Jun 2017 00:34:53 +0000 (20:34 -0400)
commit00bbe96ebabbc83777cd8d6c6fd2791c5c8cf619
tree8f26bd4c25b2a971e1068daefcb2477ae74a5ad3
parentf2d78c1cedfc58fe469ea45fa67c7dfbb91bcc52
arm: omap: Unify get_device_type() function

Refactor OMAP3/4/5 code so that we have only one get_device_type()
function for all platforms.

Details:
 - Add ctrl variable for AM33xx and OMAP3 platforms (like it's done for
   OMAP4/5), so we can obtain status register in common way
 - For now ctrl structure for AM33xx/OMAP3 contains only status register
   address
 - Run hw_data_init() in order to assign ctrl to proper structure
 - Remove DEVICE_MASK and DEVICE_GP definitions as they are not used
   (DEVICE_TYPE_MASK and GP_DEVICE are used instead)
 - Guard structs in omap_common.h with #ifdefs, because otherwise
   including omap_common.h on non-omap4/5 board files breaks compilation

Buildman script was run for all OMAP boards. Result output:
    arm: (for 38/616 boards)
        all +352.5
        bss -1.4
        data +3.5
        rodata +300.0
        spl/u-boot-spl:all +284.7
        spl/u-boot-spl:data +2.2
        spl/u-boot-spl:rodata +252.0
        spl/u-boot-spl:text +30.5
        text +50.4
    (no errors to report)

Tested on AM57x EVM and BeagleBoard xM.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
[trini: Rework the guards as to not break TI81xx]
Signed-off-by: Tom Rini <trini@konsulko.com>
21 files changed:
arch/arm/include/asm/arch-am33xx/cpu.h
arch/arm/include/asm/arch-am33xx/omap.h
arch/arm/include/asm/arch-omap3/omap.h
arch/arm/include/asm/arch-omap4/omap.h
arch/arm/include/asm/arch-omap5/omap.h
arch/arm/include/asm/omap_common.h
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/am33xx/Makefile
arch/arm/mach-omap2/am33xx/board.c
arch/arm/mach-omap2/am33xx/hw_data.c [new file with mode: 0644]
arch/arm/mach-omap2/am33xx/prcm-regs.c [new file with mode: 0644]
arch/arm/mach-omap2/am33xx/sys_info.c
arch/arm/mach-omap2/hwinit-common.c
arch/arm/mach-omap2/omap3/Makefile
arch/arm/mach-omap2/omap3/board.c
arch/arm/mach-omap2/omap3/hw_data.c [new file with mode: 0644]
arch/arm/mach-omap2/omap3/prcm-regs.c [new file with mode: 0644]
arch/arm/mach-omap2/omap3/sys_info.c
arch/arm/mach-omap2/sysinfo-common.c [new file with mode: 0644]
board/ti/am335x/board.c
board/ti/am43xx/board.c