Re: [RFC PATCH] Input: tm2-touchkey - add hardware dependency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Krzysztof,

I'll try to stay calm but no promise :-D

On Mon, 24 Apr 2017 20:57:42 +0200, Krzysztof Kozlowski wrote:
> On Mon, Apr 24, 2017 at 08:49:32PM +0200, Jean Delvare wrote:
> > On Mon, 24 Apr 2017 13:56:06 +0200, Krzysztof Kozlowski wrote:
> > > On Mon, Apr 24, 2017 at 1:34 PM, Jean Delvare <jdelvare@xxxxxxx> wrote:
> > > > On Mon, 24 Apr 2017 11:58:09 +0200, Krzysztof Kozlowski wrote:
> > > >> On Mon, Apr 24, 2017 at 11:48 AM, Jean Delvare <jdelvare@xxxxxxx> wrote:
> > > > You are a bit late to the party I am afraid. COMPILE_TEST was
> > > > introduced for this very usage 4 years ago and I count 760 occurrences
> > > > of it. Not as many as I would like but I think this is going in the
> > > > right direction.
> > > 
> > > That is not the purpose of COMPILE_TEST. It serves only to allow
> > > compile testing of everything, not selecting "soft dependencies".
> > 
> > Think again and you'll realize this is exactly the same.
> 
> No, the purpose of COMPILE_TEST is to build everything whenever it is
> possible. Regardless if it is reasonable or not. For example without OF
> some drivers will not be able to bind but we can build them for build
> coverage (and static checkers coverage). That is the goal.

I will concede that the short description of COMPILE_TEST ("Compile
also drivers which will not load") can be misleading. It's not only
about "not loading." But if you take a look at the help text, it is
more verbose and accurate:

"Some drivers can be compiled on a different platform than they are
intended to be run on. Despite they cannot be loaded there (or even
when they load they cannot be used due to missing HW support),
developers still, opposing to distributors, might want to build such
drivers to compile-test them.

If you are a developer and want to build everything available, say Y
here. If you are a user/distributor, say N here to exclude useless
drivers to be distributed."

I give you a few minutes to read the whole thing.

Please pay attention to "due to missing HW support", "opposing to
distributors" and "say N here to exclude useless drivers". So, to
summarize, the purpose of COMPILE_TEST is to help distribution kernel
maintainers exclude useless drivers while still allowing a maximum
build testing coverage of such drivers.

What I am trying to do here is to help distribution kernel maintainers
exclude the tm2 touchkey driver from kernel flavors where it would be
useless (this is "depends on ARCH_EXYNOS" in my patch) while not
hurting build test coverage (this is "|| COMPILE_TEST" in my patch.)
Therefore I am clearly using COMPILE_TEST for its intended purpose. QED.

> However you want to limit the driver because of specific board existing
> in mainline (have you considered out of tree boards?). That is totally
> different meaning and use case.

I never mentioned specific boards. I proposed ARCH_EXYNOS, which to the
best of my knowledge is a sub-architecture or platform if you will.
Additionally, if you read my original post again, you will notice that
I explicitly said that I was not certain if it was the most appropriate
"level" of visibility for this driver. What seems clear to me is that
proposing this driver when I build an X86 kernel does not make sense.

> > > (...) It
> > > allows you to build kernel which will not even work in certain cases.
> > 
> > This is an extreme theoretical case, which has nothing to do with the
> > problem at hand.
> 
> That is the effect of COMPILE_TEST for which it was designed...
> but you want to use it in different way.

No. I invite you to read the help text of COMPILE_TEST again. It was
not designed to build kernels which will not work. Nobody needed that.

> (...)
> The depends/select/imply bring an information to the user about
> relationship between the Kconfig symbols.
> 
> COMPILE_TEST does not bring such relationship.

I thank you for trying to clarify what you meant, but even after
reading it 3 times, I still have no idea what you mean. Honestly.

> > > (...)
> > > Workaround might be using default = N, unless ARCH_EXYNOS. Something like:
> > > default y if ARCH_EXYNOS
>
> First of all, I am not changing the defaults.

Oh well, what can I say. I think I'll let you keep arguing with
yourself. This will save me a lot of time to devote to other tasks with
higher chances of success.

> Second, you asked for a
> hint of a better solution and now you are complaining that you do not
> like it... okay, as you wish.

I asked for suggestions on a specific point. Let me quote myself:

"I'm not sure if this is the right dependency to add, or if ARM64
would be more appropriate, or something else (...) Please advise."

I did not ask for a lesson about what COMPILE_TEST is meant for, nor
for suggestions of what the default value should be. I asked for advice
on what the visibility should be.

> The other way is to introduce a new soft dependency called whatever you
> like to (e.g. "usable on").

Again, this may be a good idea that can be discussed, but that keyword
does not exist today, and regular depends + COMPILE_TEST have been used
for the purpose since 2013. Feel free to start a separate discussion
thread about introducing "usable on" as a replacement for COMPILE_TEST,
maybe with a proof of concept, and see what people think about your
idea.

> But depends and COMPILE_TEST are not for that purpose.

... *sigh*.

This is my last reply to you on this topic, as we are clearly running
in circles.

-- 
Jean Delvare
SUSE L3 Support
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux