From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752120AbbCSQYq (ORCPT ); Thu, 19 Mar 2015 12:24:46 -0400 Received: from mail.skyhub.de ([78.46.96.112]:47662 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751763AbbCSQYk (ORCPT ); Thu, 19 Mar 2015 12:24:40 -0400 Date: Thu, 19 Mar 2015 17:23:02 +0100 From: Borislav Petkov To: Dmitry Torokhov , Tejun Heo Cc: Doug Thompson , linux-kernel@vger.kernel.org, linux-edac@vger.kernel.org, Mauro Carvalho Chehab , Tetsuo Handa , Olof Johansson , Arjan van de Ven , Greg Kroah-Hartman , "Luis R . Rodriguez" Subject: Re: [PATCH 3/3] EDAC: amd64_edac: decide if driver can load successfully early. Message-ID: <20150319162301.GH11715@pd.tnic> References: <1426726150-983-1-git-send-email-dmitry.torokhov@gmail.com> <1426726150-983-4-git-send-email-dmitry.torokhov@gmail.com> <20150319094054.GC10860@pd.tnic> <20150319152957.GI25365@htj.duckdns.org> <20150319153505.GD11715@pd.tnic> <20150319155253.GA30732@dtor-ws> <20150319155953.GF11715@pd.tnic> <20150319161226.GC30732@dtor-ws> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20150319161226.GC30732@dtor-ws> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 19, 2015 at 09:12:26AM -0700, Dmitry Torokhov wrote: > By the same token it only makes sense to load e1000e when I have e1000e > device loaded, but we allow it to load anyway. Or psmouse. Or pretty > much any other drivers (sans some platform code). The fact is that we > for long time have separated module loading and driver binding. Loading > driver even without the devices is standard behavior. FWIW, I always hated that. > Does anyone look at the loaded modules to see if functionality is > available? They should look if any devices are actually bound to the > driver (in sysfs). I mean, even without the changes I can unbind the > edac driver from northbridge via sysfs thus disabling error decoding and > "mislead" people. Yeah yeah, do people listen to what we say how something should be used properly and not use it the way they feel like? Of course not! But enough wasting time fruitlessly, I think I have an idea: How about I go and iterate over all NBs (northbridges) on the system and check whether at least one has ECC enabled so that the driver can load? And do that in the init function. If I detect at least one NB which is ok, I can then continue and do pci_register_driver(). If there are no suitable NBs, I return an error and don't even touch PCI. Would that be something which would work for what you're trying to achieve? If yes, I could give it a try but it won't happen like immediately. For the time being, we could use the PROBE_FORCE_SYNCHRONOUS thing. While doing that, I could take a look at Dmitry's cleanups too. Yes, no? Thanks. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. --