2020-05-27 17:53:12

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] ARM: davinci: fix build failure without I2C

The two supplies are referenced outside of #ifdef CONFIG_I2C but
defined inside, which breaks the build if that is not built-in:

mach-davinci/board-dm644x-evm.c:861:21: error: use of undeclared identifier 'fixed_supplies_1_8v'
ARRAY_SIZE(fixed_supplies_1_8v), 1800000);
^
mach-davinci/board-dm644x-evm.c:861:21: error: use of undeclared identifier 'fixed_supplies_1_8v'
mach-davinci/board-dm644x-evm.c:861:21: error: use of undeclared identifier 'fixed_supplies_1_8v'
mach-davinci/board-dm644x-evm.c:860:49: error: use of undeclared identifier 'fixed_supplies_1_8v'
regulator_register_always_on(0, "fixed-dummy", fixed_supplies_1_8v,

I don't know if the regulators are used anywhere without I2C, but
always registering them seems to be the safe choice here.

On a related note, it might be best to also deal with CONFIG_I2C=m
across the file, unless this is going to be moved to DT and removed
really soon anyway.

Fixes: 5e06d19694a4 ("ARM: davinci: dm644x-evm: Add Fixed regulators needed for tlv320aic33")
Signed-off-by: Arnd Bergmann <[email protected]>
---
arch/arm/mach-davinci/board-dm644x-evm.c | 26 ++++++++++++------------
1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
index 3461d12bbfc0..a5d3708fedf6 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -655,19 +655,6 @@ static struct i2c_board_info __initdata i2c_info[] = {
},
};

-/* Fixed regulator support */
-static struct regulator_consumer_supply fixed_supplies_3_3v[] = {
- /* Baseboard 3.3V: 5V -> TPS54310PWP -> 3.3V */
- REGULATOR_SUPPLY("AVDD", "1-001b"),
- REGULATOR_SUPPLY("DRVDD", "1-001b"),
-};
-
-static struct regulator_consumer_supply fixed_supplies_1_8v[] = {
- /* Baseboard 1.8V: 5V -> TPS54310PWP -> 1.8V */
- REGULATOR_SUPPLY("IOVDD", "1-001b"),
- REGULATOR_SUPPLY("DVDD", "1-001b"),
-};
-
#define DM644X_I2C_SDA_PIN GPIO_TO_PIN(2, 12)
#define DM644X_I2C_SCL_PIN GPIO_TO_PIN(2, 11)

@@ -700,6 +687,19 @@ static void __init evm_init_i2c(void)
}
#endif

+/* Fixed regulator support */
+static struct regulator_consumer_supply fixed_supplies_3_3v[] = {
+ /* Baseboard 3.3V: 5V -> TPS54310PWP -> 3.3V */
+ REGULATOR_SUPPLY("AVDD", "1-001b"),
+ REGULATOR_SUPPLY("DRVDD", "1-001b"),
+};
+
+static struct regulator_consumer_supply fixed_supplies_1_8v[] = {
+ /* Baseboard 1.8V: 5V -> TPS54310PWP -> 1.8V */
+ REGULATOR_SUPPLY("IOVDD", "1-001b"),
+ REGULATOR_SUPPLY("DVDD", "1-001b"),
+};
+
#define VENC_STD_ALL (V4L2_STD_NTSC | V4L2_STD_PAL)

/* venc standard timings */
--
2.26.2


2020-06-02 09:21:08

by Peter Ujfalusi

[permalink] [raw]
Subject: Re: [PATCH] ARM: davinci: fix build failure without I2C

Hi Arnd,

On Wednesday, 27 May 2020 16.37.34 EEST Arnd Bergmann wrote:
> The two supplies are referenced outside of #ifdef CONFIG_I2C but
> defined inside, which breaks the build if that is not built-in:
>
> mach-davinci/board-dm644x-evm.c:861:21: error: use of undeclared identifier 'fixed_supplies_1_8v'
> ARRAY_SIZE(fixed_supplies_1_8v), 1800000);
> ^
> mach-davinci/board-dm644x-evm.c:861:21: error: use of undeclared identifier 'fixed_supplies_1_8v'
> mach-davinci/board-dm644x-evm.c:861:21: error: use of undeclared identifier 'fixed_supplies_1_8v'
> mach-davinci/board-dm644x-evm.c:860:49: error: use of undeclared identifier 'fixed_supplies_1_8v'
> regulator_register_always_on(0, "fixed-dummy", fixed_supplies_1_8v,
>
> I don't know if the regulators are used anywhere without I2C, but
> always registering them seems to be the safe choice here.

Thanks for fixing this,
Reviewed-by: Peter Ujfalusi <[email protected]>

> On a related note, it might be best to also deal with CONFIG_I2C=m
> across the file, unless this is going to be moved to DT and removed
> really soon anyway.
>
> Fixes: 5e06d19694a4 ("ARM: davinci: dm644x-evm: Add Fixed regulators needed for tlv320aic33")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> arch/arm/mach-davinci/board-dm644x-evm.c | 26 ++++++++++++------------
> 1 file changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
> index 3461d12bbfc0..a5d3708fedf6 100644
> --- a/arch/arm/mach-davinci/board-dm644x-evm.c
> +++ b/arch/arm/mach-davinci/board-dm644x-evm.c
> @@ -655,19 +655,6 @@ static struct i2c_board_info __initdata i2c_info[] = {
> },
> };
>
> -/* Fixed regulator support */
> -static struct regulator_consumer_supply fixed_supplies_3_3v[] = {
> - /* Baseboard 3.3V: 5V -> TPS54310PWP -> 3.3V */
> - REGULATOR_SUPPLY("AVDD", "1-001b"),
> - REGULATOR_SUPPLY("DRVDD", "1-001b"),
> -};
> -
> -static struct regulator_consumer_supply fixed_supplies_1_8v[] = {
> - /* Baseboard 1.8V: 5V -> TPS54310PWP -> 1.8V */
> - REGULATOR_SUPPLY("IOVDD", "1-001b"),
> - REGULATOR_SUPPLY("DVDD", "1-001b"),
> -};
> -
> #define DM644X_I2C_SDA_PIN GPIO_TO_PIN(2, 12)
> #define DM644X_I2C_SCL_PIN GPIO_TO_PIN(2, 11)
>
> @@ -700,6 +687,19 @@ static void __init evm_init_i2c(void)
> }
> #endif
>
> +/* Fixed regulator support */
> +static struct regulator_consumer_supply fixed_supplies_3_3v[] = {
> + /* Baseboard 3.3V: 5V -> TPS54310PWP -> 3.3V */
> + REGULATOR_SUPPLY("AVDD", "1-001b"),
> + REGULATOR_SUPPLY("DRVDD", "1-001b"),
> +};
> +
> +static struct regulator_consumer_supply fixed_supplies_1_8v[] = {
> + /* Baseboard 1.8V: 5V -> TPS54310PWP -> 1.8V */
> + REGULATOR_SUPPLY("IOVDD", "1-001b"),
> + REGULATOR_SUPPLY("DVDD", "1-001b"),
> +};
> +
> #define VENC_STD_ALL (V4L2_STD_NTSC | V4L2_STD_PAL)
>
> /* venc standard timings */
>

- P?ter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki