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=-5.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 2891CC432BE for ; Wed, 1 Sep 2021 17:34:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E5EBC60FDC for ; Wed, 1 Sep 2021 17:34:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238873AbhIARfN (ORCPT ); Wed, 1 Sep 2021 13:35:13 -0400 Received: from mail-4317.protonmail.ch ([185.70.43.17]:53820 "EHLO mail-4317.protonmail.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231225AbhIARfM (ORCPT ); Wed, 1 Sep 2021 13:35:12 -0400 Date: Wed, 01 Sep 2021 17:34:07 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bryanbrattlof.com; s=protonmail; t=1630517653; bh=4DZXoSZg/x86Vl6h/q4bF5QMWXnNiM9y1sUOzfxcIMI=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From; b=i8STOvz0t8mkjlVrtjuWxWXd6gJ4Fg8bHGsl/o8YYiDiA8+zKrunBnWkRSzzMB1X/ XUcRCW+XUE60EaeqDxLaH8qi/x0q+RNBKWoRX63qWAzrQpsHw7NYiNSjq70P1AQHgw MIxUSoTyKu0JjEe2X+u8fQQZM9Z6vUceJ/3og4WyaxpLXwVDk50T4r8tJe8ylESp9S XhmnDwBBf0zATpL2lJ5cAFKd2nb+Vt4AVjUjpDwE8BL7oF351sa3frB4aK2Pfb/BA9 YZKnYmOezpKEnk1wqD3vtGR4WtiYdz8DB7UM0+AW+p/+eutbrdSWo0eF4moL5PbVlm niQprq1j9KRLA== To: Krish Jain , Greg KH From: Bryan Brattlof Cc: "Fabio M. De Francesco" , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Reply-To: Bryan Brattlof Subject: Re: [PATCH] Declare the file_operations struct as const Message-ID: <20210901173357.2dfvw5xgpzjndesc@h510> In-Reply-To: References: <20210829144531.c2syu4vv4s22dlg7@h510> <20210831133533.6aayzjghdakrhy56@h510> <13366651.n50aozgL3V@localhost.localdomain> <20210831230014.cp46vho2hnndacjp@h510> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On this day, September 1, 2021, thus sayeth Greg KH: > On Wed, Sep 01, 2021 at 05:34:36PM +0200, Krish Jain wrote: > > > > Can you tell me why this is the case? > > Again, it depends on your kernel configuration file as to what will, or > will not, be built. > > If you have some things set as modules, they can be built as a module, > but the ashmem code can not be built as a module, so you would never > build it if you did the above line. > > Here, look at this sequence, starting with a tree that does nothing if I > do a simple 'make' in it, as the whole kernel is already built, and > ashmem is enabled in the kernel configuration > > $ grep ASHMEM .config > CONFIG_ASHMEM=3Dy > $ make > $ > > So, let's change the time stamp on the ashmem.c file and see what gets > built if you use the M=3D option: > > $ touch drivers/staging/android/ashmem.c > $ make M=3Ddrivers/staging/android > MODPOST drivers/staging/android/Module.symvers > $ > > Nothing gets built as ashmem is NOT a module, and M=3D only builds any > modules in the directory you specified. > > But, if you tell make to just build the whole subdirectory, no matter > what the setting is, it will be built: > > $ make drivers/staging/android/ > CALL scripts/checksyscalls.sh > CALL scripts/atomic/check-atomics.sh > DESCEND objtool > CC drivers/staging/android/ashmem.o > AR drivers/staging/android/built-in.a > $ > > So that's the difference, "M=3D" builds modules in that directory, but if > you tell it to build the subdir, everything in there that needs to be > built, will be built. > > Be careful about your kernel configuration, that is the key for what > will, and will not, be built. > Ouch... I want to *really* apologize to you Krish for introducing so much confusion while you, and apparently I, am still learning. And for your persistence with seeking the correct answer here Krish. I did not notice that this could only be build as a built-in object. Thank you Greg for pointing out my mistake, and I apologize for dragging this out longer than it had to and the frustration this caused. It seems I will be reading the documentation again, along with Greg's book recommendation, "Linux Kernel in a Nutshell" over this merge window. Thank you again Krish and Greg ~Bryan