2018-09-26 01:52:19

by Leonardo Brás

[permalink] [raw]
Subject: [PATCH 0/7] Remove errors building drivers/DRIVERNAME

This Patchset changes some driver's Makefile to allow them building
using the command 'make drivers/DRIVERNAME', if compatible.

The changed drivers would return error if the above command was run
on them, after an x86 allyesconfig.

The main reason of this patchset is to allow building lists of
drivers looking for warnings and errors to be fixed.

My main objective is to allow developers with low processing power
to do changes in the kernel and look bugs using free services like
GiltabCI.

If there is any interest helping/using this, I have a prototype in
https://gitlab.com/LeoBras/linux-next.

Leonardo Brás (7):
drivers: dio: Avoids building driver if CONFIG_DIO is disabled
drivers: nubus: Avoids building driver if CONFIG_NUBUS is disabled
drivers: parisc: Avoids building driver if CONFIG_PARISC is disabled
drivers: zorro: Avoids building proc.o if CONFIG_ZORRO is disabled
drivers: s390: Avoids building drivers if ARCH is not s390.
drivers: oprofile: Avoids building driver from direct make command
drivers: hwtracing: Adds Makefile to enable building from directory.

drivers/Makefile | 4 +---
drivers/dio/Makefile | 2 +-
drivers/hwtracing/Makefile | 3 +++
drivers/nubus/Makefile | 6 +++---
drivers/oprofile/Makefile | 1 +
drivers/parisc/Makefile | 2 +-
drivers/s390/Makefile | 8 ++++----
drivers/zorro/Makefile | 2 +-
8 files changed, 15 insertions(+), 13 deletions(-)
create mode 100644 drivers/hwtracing/Makefile
create mode 100644 drivers/oprofile/Makefile

--
2.19.0



2018-09-26 07:05:41

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH 0/7] Remove errors building drivers/DRIVERNAME

Hi Leonardo,

Thanks for your patch series!

On Wed, Sep 26, 2018 at 3:51 AM Leonardo Brás <[email protected]> wrote:
> This Patchset changes some driver's Makefile to allow them building
> using the command 'make drivers/DRIVERNAME', if compatible.

Please note that running "make drivers/DRIVERNAME" assumes that you know
exactly what you're doing. In the normal build process, you should just run
"make".

> The changed drivers would return error if the above command was run
> on them, after an x86 allyesconfig.

That is expected, as the DIO, NuBus, and Zorro buses, and PA-RISC and
S390 specific drivers are not supported on x86.
That is also the reason why you cannot enable support for them when configuring
your kernel.

If you want to enable e.g. NuBus support, you have to configure a kernel
for m68k/Mac, and (cross)compile it.

At https://mirrors.edge.kernel.org/pub/tools/crosstool/, you can find cross
compiler binaries for download. Altermatively, your Linux distribution may
provide cross compiler packages.

> The main reason of this patchset is to allow building lists of
> drivers looking for warnings and errors to be fixed.

We already have COMPILE_TEST for that.
If you want to increase compile coverage, please look into adding
"|| COMPILE_TEST" dependencies to subsystems and drivers that still lack it,
and (if needed) modifying the code to make the result build.

Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds