Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751672AbdITTcn (ORCPT ); Wed, 20 Sep 2017 15:32:43 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:33483 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751572AbdITTcj (ORCPT ); Wed, 20 Sep 2017 15:32:39 -0400 X-Google-Smtp-Source: AOwi7QCbs+rBAI5VcPQunUpUXBWAjSgm0A9mpfXEt4yvdW5iz5WDoXgFz5SgnLWB2soiktHaD5nqng== Subject: Re: Vibrations in input vs. LED was Re: [PATCH v2 0/3] led: ledtrig-transient: add support for hrtimer To: Dmitry Torokhov References: <20170913175400.42744-1-dtwlin@google.com> <20170913202032.GA30844@amd> <9c75c3a9-4123-c7f3-7725-45ba752d672a@gmail.com> <20170914205804.GA24339@amd> <7a611993-ebaa-08bb-b10c-ebe4fb9ca33a@gmail.com> <0076adca-f843-f99f-09ce-b9839b3e7706@gmail.com> <20170917182251.GA15328@amd> <9d5d045e-5019-e132-9449-7fb40b1b7895@gmail.com> <4226b524-35e1-16c0-f6ca-e339dd2eab1d@gmail.com> Cc: Pavel Machek , "linux-input@vger.kernel.org" , David Lin , Jonathan Corbet , Richard Purdie , Hans de Goede , Greg Kroah-Hartman , Rob Herring , Rom Lemarchand , "linux-doc@vger.kernel.org" , lkml , "linux-leds@vger.kernel.org" From: Jacek Anaszewski X-Enigmail-Draft-Status: N1110 Message-ID: <633a3a7c-1bc2-6297-cc59-a8c128a8b342@gmail.com> Date: Wed, 20 Sep 2017 21:31:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4320 Lines: 95 On 09/19/2017 11:07 PM, Dmitry Torokhov wrote: > On Tue, Sep 19, 2017 at 1:45 PM, Jacek Anaszewski > wrote: >> On 09/19/2017 12:29 AM, Dmitry Torokhov wrote: >>> On Mon, Sep 18, 2017 at 1:50 PM, Jacek Anaszewski >>> wrote: >>>> Hi, >>>> >>>> On 09/17/2017 08:22 PM, Pavel Machek wrote: >>>>> Hi! >>>>> >>>>>>> If your objection is that FF is not easily engaged from the shell - >>>>>>> yes, but I do not think that actual users who want to do vibration do >>>>>>> that via shell either. On the other hand, can you drop privileges and >>>>>>> still allow a certain process control your vibrator via LED interface? >>>>>>> With FF you can pass an FD to whoever you deem worthy and later revoke >>>>>>> access. >>>>>>> >>>>>>> IOW sysfs interfaces are nice for quick hacks, but when you want to >>>>>>> use them in real frameworks, where you need to think about proper >>>>>>> namespaces, isolation, etc, etc, other kinds of interfaces might suit >>>>>>> better. >>>>>> >>>>>> I'd leave the decision to the user. We could add a note to the >>>>>> Documentation/leds/ledtrig-transient.txt that force feedback interface >>>>>> should be preferable choice for driving vibrate devices. >>>>> >>>>> We don't want to leave decision to the user; because then we'll end up >>>>> with userland applications having to support _both_ interfaces. >>>> >>>> This state has lasted for five years now. I don't recall any >>>> complaints. Do you? >>> >>> I was telling Shuah 5 years ago that using LED for what she wanted was >>> not the right idea. I even made a patch for her implementing the >>> functionality they were after: https://lkml.org/lkml/2012/4/10/41 >>> >>> Unfortunately this still somehow made it into the kernel. I guess the >>> angle of having LEDs auto-shutoff makes sense still; using it for >>> haptics does not. >> >> Thanks for the pointer. >> >>>> >>>>> Plus, it is not really your decision. Dmitry is maintainer of input >>>>> subsystem, input was doing force feedback for 10+ years, and he >>>>> already made a decision. >>>> >>>> It seems that you applied a fait accompli method here. >>>> >>>> Actually could you share what the decision is? AFAIK we're not >>>> discussing here any patch for the input subsystem? >>> >>> No, we are discussing if it makes sense encouraging 2nd interface for >>> haptic. We are also discussing whether it makes sense to implement new >>> features in LED subsystem that seem to be only beneficial for this >>> interface (I assume the "normal" LEDs do not need that kind of >>> precision?). >> >> As you noticed in one of the previous messages, thanks to the leds-gpio >> driver we can drive a wide range of devices from the level of >> LED subsystem. > > Yes, you can create whatever. It goes normally as this: crap, we need > to ship something really soon, factory build is a week from now and we > have absolutely no time to think about proper interface. Hey, let's > quickly bolt on some quirk on an unrelated interface, it almost does > what we want. We do not care that out use case does not really fit > here, our custom one-off userspace will know how to deal with it. > >> LED trigger mechanism makes it even more versatile, >> and, in this area, even somehow akin to the GPIO subsystem. In the >> future we could think of making this trigger mechanism accessible by >> the two and thus any initiative aiming at enhancing it shouldn't be >> discouraged. > > If there is a use case that would benefit from this functionality: > certainly. Do you have one in mind? Few minutes of googling gave below results. People are doing that anyway so adding EXPERIMENTAL support in mainline maybe wouldn't be such a wrong idea. It seems that there would be many testers. [0] https://stackoverflow.com/questions/16534668/how-to-generate-a-steady-37khz-gpio-trigger-from-inside-linux-kernel [1] https://discuss.96boards.org/t/generate-high-frequency-square-wave-on-a-gpio-pin/2615/4 [2] https://stackoverflow.com/questions/4634991/how-to-generate-100khz-clock-signal-in-liunx-kernel-module-with-bit-banging [3] http://www.friendlyarm.net/forum/topic/3566 [4] http://codeandlife.com/2016/04/18/beaglebone-black-gpio-benchmark/ [5] https://www.raspberrypi.org/forums/viewtopic.php?t=56748 -- Best regards, Jacek Anaszewski