From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7FE8DC43381 for ; Thu, 14 Mar 2019 07:09:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 57AFE2087C for ; Thu, 14 Mar 2019 07:09:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727154AbfCNHJZ (ORCPT ); Thu, 14 Mar 2019 03:09:25 -0400 Received: from mail-qk1-f193.google.com ([209.85.222.193]:37716 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726582AbfCNHJY (ORCPT ); Thu, 14 Mar 2019 03:09:24 -0400 Received: by mail-qk1-f193.google.com with SMTP id c1so2723309qkk.4; Thu, 14 Mar 2019 00:09:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ylbZhfh01+ptaJ2NnOqi52uz/oBhzGF4rEBIY/Lwhso=; b=uoXb6kpYMdNEbsm8HWl/IVB3uNtTr8dgCnw/t29Wqw/aNtoUgpq0k0qZSNsMiJRAg1 MTII5Tf54YLWjTTvUnZJ7UpmN+PtKr+Wu9lddIVQhuLNhDEDvN+xvg7uhT3KhEu14ca7 /A68ksy1mWBIoT2M2l9gfVwDmhx0Y4DKtSUFEHLUIE9ZvlEMsj4ek86I8ty7V5gvBJJI YxwiONYKLr0+pmh6gJ/ztm7BeuZq8QeTCTfk0LL+WaKoABSCamRyoKCZOx3hfDFyu8v/ szZ1sMzitohXu3h5amMEUJqEVGGBNC9y3mDaAVut64iQp/vCot3ygP7MQBQQ6jUS/6fB P7qQ== X-Gm-Message-State: APjAAAWrJlhhEiTHwhNm4qeT0ZTpVD9fN60MOYLBQY8/tQ7Cgj3jIbKU QoHCRZktMU8Arp7bZScEMSTD9PvzZq0oOI0HtXhu4g== X-Google-Smtp-Source: APXvYqzo0jx2j2eE2eF64jL7YCNMclh3Jf42s8Y3aSnFT8yeBcpU+Q29+SJTeQ7UmiXrPHCrwSAsvJrK1vE0h1Vinus= X-Received: by 2002:ae9:dec2:: with SMTP id s185mr34367191qkf.107.1552547363565; Thu, 14 Mar 2019 00:09:23 -0700 (PDT) MIME-Version: 1.0 References: <20190305132147.3739133-1-arnd@arndb.de> <20190305143453.GC8256@zn.tnic> <20190306175808.GA30016@agluck-desk> <20190313230137.GA12529@agluck-desk> In-Reply-To: <20190313230137.GA12529@agluck-desk> From: Arnd Bergmann Date: Thu, 14 Mar 2019 08:09:06 +0100 Message-ID: Subject: Re: [PATCH] EDAC, {skx|i10nm}_edac: Fix randconfig build error To: "Luck, Tony" Cc: Borislav Petkov , Mauro Carvalho Chehab , James Morse , Qiuxu Zhuo , linux-edac@vger.kernel.org, Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 14, 2019 at 12:01 AM Luck, Tony wrote: > > On Wed, Mar 06, 2019 at 09:15:13PM +0100, Arnd Bergmann wrote: > > On Wed, Mar 6, 2019 at 6:58 PM Luck, Tony wrote: > > > From: Qiuxu Zhuo > > > > > > This seems cleaner than adding all the EXPORTs to skx_common.c > > > I also tried a build with the 0x8A152468-config.gz that Arnd > > > supplied. > > > > It's still a bit fragile since you do something that kbuild doesn't > > expect with having a file in both a module and built-in code > > in some configurations. I'm fairly sure this version works today, > > but it would break the next time that file gets changed to include > > a reference to THIS_MODULE, or anything else that is different > > between built-in and modular code. > > > > Another alternative would be to mark all symbols in this file > > 'static' and then include skx_common.c from the other two files. > > Of course that is also ugly and it increases the overall code size, > > so I don't see a way to win this. > > Boris, > > So where should we go. Proposed solutions are piling up: > > 1) Make skx_common a module > [downside: have to EXPORT everything in it] > 2) Move module-ish bits out of skx_common > [downside: perhaps fragile] > 3) #include skx_common.c into {skx,i10nm}_edac.c > [downside: no patch yet, bigger code size] Sorry to add on to the already long list, but one more idea after looking at the two files: 4) Have a single driver module, with the skx_common.c containing the top-level module_init/module_exit functions that call into the hardware specific versions. This is the opposite of the usual recommendation (the driver is already structured nicely otherwise), but it would be cheap way out here. Arnd From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: EDAC, {skx|i10nm}_edac: Fix randconfig build error From: Arnd Bergmann Message-Id: Date: Thu, 14 Mar 2019 08:09:06 +0100 To: "Luck, Tony" Cc: Borislav Petkov , Mauro Carvalho Chehab , James Morse , Qiuxu Zhuo , linux-edac@vger.kernel.org, Linux Kernel Mailing List List-ID: T24gVGh1LCBNYXIgMTQsIDIwMTkgYXQgMTI6MDEgQU0gTHVjaywgVG9ueSA8dG9ueS5sdWNrQGlu dGVsLmNvbT4gd3JvdGU6Cj4KPiBPbiBXZWQsIE1hciAwNiwgMjAxOSBhdCAwOToxNToxM1BNICsw MTAwLCBBcm5kIEJlcmdtYW5uIHdyb3RlOgo+ID4gT24gV2VkLCBNYXIgNiwgMjAxOSBhdCA2OjU4 IFBNIEx1Y2ssIFRvbnkgPHRvbnkubHVja0BpbnRlbC5jb20+IHdyb3RlOgo+ID4gPiBGcm9tOiBR aXV4dSBaaHVvIDxxaXV4dS56aHVvQGludGVsLmNvbT4KPiA+ID4KPiA+ID4gVGhpcyBzZWVtcyBj bGVhbmVyIHRoYW4gYWRkaW5nIGFsbCB0aGUgRVhQT1JUcyB0byBza3hfY29tbW9uLmMKPiA+ID4g SSBhbHNvIHRyaWVkIGEgYnVpbGQgd2l0aCB0aGUgMHg4QTE1MjQ2OC1jb25maWcuZ3ogdGhhdCBB cm5kCj4gPiA+IHN1cHBsaWVkLgo+ID4KPiA+IEl0J3Mgc3RpbGwgYSBiaXQgZnJhZ2lsZSBzaW5j ZSB5b3UgZG8gc29tZXRoaW5nIHRoYXQga2J1aWxkIGRvZXNuJ3QKPiA+IGV4cGVjdCB3aXRoIGhh dmluZyBhIGZpbGUgaW4gYm90aCBhIG1vZHVsZSBhbmQgYnVpbHQtaW4gY29kZQo+ID4gaW4gc29t ZSBjb25maWd1cmF0aW9ucy4gSSdtIGZhaXJseSBzdXJlIHRoaXMgdmVyc2lvbiB3b3JrcyB0b2Rh eSwKPiA+IGJ1dCBpdCB3b3VsZCBicmVhayB0aGUgbmV4dCB0aW1lIHRoYXQgZmlsZSBnZXRzIGNo YW5nZWQgdG8gaW5jbHVkZQo+ID4gYSByZWZlcmVuY2UgdG8gVEhJU19NT0RVTEUsIG9yIGFueXRo aW5nIGVsc2UgdGhhdCBpcyBkaWZmZXJlbnQKPiA+IGJldHdlZW4gYnVpbHQtaW4gYW5kIG1vZHVs YXIgY29kZS4KPiA+Cj4gPiBBbm90aGVyIGFsdGVybmF0aXZlIHdvdWxkIGJlIHRvIG1hcmsgYWxs IHN5bWJvbHMgaW4gdGhpcyBmaWxlCj4gPiAnc3RhdGljJyBhbmQgdGhlbiBpbmNsdWRlIHNreF9j b21tb24uYyBmcm9tIHRoZSBvdGhlciB0d28gZmlsZXMuCj4gPiBPZiBjb3Vyc2UgdGhhdCBpcyBh bHNvIHVnbHkgYW5kIGl0IGluY3JlYXNlcyB0aGUgb3ZlcmFsbCBjb2RlIHNpemUsCj4gPiBzbyBJ IGRvbid0IHNlZSBhIHdheSB0byB3aW4gdGhpcy4KPgo+IEJvcmlzLAo+Cj4gU28gd2hlcmUgc2hv dWxkIHdlIGdvLiBQcm9wb3NlZCBzb2x1dGlvbnMgYXJlIHBpbGluZyB1cDoKPgo+IDEpIE1ha2Ug c2t4X2NvbW1vbiBhIG1vZHVsZQo+ICAgICAgICAgW2Rvd25zaWRlOiBoYXZlIHRvIEVYUE9SVCBl dmVyeXRoaW5nIGluIGl0XQo+IDIpIE1vdmUgbW9kdWxlLWlzaCBiaXRzIG91dCBvZiBza3hfY29t bW9uCj4gICAgICAgICBbZG93bnNpZGU6IHBlcmhhcHMgZnJhZ2lsZV0KPiAzKSAjaW5jbHVkZSBz a3hfY29tbW9uLmMgaW50byB7c2t4LGkxMG5tfV9lZGFjLmMKPiAgICAgICAgIFtkb3duc2lkZTog bm8gcGF0Y2ggeWV0LCBiaWdnZXIgY29kZSBzaXplXQoKU29ycnkgdG8gYWRkIG9uIHRvIHRoZSBh bHJlYWR5IGxvbmcgbGlzdCwgYnV0IG9uZSBtb3JlIGlkZWEgYWZ0ZXIKbG9va2luZyBhdCB0aGUg dHdvIGZpbGVzOgoKNCkgSGF2ZSBhIHNpbmdsZSBkcml2ZXIgbW9kdWxlLCB3aXRoIHRoZSBza3hf Y29tbW9uLmMgY29udGFpbmluZwogICAgdGhlIHRvcC1sZXZlbCBtb2R1bGVfaW5pdC9tb2R1bGVf ZXhpdCBmdW5jdGlvbnMgdGhhdCBjYWxsIGludG8gdGhlCiAgICBoYXJkd2FyZSBzcGVjaWZpYyB2 ZXJzaW9ucy4KClRoaXMgaXMgdGhlIG9wcG9zaXRlIG9mIHRoZSB1c3VhbCByZWNvbW1lbmRhdGlv biAodGhlIGRyaXZlcgppcyBhbHJlYWR5IHN0cnVjdHVyZWQgbmljZWx5IG90aGVyd2lzZSksIGJ1 dCBpdCB3b3VsZCBiZSBjaGVhcAp3YXkgb3V0IGhlcmUuCgogICAgICBBcm5kCg==