Message ID | 20191211192742.95699-8-brendanhiggins@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | uml: add unspecified HAS_IOMEM dependencies | expand |
On Wed, 11 Dec 2019 at 19:28, Brendan Higgins <brendanhiggins@google.com> wrote: > > Currently CONFIG_FSI_MASTER_ASPEED=y implicitly depends on > CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get > the following build error: > > ld: drivers/fsi/fsi-master-aspeed.o: in function `fsi_master_aspeed_probe': > drivers/fsi/fsi-master-aspeed.c:436: undefined reference to `devm_ioremap_resource' > > Fix the build error by adding the unspecified dependency. > > Reported-by: Brendan Higgins <brendanhiggins@google.com> > Signed-off-by: Brendan Higgins <brendanhiggins@google.com> Nice. I hit this when attempting to force on CONFIG_COMPILE_TEST in order to build some ARM drivers under UM. Do you have plans to fix that too? Do you want to get this in a fix for 5.5? Acked-by: Joel Stanley <joel@jms.id.au> Cheers, Joel > --- > drivers/fsi/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/fsi/Kconfig b/drivers/fsi/Kconfig > index 92ce6d85802cc..4cc0e630ab79b 100644 > --- a/drivers/fsi/Kconfig > +++ b/drivers/fsi/Kconfig > @@ -55,6 +55,7 @@ config FSI_MASTER_AST_CF > > config FSI_MASTER_ASPEED > tristate "FSI ASPEED master" > + depends on HAS_IOMEM > help > This option enables a FSI master that is present behind an OPB bridge > in the AST2600. > -- > 2.24.0.525.g8f36a354ae-goog >
On Wed, Dec 11, 2019 at 4:12 PM Joel Stanley <joel@jms.id.au> wrote: > > On Wed, 11 Dec 2019 at 19:28, Brendan Higgins <brendanhiggins@google.com> wrote: > > > > Currently CONFIG_FSI_MASTER_ASPEED=y implicitly depends on > > CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get > > the following build error: > > > > ld: drivers/fsi/fsi-master-aspeed.o: in function `fsi_master_aspeed_probe': > > drivers/fsi/fsi-master-aspeed.c:436: undefined reference to `devm_ioremap_resource' > > > > Fix the build error by adding the unspecified dependency. > > > > Reported-by: Brendan Higgins <brendanhiggins@google.com> > > Signed-off-by: Brendan Higgins <brendanhiggins@google.com> > > Nice. I hit this when attempting to force on CONFIG_COMPILE_TEST in > order to build some ARM drivers under UM. Do you have plans to fix > that too? The only broken configs I found for UML are all listed on the cover letter of this patch. I think fixing COMPILE_TEST on UM could be worthwhile. Did you see any brokenness other than what I mentioned on the cover letter? > Do you want to get this in a fix for 5.5? Preferably, yes. > Acked-by: Joel Stanley <joel@jms.id.au> Thanks!
On Thu, 12 Dec 2019 at 00:30, Brendan Higgins <brendanhiggins@google.com> wrote: > > On Wed, Dec 11, 2019 at 4:12 PM Joel Stanley <joel@jms.id.au> wrote: > > > > Nice. I hit this when attempting to force on CONFIG_COMPILE_TEST in > > order to build some ARM drivers under UM. Do you have plans to fix > > that too? > > The only broken configs I found for UML are all listed on the cover > letter of this patch. I think fixing COMPILE_TEST on UM could be > worthwhile. Did you see any brokenness other than what I mentioned on > the cover letter? There's a few more in drivers/char/hw_random that you would need. These were HW_RANDOM_MESON , HW_RANDOM_MTK, HW_RANDOM_EXYNOS, HW_RANDOM_NPCM, HW_RANDOM_KEYSTONE. The only one from your series I needed was PINCTRL_EQUILIBRIUM. I applied this: --- a/init/Kconfig +++ b/init/Kconfig @@ -91,7 +91,6 @@ config INIT_ENV_ARG_LIMIT config COMPILE_TEST bool "Compile also drivers which will not load" - depends on !UML default n help That lets me build. However, the code I was attempting to enable depends on REGMAP, which needs IOMEM too, so I hit that dead end. Another issue I had was debugging my kunitconfig. This patch helped a bit: --- a/tools/testing/kunit/kunit_config.py +++ b/tools/testing/kunit/kunit_config.py @@ -40,6 +40,9 @@ class Kconfig(object): def is_subset_of(self, other: 'Kconfig') -> bool: return self.entries().issubset(other.entries()) + def difference(self, other: 'Kconfig') -> list: + return self.entries().difference(other.entries()) + def write_to_file(self, path: str) -> None: with open(path, 'w') as f: for entry in self.entries(): diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py index bf3876835331..0f261bc087e4 100644 --- a/tools/testing/kunit/kunit_kernel.py +++ b/tools/testing/kunit/kunit_kernel.py @@ -107,6 +107,7 @@ class LinuxSourceTree(object): validated_kconfig.read_from_file(kconfig_path) if not self._kconfig.is_subset_of(validated_kconfig): logging.error('Provided Kconfig is not contained in validated .config!') + logging.error(self._kconfig.difference(validated_kconfig)) return False return True Which would need some tidying up before applying, but helped a lot in working out what was going wrong. > > > Do you want to get this in a fix for 5.5? > > Preferably, yes. > > > Acked-by: Joel Stanley <joel@jms.id.au> > > Thanks!
On Wed, Dec 11, 2019 at 4:30 PM Brendan Higgins <brendanhiggins@google.com> wrote: > > On Wed, Dec 11, 2019 at 4:12 PM Joel Stanley <joel@jms.id.au> wrote: > > > > On Wed, 11 Dec 2019 at 19:28, Brendan Higgins <brendanhiggins@google.com> wrote: > > > > > > Currently CONFIG_FSI_MASTER_ASPEED=y implicitly depends on > > > CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get > > > the following build error: > > > > > > ld: drivers/fsi/fsi-master-aspeed.o: in function `fsi_master_aspeed_probe': > > > drivers/fsi/fsi-master-aspeed.c:436: undefined reference to `devm_ioremap_resource' > > > > > > Fix the build error by adding the unspecified dependency. > > > > > > Reported-by: Brendan Higgins <brendanhiggins@google.com> > > > Signed-off-by: Brendan Higgins <brendanhiggins@google.com> > > > > Nice. I hit this when attempting to force on CONFIG_COMPILE_TEST in > > order to build some ARM drivers under UM. Do you have plans to fix > > that too? > > The only broken configs I found for UML are all listed on the cover > letter of this patch. I think fixing COMPILE_TEST on UM could be > worthwhile. Did you see any brokenness other than what I mentioned on > the cover letter? > > > Do you want to get this in a fix for 5.5? > > Preferably, yes. > > > Acked-by: Joel Stanley <joel@jms.id.au> Hey, I know I owe you a reply about debugging your kunitconfig (I'll try to get to that this week); nevertheless, it looks like this patch didn't make it into 5.5. Can you make sure it gets into 5.6? It shouldn't depend on anything else. Cheers
On Mon, 27 Jan 2020 at 09:46, Brendan Higgins <brendanhiggins@google.com> wrote: > > > Do you want to get this in a fix for 5.5? > > > > Preferably, yes. > > > > > Acked-by: Joel Stanley <joel@jms.id.au> > > Hey, I know I owe you a reply about debugging your kunitconfig (I'll > try to get to that this week); nevertheless, it looks like this patch > didn't make it into 5.5. Can you make sure it gets into 5.6? It > shouldn't depend on anything else. Sure, thanks for the reminder. Cheers, Joel
diff --git a/drivers/fsi/Kconfig b/drivers/fsi/Kconfig index 92ce6d85802cc..4cc0e630ab79b 100644 --- a/drivers/fsi/Kconfig +++ b/drivers/fsi/Kconfig @@ -55,6 +55,7 @@ config FSI_MASTER_AST_CF config FSI_MASTER_ASPEED tristate "FSI ASPEED master" + depends on HAS_IOMEM help This option enables a FSI master that is present behind an OPB bridge in the AST2600.
Currently CONFIG_FSI_MASTER_ASPEED=y implicitly depends on CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get the following build error: ld: drivers/fsi/fsi-master-aspeed.o: in function `fsi_master_aspeed_probe': drivers/fsi/fsi-master-aspeed.c:436: undefined reference to `devm_ioremap_resource' Fix the build error by adding the unspecified dependency. Reported-by: Brendan Higgins <brendanhiggins@google.com> Signed-off-by: Brendan Higgins <brendanhiggins@google.com> --- drivers/fsi/Kconfig | 1 + 1 file changed, 1 insertion(+)