Skip to contentSkip to conversation

omap cleanup part1 for v3.2 merge window

GIT PULL New Tony Lindgren 3 participants 16 messages Sep 17, 2011 – Sep 30, 2011

Subsystems (3)
lore
Share & tools
lore

Tony Lindgren

author maintainer
#0 lore raw

Hi Arnd,

Please pull the first part of omap cleanup from:

git://github.com/tmlind/linux.git cleanup

This series cleans up early_init functions and removes CHIP_IS macro usage. This makes it easier to have SoC specific init functions so adding support for new omap variants does not require patching all over the place.

Regards,

Tony

The following changes since commit b6fd41e29dea9c6753b1843a77e50433e6123bcb:
Linus Torvalds (1):

        Linux 3.1-rc6

are available in the git repository at:

git://github.com/tmlind/linux.git cleanup

Paul Walmsley (12):
OMAP3: id: remove identification codes that only correspond to marketing names
OMAP3: id: remove useless strcpy()s
OMAP3: id: use explicit omap_revision codes for 3505/3517 ES levels
OMAP3: id: add fallthrough warning; fix some CodingStyle issues
OMAP3: id: remove duplicate code for testing SoC ES level OMAP2+: id: remove OMAP_REVBITS_* macros
OMAP: clockdomain: split clkdm_init()
OMAP: clockdomain code/data: remove omap_chip bitmask from struct clockdomain
OMAP: powerdomain: split pwrdm_init() into two functions
OMAP: powerdomain: remove omap_chip bitmasks
OMAP2+: hwmod: remove OMAP_CHIP*
OMAP: id: remove OMAP_CHIP declarations, code

Tony Lindgren (4):
omap2+: Use Kconfig symbol in Makefile instead of obj-y
ARM: OMAP: Move omap2_init_common_devices out of init_early
ARM: OMAP: Introduce SoC specific early_init
Merge branch 'omap_chip_remove_cleanup_3.2' of git://git.pwsan.com/linux-2.6 into cleanup

 arch/arm/mach-omap2/Makefile                     |   81 +--
 arch/arm/mach-omap2/board-2430sdp.c              |    9 +-
 arch/arm/mach-omap2/board-3430sdp.c              |    9 +-
 arch/arm/mach-omap2/board-3630sdp.c              |   11 +-
 arch/arm/mach-omap2/board-4430sdp.c              |    9 +-
 arch/arm/mach-omap2/board-am3517crane.c          |    9 +-
 arch/arm/mach-omap2/board-am3517evm.c            |    8 +-
 arch/arm/mach-omap2/board-apollon.c              |    9 +-
 arch/arm/mach-omap2/board-cm-t35.c               |   13 +-
 arch/arm/mach-omap2/board-cm-t3517.c             |    9 +-
 arch/arm/mach-omap2/board-devkit8000.c           |   12 +-
 arch/arm/mach-omap2/board-generic.c              |    2 +-
 arch/arm/mach-omap2/board-h4.c                   |    9 +-
 arch/arm/mach-omap2/board-igep0020.c             |   13 +-
 arch/arm/mach-omap2/board-ldp.c                  |    9 +-
 arch/arm/mach-omap2/board-n8x0.c                 |   13 +-
 arch/arm/mach-omap2/board-omap3beagle.c          |    4 +-
 arch/arm/mach-omap2/board-omap3evm.c             |    9 +-
 arch/arm/mach-omap2/board-omap3logic.c           |   11 +-
 arch/arm/mach-omap2/board-omap3pandora.c         |   11 +-
 arch/arm/mach-omap2/board-omap3stalker.c         |    9 +-
 arch/arm/mach-omap2/board-omap3touchbook.c       |   11 +-
 arch/arm/mach-omap2/board-omap4panda.c           |    9 +-
 arch/arm/mach-omap2/board-overo.c                |   11 +-
 arch/arm/mach-omap2/board-rm680.c                |   17 +-
 arch/arm/mach-omap2/board-rx51.c                 |   17 +-
 arch/arm/mach-omap2/board-ti8168evm.c            |    9 +-
 arch/arm/mach-omap2/board-zoom.c                 |   23 +-
 arch/arm/mach-omap2/clock3xxx_data.c             |   11 +-
 arch/arm/mach-omap2/clockdomain.c                |  147 +++--
 arch/arm/mach-omap2/clockdomain.h                |   22 +-
 arch/arm/mach-omap2/clockdomain2xxx_3xxx.c       |    4 -
 arch/arm/mach-omap2/clockdomain44xx.c            |    2 -
 arch/arm/mach-omap2/clockdomains2420_data.c      |  154 +++++
 arch/arm/mach-omap2/clockdomains2430_data.c      |  181 +++++
 arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c |  803 +---------------------
 arch/arm/mach-omap2/clockdomains3xxx_data.c      |  398 +++++++++++
 arch/arm/mach-omap2/clockdomains44xx_data.c      |  409 +++---------
 arch/arm/mach-omap2/id.c                         |  191 ++----
 arch/arm/mach-omap2/io.c                         |   52 ++-
 arch/arm/mach-omap2/omap_hwmod.c                 |    3 -
 arch/arm/mach-omap2/omap_hwmod_2420_data.c       |   37 -
 arch/arm/mach-omap2/omap_hwmod_2430_data.c       |   45 --
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c       |  169 +++---
 arch/arm/mach-omap2/omap_hwmod_44xx_data.c       |   82 ---
 arch/arm/mach-omap2/powerdomain-common.c         |    7 +-
 arch/arm/mach-omap2/powerdomain.c                |   87 ++-
 arch/arm/mach-omap2/powerdomain.h                |    9 +-
 arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c |   19 +-
 arch/arm/mach-omap2/powerdomains2xxx_data.c      |   44 +-
 arch/arm/mach-omap2/powerdomains3xxx_data.c      |   81 ++-
 arch/arm/mach-omap2/powerdomains44xx_data.c      |   20 +-
 arch/arm/plat-omap/include/plat/clock.h          |    2 -
 arch/arm/plat-omap/include/plat/common.h         |    9 +
 arch/arm/plat-omap/include/plat/cpu.h            |  108 +---
 arch/arm/plat-omap/include/plat/io.h             |    2 +-
 arch/arm/plat-omap/include/plat/omap_hwmod.h     |    2 -
 57 files changed, 1430 insertions(+), 2036 deletions(-)
 create mode 100644 arch/arm/mach-omap2/clockdomains2420_data.c
 create mode 100644 arch/arm/mach-omap2/clockdomains2430_data.c
 create mode 100644 arch/arm/mach-omap2/clockdomains3xxx_data.c
#1 lore raw
Quoted 8 lines · Tony Lindgren

Please pull the first part of omap cleanup from:

git://github.com/tmlind/linux.git cleanup

This series cleans up early_init functions and removes CHIP_IS macro usage. This makes it easier to have SoC specific init functions so adding support for new omap variants does not require patching all over the place.

Thanks, pulled.

Note that we are trying to get everyone to use the similar prefixes for patch summaries, so it would be nice if you could change 'OMAP: powerdomain:' to 'ARM: OMAP: powerdomain' or 'ARM: omap/powerdowmain:' in the future.

Arnd

author maintainer
#2 lore raw
Quoted 10 lines · Arnd Bergmann
Quoted 8 lines · Tony Lindgren

Please pull the first part of omap cleanup from:

git://github.com/tmlind/linux.git cleanup

This series cleans up early_init functions and removes CHIP_IS macro usage. This makes it easier to have SoC specific init functions so adding support for new omap variants does not require patching all over the place.

Quoted 6 lines

Thanks, pulled.

Note that we are trying to get everyone to use the similar prefixes for patch summaries, so it would be nice if you could change 'OMAP: powerdomain:' to 'ARM: OMAP: powerdomain' or 'ARM: omap/powerdowmain:' in the future.

Already did that for my patches.. Paul and Kevin, can you please also start following that standard too?

Thanks,

Tony

#3 lore raw
In reply to Tony Lindgren
Quoted 10 lines · Tony Lindgren

Hi Arnd,

Please pull the first part of omap cleanup from:

git://github.com/tmlind/linux.git cleanup

This series cleans up early_init functions and removes CHIP_IS macro usage. This makes it easier to have SoC specific init functions so adding support for new omap variants does not require patching all over the place.

One more thing: my randconfig tests are running now and have spit out a new error after merging lost of stuff today:

arch/arm/mach-omap2/built-in.o: In function `omap_zoom_init':
/home/arnd/linux-arm/arch/arm/mach-omap2/board-zoom.c:117: undefined reference to `board_nand_init' make[1]: *** [.tmp_vmlinux1] Error 1
make[1]: Target `_all' not remade because of errors.
make: *** [sub-make] Error 2
make: Target `_all' not remade because of errors.

It's not clear to me if this is actually caused by one of your changes, or just a mismerge of some sort. I've attached the defconfig that was used for your reference.

Also, I've got a branch with lots of omap specific randconfig patches at

git://git.linaro.org/people/arnd/linux.git randconfig/omap

Probably not all of them are correct, but it would be nice if you could take a look and cherry-pick the ones you like.

Arnd
-------------- next part --------------
A non-text attachment was scrubbed...
Name: defconfig.gz
Type: application/x-gzip
Size: 2750 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110920/28f35e27/attachment.gz>

#4 lore raw
Quoted 16 lines · Arnd Bergmann
Quoted 10 lines · Tony Lindgren

Hi Arnd,

Please pull the first part of omap cleanup from:

git://github.com/tmlind/linux.git cleanup

This series cleans up early_init functions and removes CHIP_IS macro usage. This makes it easier to have SoC specific init functions so adding support for new omap variants does not require patching all over the place.

One more thing: my randconfig tests are running now and have spit out a new error after merging lost of stuff today:

Quoted 6 lines

arch/arm/mach-omap2/built-in.o: In function `omap_zoom_init':
/home/arnd/linux-arm/arch/arm/mach-omap2/board-zoom.c:117: undefined reference to `board_nand_init' make[1]: *** [.tmp_vmlinux1] Error 1
make[1]: Target `_all' not remade because of errors.
make: *** [sub-make] Error 2
make: Target `_all' not remade because of errors.

Found it: the offending patch is:

omap2+: Use Kconfig symbol in Makefile instead of obj-y

It seems that you replace the #ifdef in the board-flash.c file with a similar #ifdef in the header that replaces this with an empty inline function when the object is not built.

Arnd

author maintainer
#5 lore raw
Quoted 5 lines · Arnd Bergmann
Quoted 4 lines · Arnd Bergmann

One more thing: my randconfig tests are running now and have spit out a new error after merging lost of stuff today:

Good to hear you got "arndconfig" running :)

Do you think we could also add support for something like this:

$ echo CONFIG_ARCH_OMAP=y > .config
$ make randconfig

or

$ make --force=CONFIG_ARCH_OMAP randconfig

Where randconfig would keep the forced CONFIG_ARCH_OMAP static while randomly selecting the others?

This would allow targeted randconfig for each patch more or less..

Quoted 7 lines
Quoted 6 lines

arch/arm/mach-omap2/built-in.o: In function `omap_zoom_init':
/home/arnd/linux-arm/arch/arm/mach-omap2/board-zoom.c:117: undefined reference to `board_nand_init' make[1]: *** [.tmp_vmlinux1] Error 1
make[1]: Target `_all' not remade because of errors.
make: *** [sub-make] Error 2
make: Target `_all' not remade because of errors.

Quoted 8 lines

Found it: the offending patch is:

omap2+: Use Kconfig symbol in Makefile instead of obj-y

It seems that you replace the #ifdef in the board-flash.c file with a similar #ifdef in the header that replaces this with an empty inline function when the object is not built.

Oops. I'll do a fix for that. Those should be now inline functions in the header.

As various other omap branches are based on the cleanup I'd rather not go mess with the original patch unless you insist.

Regards,

Tony

#6 lore raw
Quoted 17 lines · On Tuesday 20 September 2011 15:33:12 Tony Lindgren wrote:
Quoted 5 lines · Arnd Bergmann
Quoted 4 lines · Arnd Bergmann

One more thing: my randconfig tests are running now and have spit out a new error after merging lost of stuff today:

Good to hear you got "arndconfig" running :)

Do you think we could also add support for something like this:

$ echo CONFIG_ARCH_OMAP=y > .config
$ make randconfig

or

Quoted 7 lines
$ make --force=CONFIG_ARCH_OMAP randconfig

Where randconfig would keep the forced CONFIG_ARCH_OMAP static while randomly selecting the others?

This would allow targeted randconfig for each patch more or less..

The mechanism I use is setting KCONFIG_ALLCONFIG= to a file that has the options I want to have set to a specific value.

If you don't do that, randconfig will take the default option for each 'choice' statement, which means we build for the ARCH_VERSATILE platform.

See the script I'm using at the end of this mail. It should be easy for you to pick out the parts you need.

Quoted 9 lines
Quoted 3 lines

It seems that you replace the #ifdef in the board-flash.c file with a similar #ifdef in the header that replaces this with an empty inline function when the object is not built.

Oops. I'll do a fix for that. Those should be now inline functions in the header.

As various other omap branches are based on the cleanup I'd rather not go mess with the original patch unless you insist.

Totally fine with me. This is just a corner case anyway, since most configurations will have flash enabled I guess.

Arnd

8<---
#!/bin/bash

export ARCH=arm
export PATH=/usr/bin:/bin
export CROSS_COMPILE=arm-linux-gnueabihf-
export PARALLEL=-j6
export CCACHE_DISABLE=1
export O=$PWD/obj-tmp

gen_allconfig()

{
        declare -a MACH
	MACH[1]=OMAP
	MACH[2]=EXYNOS4
	MACH[3]=U8500
	MACH[4]=VEXPRESS
	MACH[5]=MXC
	MACH[6]=MSM
	MACH[7]=PXA
	MACH[8]=MMP
	MACH[9]=DOVE
	MACH[10]=KIRKWOOD
	MACH[11]=ZYNQ
	MACH[12]=PRIMA2
	MACH[13]=TEGRA
	MACH[14]=SHMOBILE

        declare -a MXC
        MXC[1]=MX3
        MXC[2]=MX503
        MXC[3]=MX51

        declare -a AT91
        AT91[1]=ARCH_AT91RM9200
        AT91[2]=ARCH_AT91SAM9260
        AT91[3]=ARCH_AT91SAM9261
        AT91[4]=ARCH_AT91SAM9G10
        AT91[5]=ARCH_AT91SAM9263
        AT91[6]=ARCH_AT91SAM9RL
        AT91[7]=ARCH_AT91SAM9G20
        AT91[8]=ARCH_AT91SAM9G45
        AT91[9]=ARCH_AT91CAP9
        AT91[10]=ARCH_AT91X40

	  # pick one ARCH_* option from the main choice statement
        echo "CONFIG_ARCH_${MACH[$[ $RANDOM % ${#MACH[@]} +1 ]]}=y"

	  # IMX and AT91 have another choice statement
        echo "CONFIG_ARCH_${MXC[$[ $RANDOM % ${#MXC[@]} +1 ]]}=y"
        echo "CONFIG_${MXC[$[ $RANDOM % ${#AT91[@]} +1 ]]}=y"

	  # These have to be fixed in order to avoid huge build breakage.
        echo "# CONFIG_XIP_KERNEL is not set"
        echo "# CONFIG_STAGING is not set"
        echo "CONFIG_MMU=y"
        echo "CONFIG_PREVENT_FIRMWARE_BUILD=y"

        # add a few choice options that don't normally get selected
        [ $[RANDOM % 2 ] == 1 ] || echo "CONFIG_PROFILE_ALL_BRANCHES=y"
        [ $[RANDOM % 2 ] == 1 ] || echo "CONFIG_SLAB=y"
        [ $[RANDOM % 2 ] == 1 ] || echo "CONFIG_PREEMPT=y"
}

prepare()

{
        mkdir -p ${O}
        make O=${O} clean
        gen_allconfig > ${O}/allconfig
        make O=${O} KCONFIG_ALLCONFIG=${O}/allconfig randconfig
}

mkdir -p out
prepare
for i in seq -w 9999 ; do

        if ! make O=${O} -k -s ${PARALLEL} CFLAGS_KERNEL+=-Wno-uninitialized KALLSYMS_EXTRA_PASS=1 2> out/warnings-$i ; then
                make O=${O} -k -s CFLAGS_KERNEL+=-Wno-uninitialized KALLSYMS_EXTRA_PASS=1 2> out/errors-$i
                cp ${O}/.config out/config-broken-$i
        else
                cp ${O}/.config out/config-ok-$i
        fi
        prepare

done

author maintainer
#7 lore raw
Quoted 29 lines · Arnd Bergmann
Quoted 17 lines · On Tuesday 20 September 2011 15:33:12 Tony Lindgren wrote:
Quoted 5 lines · Arnd Bergmann
Quoted 4 lines · Arnd Bergmann

One more thing: my randconfig tests are running now and have spit out a new error after merging lost of stuff today:

Good to hear you got "arndconfig" running :)

Do you think we could also add support for something like this:

$ echo CONFIG_ARCH_OMAP=y > .config
$ make randconfig

or

Quoted 7 lines
$ make --force=CONFIG_ARCH_OMAP randconfig

Where randconfig would keep the forced CONFIG_ARCH_OMAP static while randomly selecting the others?

This would allow targeted randconfig for each patch more or less..

The mechanism I use is setting KCONFIG_ALLCONFIG= to a file that has the options I want to have set to a specific value.

Quoted 6 lines

If you don't do that, randconfig will take the default option for each 'choice' statement, which means we build for the ARCH_VERSATILE platform.

See the script I'm using at the end of this mail. It should be easy for you to pick out the parts you need.

Thanks will take a look at that for sure.

Tony

#8 lore raw
In reply to Arnd Bergmann
Quoted 3 lines · On Tuesday 20 September 2011 23:46:11 Arnd Bergmann wrote:

It seems that you replace the #ifdef in the board-flash.c file with a similar #ifdef in the header that replaces this with an empty inline function when the object is not built.

Found another similar problem over night, presumably in the voltage series:

arch/arm/mach-omap2/built-in.o: In function `pwrdm_register_pwrdms':
twl-common.c:(.text+0x5e20): undefined reference to voltdm_lookup' twl-common.c:(.text+0x5e40): undefined reference to voltdm_add_pwrdm' arch/arm/mach-omap2/built-in.o: In function `omap2_init_common_infrastructure':
twl-common.c:(.init.text+0x3a4): undefined reference to omap2xxx_voltagedomains_init' twl-common.c:(.init.text+0x3c8): undefined reference to omap3xxx_voltagedomains_init' arch/arm/mach-omap2/built-in.o: In function `omap2_set_init_voltage':
twl-common.c:(.init.text+0x13c8): undefined reference to voltdm_lookup' arch/arm/mach-omap2/built-in.o: In function omap3_twl_init':
twl-common.c:(.init.text+0x1f44): undefined reference to voltdm_lookup' twl-common.c:(.init.text+0x1f4c): undefined reference to voltdm_lookup'

Arnd

author maintainer
#9 lore raw

Kevin,

Quoted 8 lines · Arnd Bergmann
Quoted 3 lines · On Tuesday 20 September 2011 23:46:11 Arnd Bergmann wrote:

It seems that you replace the #ifdef in the board-flash.c file with a similar #ifdef in the header that replaces this with an empty inline function when the object is not built.

Found another similar problem over night, presumably in the voltage series:

Quoted 11 lines

arch/arm/mach-omap2/built-in.o: In function `pwrdm_register_pwrdms':
twl-common.c:(.text+0x5e20): undefined reference to voltdm_lookup' twl-common.c:(.text+0x5e40): undefined reference to voltdm_add_pwrdm' arch/arm/mach-omap2/built-in.o: In function `omap2_init_common_infrastructure':
twl-common.c:(.init.text+0x3a4): undefined reference to omap2xxx_voltagedomains_init' twl-common.c:(.init.text+0x3c8): undefined reference to omap3xxx_voltagedomains_init' arch/arm/mach-omap2/built-in.o: In function `omap2_set_init_voltage':
twl-common.c:(.init.text+0x13c8): undefined reference to voltdm_lookup' arch/arm/mach-omap2/built-in.o: In function omap3_twl_init':
twl-common.c:(.init.text+0x1f44): undefined reference to voltdm_lookup' twl-common.c:(.init.text+0x1f4c): undefined reference to voltdm_lookup'

Can you take a look at this one?

Tony

#10 lore raw
In reply to Arnd Bergmann

Hi Arnd,

Quoted 8 lines · Arnd Bergmann
Quoted 3 lines · On Tuesday 20 September 2011 23:46:11 Arnd Bergmann wrote:

It seems that you replace the #ifdef in the board-flash.c file with a similar #ifdef in the header that replaces this with an empty inline function when the object is not built.

Found another similar problem over night, presumably in the voltage series:

Found. Patch below.

If this one is OK, I'll push to my for_3.2/voltage-cleanup branch (which is already pulled into arm-soc/next/voltage) so just re-pulling will pick up the fix.

Kevin

#11 lore raw
Quoted 5 lines · Kevin Hilman

Found. Patch below.

If this one is OK, I'll push to my for_3.2/voltage-cleanup branch (which is already pulled into arm-soc/next/voltage) so just re-pulling will pick up the fix.

Looks good to me, it's always nice when a bug fix is also a cleanup ;-)

Arnd

#12 lore raw
Quoted 9 lines · Arnd Bergmann
Quoted 5 lines · Kevin Hilman

Found. Patch below.

If this one is OK, I'll push to my for_3.2/voltage-cleanup branch (which is already pulled into arm-soc/next/voltage) so just re-pulling will pick up the fix.

Looks good to me, it's always nice when a bug fix is also a cleanup ;-)

OK, added it to the branch you've already pulled[1], if you (re)pull, you'll get the fix too.

Thanks,

Kevin

[1] git://gitorious.org/khilman/linux-omap-pm.git for_3.2/voltage_cleanup

author maintainer
#13 lore raw
In reply to Kevin Hilman

Arnd,

Quoted 10 lines · Kevin Hilman

Hi Arnd,

Quoted 6 lines · Arnd Bergmann
Quoted 3 lines · On Tuesday 20 September 2011 23:46:11 Arnd Bergmann wrote:

It seems that you replace the #ifdef in the board-flash.c file with a similar #ifdef in the header that replaces this with an empty inline function when the object is not built.

Quoted 8 lines
Quoted 2 lines

Found another similar problem over night, presumably in the voltage series:

Found. Patch below.

If this one is OK, I'll push to my for_3.2/voltage-cleanup branch (which is already pulled into arm-soc/next/voltage) so just re-pulling will pick up the fix.

Arnd, care to pull this in directly from Kevin into voltage branch? It's available at:

git://gitorious.org/khilman/linux-omap-pm for_3.2/voltage-cleanup

Regards,

Tony

Quoted 77 lines

From 473dc975c3ea468049732155467ff08fe3701f98 Mon Sep 17 00:00:00 2001
From: Kevin Hilman <[email protected]>
Date: Wed, 21 Sep 2011 09:24:53 -0700
Subject: [PATCH] ARM: OMAP: voltage layer present, even when CONFIG_PM=n

Even when CONFIG_PM=n, we try to scale the boot voltage to a sane, known value using OPP table to find matching voltage based on boot frequency. This should be done, even when CONFIG_PM=n to avoid mis-configured bootloaders and/or boot voltage assumptions made by boot loaders.

Also fixes various compile problems due to depenencies between voltage domain and powerdomain code (also present when CONFIG_PM=n).

---
Compile tested with CONFIG_PM=n
Applies to arm-soc/next/voltage

 arch/arm/mach-omap2/Makefile  |    2 --
 arch/arm/mach-omap2/voltage.h |   14 --------------
 2 files changed, 0 insertions(+), 16 deletions(-)
arch/arm/mach-omap2/Makefile +0 -2
index 8bd389d..5129785 100644
@@ -89,7 +89,6 @@ obj-$(CONFIG_ARCH_OMAP4)		+= prcm.o cm2xxx_3xxx.o cminst44xx.o \
 					   vp44xx_data.o
 
 # OMAP voltage domains
-ifeq ($(CONFIG_PM),y)
 voltagedomain-common			:= voltage.o vc.o vp.o
 obj-$(CONFIG_ARCH_OMAP2)		+= $(voltagedomain-common) \
 					   voltagedomains2xxx_data.o
@@ -97,7 +96,6 @@ obj-$(CONFIG_ARCH_OMAP3)		+= $(voltagedomain-common) \
 					   voltagedomains3xxx_data.o
 obj-$(CONFIG_ARCH_OMAP4)		+= $(voltagedomain-common) \
 					   voltagedomains44xx_data.o
-endif
 
 # OMAP powerdomain framework
 powerdomain-common			+= powerdomain.o powerdomain-common.o
arch/arm/mach-omap2/voltage.h +0 -14
index 4c09809..16a1b09 100644
@@ -148,25 +148,11 @@ void omap_voltage_get_volttable(struct voltagedomain *voltdm,
 		struct omap_volt_data **volt_data);
 struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
 		unsigned long volt);
-#ifdef CONFIG_PM
 int omap_voltage_register_pmic(struct voltagedomain *voltdm,
 			       struct omap_voltdm_pmic *pmic);
 void omap_change_voltscale_method(struct voltagedomain *voltdm,
 		int voltscale_method);
 int omap_voltage_late_init(void);
-#else
-static inline int omap_voltage_register_pmic(struct voltagedomain *voltdm,
-					     struct omap_voltdm_pmic *pmic)
-{
-	return -EINVAL;
-}
-static inline  void omap_change_voltscale_method(struct voltagedomain *voltdm,
-		int voltscale_method) {}
-static inline int omap_voltage_late_init(void)
-{
-	return -EINVAL;
-}
-#endif
 
 extern void omap2xxx_voltagedomains_init(void);
 extern void omap3xxx_voltagedomains_init(void);
Signature · 1 line
1.7.6
#14 lore raw
Quoted 9 lines · Tony Lindgren
Quoted 4 lines

If this one is OK, I'll push to my for_3.2/voltage-cleanup branch (which is already pulled into arm-soc/next/voltage) so just re-pulling will pick up the fix.

Arnd, care to pull this in directly from Kevin into voltage branch? It's available at:

git://gitorious.org/khilman/linux-omap-pm for_3.2/voltage-cleanup

Applied, thanks for taking care of this!

Arnd

author maintainer
#15 lore raw

PATCH 1/1 ARM: OMAP2+: Fix missing inline functions for Makefile cleanup (Re: [GIT PULL] omap cleanup part1 for v3.2 merge window)

In reply to Arnd Bergmann

Commit f41caddbe73f52a42f529d668ce47b4d693fd2c0 (omap2+: Use Kconfig symbol in Makefile instead of obj-y) cleaned up the omap2+ Makefile. However this did not account for the inline functions that are now needed for board_flash_init and board_nand_init.

---

Will have this in the next pull request for cleanup

arch/arm/mach-omap2/board-flash.c +0 -5
@@ -148,11 +148,6 @@ __init board_nand_init(struct mtd_partition *nand_parts,
 	board_nand_data.gpmc_irq = OMAP_GPMC_IRQ_BASE + cs;
 	gpmc_nand_init(&board_nand_data);
 }
-#else
-void
-__init board_nand_init(struct mtd_partition *nand_parts, u8 nr_parts, u8 cs, int nand_type)
-{
-}
 #endif /* CONFIG_MTD_NAND_OMAP2 || CONFIG_MTD_NAND_OMAP2_MODULE */
 
 /**
arch/arm/mach-omap2/board-flash.h +19 -0
@@ -24,7 +24,26 @@ struct flash_partitions {
 	int nr_parts;
 };
 
+#if defined(CONFIG_MTD_NAND_OMAP2) || \
+		defined(CONFIG_MTD_NAND_OMAP2_MODULE) || \
+		defined(CONFIG_MTD_ONENAND_OMAP2) || \
+		defined(CONFIG_MTD_ONENAND_OMAP2_MODULE)
 extern void board_flash_init(struct flash_partitions [],
 				char chip_sel[][GPMC_CS_NUM], int nand_type);
+#else
+static inline void board_flash_init(struct flash_partitions part[],
+				char chip_sel[][GPMC_CS_NUM], int nand_type)
+{
+}
+#endif
+
+#if defined(CONFIG_MTD_NAND_OMAP2) || \
+		defined(CONFIG_MTD_NAND_OMAP2_MODULE)
 extern void board_nand_init(struct mtd_partition *nand_parts,
 					u8 nr_parts, u8 cs, int nand_type);
+#else
+static inline void board_nand_init(struct mtd_partition *nand_parts,
+					u8 nr_parts, u8 cs, int nand_type)
+{
+}
+#endif