* [PATCH] soc/tegra: fix link errors with PMC disabled
@ 2017-03-20 9:13 Arnd Bergmann
2017-03-20 9:47 ` Jon Hunter
2017-03-20 12:40 ` Thierry Reding
0 siblings, 2 replies; 4+ messages in thread
From: Arnd Bergmann @ 2017-03-20 9:13 UTC (permalink / raw)
To: Thierry Reding, Jonathan Hunter
Cc: Arnd Bergmann, Laxman Dewangan, Mathieu Poirier, linux-tegra,
linux-kernel
With the new Tegra186 PMC driver merged, anything that relies on the previous
PMC driver fails to link when that is disabled:
arch/arm/mach-tegra/pm.o: In function `tegra_pm_set':
pm.c:(.text.tegra_pm_set+0x3c): undefined reference to `tegra_pmc_enter_suspend_mode'
arch/arm/mach-tegra/pm.o: In function `tegra_suspend_enter':
pm.c:(.text.tegra_suspend_enter+0x4): undefined reference to `tegra_pmc_get_suspend_mode'
arch/arm/mach-tegra/pm.o: In function `tegra_init_suspend':
pm.c:(.init.text+0x1c): undefined reference to `tegra_pmc_get_suspend_mode'
pm.c:(.init.text+0x74): undefined reference to `tegra_pmc_set_suspend_mode'
ERROR: tegra_powergate_sequence_power_up [drivers/ata/ahci_tegra.ko] undefined!
ERROR: tegra_powergate_power_off [drivers/ata/ahci_tegra.ko] undefined!
Making the definition depend on the presence of the driver makes it build
again, though that might not be the correct fix.
Fixes: 854014236290 ("soc/tegra: Implement Tegra186 PMC support")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
include/soc/tegra/pmc.h | 29 +++++++++++++++++++++--------
1 file changed, 21 insertions(+), 8 deletions(-)
diff --git a/include/soc/tegra/pmc.h b/include/soc/tegra/pmc.h
index 2f271d1b9cea..1c3982bc558f 100644
--- a/include/soc/tegra/pmc.h
+++ b/include/soc/tegra/pmc.h
@@ -26,12 +26,6 @@
struct clk;
struct reset_control;
-#ifdef CONFIG_PM_SLEEP
-enum tegra_suspend_mode tegra_pmc_get_suspend_mode(void);
-void tegra_pmc_set_suspend_mode(enum tegra_suspend_mode mode);
-void tegra_pmc_enter_suspend_mode(enum tegra_suspend_mode mode);
-#endif /* CONFIG_PM_SLEEP */
-
#ifdef CONFIG_SMP
bool tegra_pmc_cpu_is_powered(unsigned int cpuid);
int tegra_pmc_cpu_power_on(unsigned int cpuid);
@@ -144,7 +138,7 @@ enum tegra_io_pad_voltage {
TEGRA_IO_PAD_3300000UV,
};
-#ifdef CONFIG_ARCH_TEGRA
+#ifdef CONFIG_SOC_TEGRA_PMC
int tegra_powergate_is_powered(unsigned int id);
int tegra_powergate_power_on(unsigned int id);
int tegra_powergate_power_off(unsigned int id);
@@ -163,6 +157,11 @@ int tegra_io_pad_get_voltage(enum tegra_io_pad id);
/* deprecated, use tegra_io_pad_power_{enable,disable}() instead */
int tegra_io_rail_power_on(unsigned int id);
int tegra_io_rail_power_off(unsigned int id);
+
+enum tegra_suspend_mode tegra_pmc_get_suspend_mode(void);
+void tegra_pmc_set_suspend_mode(enum tegra_suspend_mode mode);
+void tegra_pmc_enter_suspend_mode(enum tegra_suspend_mode mode);
+
#else
static inline int tegra_powergate_is_powered(unsigned int id)
{
@@ -221,6 +220,20 @@ static inline int tegra_io_rail_power_off(unsigned int id)
{
return -ENOSYS;
}
-#endif /* CONFIG_ARCH_TEGRA */
+
+static inline enum tegra_suspend_mode tegra_pmc_get_suspend_mode(void)
+{
+ return TEGRA_SUSPEND_NONE;
+}
+
+static inline void tegra_pmc_set_suspend_mode(enum tegra_suspend_mode mode)
+{
+}
+
+static inline void tegra_pmc_enter_suspend_mode(enum tegra_suspend_mode mode)
+{
+}
+
+#endif /* CONFIG_SOC_TEGRA_PMC */
#endif /* __SOC_TEGRA_PMC_H__ */
--
2.9.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] soc/tegra: fix link errors with PMC disabled
2017-03-20 9:13 [PATCH] soc/tegra: fix link errors with PMC disabled Arnd Bergmann
@ 2017-03-20 9:47 ` Jon Hunter
2017-03-20 11:10 ` Thierry Reding
2017-03-20 12:40 ` Thierry Reding
1 sibling, 1 reply; 4+ messages in thread
From: Jon Hunter @ 2017-03-20 9:47 UTC (permalink / raw)
To: Arnd Bergmann, Thierry Reding
Cc: Laxman Dewangan, Mathieu Poirier, linux-tegra, linux-kernel
Hi Arnd,
On 20/03/17 09:13, Arnd Bergmann wrote:
> With the new Tegra186 PMC driver merged, anything that relies on the previous
> PMC driver fails to link when that is disabled:
>
> arch/arm/mach-tegra/pm.o: In function `tegra_pm_set':
> pm.c:(.text.tegra_pm_set+0x3c): undefined reference to `tegra_pmc_enter_suspend_mode'
> arch/arm/mach-tegra/pm.o: In function `tegra_suspend_enter':
> pm.c:(.text.tegra_suspend_enter+0x4): undefined reference to `tegra_pmc_get_suspend_mode'
> arch/arm/mach-tegra/pm.o: In function `tegra_init_suspend':
> pm.c:(.init.text+0x1c): undefined reference to `tegra_pmc_get_suspend_mode'
> pm.c:(.init.text+0x74): undefined reference to `tegra_pmc_set_suspend_mode'
>
> ERROR: tegra_powergate_sequence_power_up [drivers/ata/ahci_tegra.ko] undefined!
> ERROR: tegra_powergate_power_off [drivers/ata/ahci_tegra.ko] undefined!
>
> Making the definition depend on the presence of the driver makes it build
> again, though that might not be the correct fix.
>
> Fixes: 854014236290 ("soc/tegra: Implement Tegra186 PMC support")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
A fix was also submitted by Krzysztof [0].
Thierry, what's your preference? Maybe Arnd's approach is better.
Jon
[0] http://marc.info/?l=linux-arm-kernel&m=148926404419311&w=2
--
nvpublic
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] soc/tegra: fix link errors with PMC disabled
2017-03-20 9:47 ` Jon Hunter
@ 2017-03-20 11:10 ` Thierry Reding
0 siblings, 0 replies; 4+ messages in thread
From: Thierry Reding @ 2017-03-20 11:10 UTC (permalink / raw)
To: Jon Hunter
Cc: Arnd Bergmann, Laxman Dewangan, Mathieu Poirier, linux-tegra,
linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1486 bytes --]
On Mon, Mar 20, 2017 at 09:47:39AM +0000, Jon Hunter wrote:
> Hi Arnd,
>
> On 20/03/17 09:13, Arnd Bergmann wrote:
> > With the new Tegra186 PMC driver merged, anything that relies on the previous
> > PMC driver fails to link when that is disabled:
> >
> > arch/arm/mach-tegra/pm.o: In function `tegra_pm_set':
> > pm.c:(.text.tegra_pm_set+0x3c): undefined reference to `tegra_pmc_enter_suspend_mode'
> > arch/arm/mach-tegra/pm.o: In function `tegra_suspend_enter':
> > pm.c:(.text.tegra_suspend_enter+0x4): undefined reference to `tegra_pmc_get_suspend_mode'
> > arch/arm/mach-tegra/pm.o: In function `tegra_init_suspend':
> > pm.c:(.init.text+0x1c): undefined reference to `tegra_pmc_get_suspend_mode'
> > pm.c:(.init.text+0x74): undefined reference to `tegra_pmc_set_suspend_mode'
> >
> > ERROR: tegra_powergate_sequence_power_up [drivers/ata/ahci_tegra.ko] undefined!
> > ERROR: tegra_powergate_power_off [drivers/ata/ahci_tegra.ko] undefined!
> >
> > Making the definition depend on the presence of the driver makes it build
> > again, though that might not be the correct fix.
> >
> > Fixes: 854014236290 ("soc/tegra: Implement Tegra186 PMC support")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> A fix was also submitted by Krzysztof [0].
>
> Thierry, what's your preference? Maybe Arnd's approach is better.
Yes, I prefer Arnd's patch because it is more consistent with how we
deal with this kind of dependency elsewhere.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] soc/tegra: fix link errors with PMC disabled
2017-03-20 9:13 [PATCH] soc/tegra: fix link errors with PMC disabled Arnd Bergmann
2017-03-20 9:47 ` Jon Hunter
@ 2017-03-20 12:40 ` Thierry Reding
1 sibling, 0 replies; 4+ messages in thread
From: Thierry Reding @ 2017-03-20 12:40 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Jonathan Hunter, Laxman Dewangan, Mathieu Poirier, linux-tegra,
linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1294 bytes --]
On Mon, Mar 20, 2017 at 10:13:06AM +0100, Arnd Bergmann wrote:
> With the new Tegra186 PMC driver merged, anything that relies on the previous
> PMC driver fails to link when that is disabled:
>
> arch/arm/mach-tegra/pm.o: In function `tegra_pm_set':
> pm.c:(.text.tegra_pm_set+0x3c): undefined reference to `tegra_pmc_enter_suspend_mode'
> arch/arm/mach-tegra/pm.o: In function `tegra_suspend_enter':
> pm.c:(.text.tegra_suspend_enter+0x4): undefined reference to `tegra_pmc_get_suspend_mode'
> arch/arm/mach-tegra/pm.o: In function `tegra_init_suspend':
> pm.c:(.init.text+0x1c): undefined reference to `tegra_pmc_get_suspend_mode'
> pm.c:(.init.text+0x74): undefined reference to `tegra_pmc_set_suspend_mode'
>
> ERROR: tegra_powergate_sequence_power_up [drivers/ata/ahci_tegra.ko] undefined!
> ERROR: tegra_powergate_power_off [drivers/ata/ahci_tegra.ko] undefined!
>
> Making the definition depend on the presence of the driver makes it build
> again, though that might not be the correct fix.
>
> Fixes: 854014236290 ("soc/tegra: Implement Tegra186 PMC support")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> include/soc/tegra/pmc.h | 29 +++++++++++++++++++++--------
> 1 file changed, 21 insertions(+), 8 deletions(-)
Applied, thanks.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-03-20 12:40 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-20 9:13 [PATCH] soc/tegra: fix link errors with PMC disabled Arnd Bergmann
2017-03-20 9:47 ` Jon Hunter
2017-03-20 11:10 ` Thierry Reding
2017-03-20 12:40 ` Thierry Reding
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).