Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751977AbbKJJD0 (ORCPT ); Tue, 10 Nov 2015 04:03:26 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:37545 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751856AbbKJJDO (ORCPT ); Tue, 10 Nov 2015 04:03:14 -0500 MIME-Version: 1.0 In-Reply-To: <20151109230635.GC9155@dtor-ws> References: <1446766578-30160-1-git-send-email-aduggan@synaptics.com> <20151109230635.GC9155@dtor-ws> Date: Tue, 10 Nov 2015 10:03:12 +0100 Message-ID: Subject: Re: [PATCH 01/26] Input: synaptics-rmi4 - embed the function modules in rmi_core From: Benjamin Tissoires To: Dmitry Torokhov Cc: Andrew Duggan , linux-input , "linux-kernel@vger.kernel.org" , Benjamin Tissoires , Linus Walleij , Christopher Heiny , Stephen Chandler Paul Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2205 Lines: 47 On Tue, Nov 10, 2015 at 12:06 AM, Dmitry Torokhov wrote: > On Thu, Nov 05, 2015 at 03:36:18PM -0800, Andrew Duggan wrote: >> From: Benjamin Tissoires >> >> the function modules can not be auto-loaded by udev. So at boot, the >> functions are not there and the device is not properly populated. >> Force the functions to be embedded in rmi_core so that when the touchpad >> is there, the functions are there too. > > There is nothing inherently different in RMI compared to other buses. > kmod package simply needs to be aware of it. > I can't help but thinking that it is slightly different though. We register one RMI bus like the others, but then, the only driver (rmi-driver) on the bus needs to enumerate the device and attach other kernel modules on demand. It looks as if the rmi device is an other internal bus. But the current implementation only allows the functions to be loaded during the probe of the rmi_device. During this probe, we can't block to wait for userspace to load the various modules, and so we are screwed. The solution would be to allow deferring the loading of the various functions, which basically comes down to create a sub-bus per device. The way I see it is: - for 90 % of the cases, RMI4 will be used for touchpads in general laptops. Distributions will likely enable 2D sensors, F30, fingerprint readers, and maybe a few others. I don't think we want to chase all the initrd tools to include the various RMI modules or people will have a non functional touchpad. - for the rest (embedded, phones, etc,...), these projects usually already configure their own kernels and they can decide whether or not they want to include which function depending on the actual hardware. I am not saying that having autoloading is a bad thing. I just can't see the interest for the general use case, and I can see the nightmare to maintain the autoloading :). Cheers, Benjamin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/