All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: linux-kernel@vger.kernel.org,
	Alexandre Courbot <gnurou@gmail.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	David Daney <david.daney@cavium.com>,
	Gabriele Paoloni <gabriele.paoloni@huawei.com>,
	Jason Cooper <jason@lakedaemon.net>,
	Jesper Nilsson <jesper.nilsson@axis.com>,
	Jingoo Han <jingoohan1@gmail.com>,
	Joao Pinto <jpinto@synopsys.com>,
	Minghuan Lian <minghuan.Lian@freescale.com>,
	Mingkai Hu <mingkai.hu@freescale.com>,
	Murali Karicheri <m-karicheri2@ti.com>,
	Niklas Cassel <niklas.cassel@axis.com>,
	Phil Edworthy <phil.edworthy@renesas.com>,
	Pratyush Anand <pratyush.anand@gmail.com>,
	Roy Zang <tie-fei.zang@freescale.com>,
	Simon Horman <horms@verge.net.au>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Tanmay Inamdar <tinamdar@apm.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Valentine Barshak <valentine.barshak@cogentembedded.com>,
	Will Deacon <will.deacon@arm.com>,
	Zhou Wang <wangzhou1@hisilicon.com>,
	linux-pci@vger.kernel.org, linux-tegra@vger.kernel.org
Subject: Re: [PATCH 00/14] PCI: trivial demodularization of builtin code
Date: Fri, 22 Jul 2016 16:52:46 -0500	[thread overview]
Message-ID: <20160722215246.GB32142@localhost> (raw)
In-Reply-To: <20160702231334.26684-1-paul.gortmaker@windriver.com>

On Sat, Jul 02, 2016 at 07:13:20PM -0400, Paul Gortmaker wrote:
> Firstly, this group of commits was chosen for the fact that they don't
> change anything even at a binary object file level ; they just replace
> module_platform_driver with builtin_platform_driver, and remove some
> MODULE_<blah> tags that are no-ops in code.  So the regression risk
> is zero here.
> 
> More specifically, we are doing the following to pci/host files that
> currently can only be built-in:
> 
>  -- remove the include of module.h ; replace it with init.h as req'd
> 
>  -- drop instances of MODULE_DEVICE_TABLE which is a no-op built-in.
> 
>  -- replace module_platform_driver with builtin_platform_driver, which
>     is functionally identical once CPP has processed the source.
> 
>  -- drop instances of MODULE_LICENSE, MODULE_AUTHOR, MODULE_DESCRIPTION
>     while ensuring the contained info is present in the file comments.
> 
> After considering the inital version of demodularization PCI host
> commits[1], we did consider striving for tristate[2] on another
> subset of PCI host files in order to keep bzImage sizes lower on
> multi-platform builds, but that proved to have technical challenges
> well outside the scope of what we are trying to achieve here, given
> PCI is infrastructure code and not a case of simple endpoint
> drivers.
> 
> In the meantime more new code copies the existing examples of bool
> Kconfig using modular references; further expanding the problem
> space.  So we are just going to proceed with the demodularization
> as originally planned.  Nothing removed here is rocket science, and
> can easily be restored if someone has the hardware to test on and
> the desire to expand functionality into the tristate realm.
> 
> A more complete description of why we are doing this can be found
> in the original posting[1] for those that haven't seen it yet.
> 
> This represents just over 1/2 the PCI drivers that have their Kconfig
> as bool but needlessly use modular references.  The remainder do not
> deliver exact binary equivalence, since they delete unused __exit
> functions and/or unused ".remove" functions.  So they are more
> appropriate for submission earlier in the next development window.
> 
> Build tested for allmodconfig on several arch, including ARM and
> ARM-64 on the most recent linux-next baseline.
> 
> Paul.
> 
> [1] https://lkml.kernel.org/r/1449970917-12633-1-git-send-email-paul.gortmaker@windriver.com
> [2] https://lkml.kernel.org/r/1454889644-27830-1-git-send-email-paul.gortmaker@windriver.com
> 
> ---
> 
> [vs v1 in [1] above, I tweaked the subjects slightly to match the
>  format used by most PCI commits, i.e drop the "driver/" prefix. ]
> 
> Cc: Alexandre Courbot <gnurou@gmail.com>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Cc: David Daney <david.daney@cavium.com>
> Cc: Gabriele Paoloni <gabriele.paoloni@huawei.com>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Cc: Jesper Nilsson <jesper.nilsson@axis.com>
> Cc: Jingoo Han <jingoohan1@gmail.com>
> Cc: Joao Pinto <jpinto@synopsys.com>
> Cc: Minghuan Lian <minghuan.Lian@freescale.com>
> Cc: Mingkai Hu <mingkai.hu@freescale.com>
> Cc: Murali Karicheri <m-karicheri2@ti.com>
> Cc: Niklas Cassel <niklas.cassel@axis.com>
> Cc: Phil Edworthy <phil.edworthy@renesas.com>
> Cc: Pratyush Anand <pratyush.anand@gmail.com>
> Cc: Roy Zang <tie-fei.zang@freescale.com>
> Cc: Simon Horman <horms@verge.net.au>
> Cc: Stephen Warren <swarren@wwwdotorg.org>
> Cc: Tanmay Inamdar <tinamdar@apm.com>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Valentine Barshak <valentine.barshak@cogentembedded.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: Zhou Wang <wangzhou1@hisilicon.com>
> Cc: linux-pci@vger.kernel.org
> Cc: linux-tegra@vger.kernel.org
> 
> Paul Gortmaker (14):
>   PCI: armada8k: make it explicitly non-modular
>   PCI: artpec6: make it explicitly non-modular
>   PCI: designware-plat: make it explicitly non-modular
>   PCI: generic: make it explicitly non-modular
>   PCI: hisi: make it explicitly non-modular
>   PCI: keystone: make it explicitly non-modular
>   PCI: layerscape: make it explicitly non-modular
>   PCI: mvebu: make it explicitly non-modular
>   PCI: rcar: make it explicitly non-modular
>   PCI: rcar-gen2: make it explicitly non-modular
>   PCI: tegra: make it explicitly non-modular
>   PCI: thunder-ecam: make it explicitly non-modular
>   PCI: thunder-pem: make it explicitly non-modular
>   PCI: xgene: make it explicitly non-modular
> 
>  drivers/pci/host/pci-host-generic.c     | 10 ++--------
>  drivers/pci/host/pci-keystone.c         | 10 ++--------
>  drivers/pci/host/pci-layerscape.c       | 10 ++--------
>  drivers/pci/host/pci-mvebu.c            | 11 ++++-------
>  drivers/pci/host/pci-rcar-gen2.c        | 12 +++---------
>  drivers/pci/host/pci-tegra.c            | 11 ++++-------
>  drivers/pci/host/pci-thunder-ecam.c     |  8 ++------
>  drivers/pci/host/pci-thunder-pem.c      |  8 ++------
>  drivers/pci/host/pci-xgene.c            |  8 ++------
>  drivers/pci/host/pcie-armada8k.c        | 14 +++++---------
>  drivers/pci/host/pcie-artpec6.c         | 10 ++--------
>  drivers/pci/host/pcie-designware-plat.c | 10 ++--------
>  drivers/pci/host/pcie-hisi.c            | 13 ++-----------
>  drivers/pci/host/pcie-rcar.c            | 11 ++++-------
>  14 files changed, 38 insertions(+), 108 deletions(-)

Applied to pci/demodularize-hosts for v4.8, thanks, Paul!

WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <helgaas@kernel.org>
To: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: linux-kernel@vger.kernel.org,
	Alexandre Courbot <gnurou@gmail.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	David Daney <david.daney@cavium.com>,
	Gabriele Paoloni <gabriele.paoloni@huawei.com>,
	Jason Cooper <jason@lakedaemon.net>,
	Jesper Nilsson <jesper.nilsson@axis.com>,
	Jingoo Han <jingoohan1@gmail.com>,
	Joao Pinto <jpinto@synopsys.com>,
	Minghuan Lian <minghuan.Lian@freescale.com>,
	Mingkai Hu <mingkai.hu@freescale.com>,
	Murali Karicheri <m-karicheri2@ti.com>,
	Niklas Cassel <niklas.cassel@axis.com>,
	Phil Edworthy <phil.edworthy@renesas.com>,
	Pratyush Anand <pratyush.anand@gmail.com>,
	Roy Zang <tie-fei.zang@freescale.com>,
	Simon Horman <horms@verge.net.au>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Tanmay Inamdar <tinamdar@apm.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Valentine Barshak <valentine.barshak@co>
Subject: Re: [PATCH 00/14] PCI: trivial demodularization of builtin code
Date: Fri, 22 Jul 2016 16:52:46 -0500	[thread overview]
Message-ID: <20160722215246.GB32142@localhost> (raw)
In-Reply-To: <20160702231334.26684-1-paul.gortmaker@windriver.com>

On Sat, Jul 02, 2016 at 07:13:20PM -0400, Paul Gortmaker wrote:
> Firstly, this group of commits was chosen for the fact that they don't
> change anything even at a binary object file level ; they just replace
> module_platform_driver with builtin_platform_driver, and remove some
> MODULE_<blah> tags that are no-ops in code.  So the regression risk
> is zero here.
> 
> More specifically, we are doing the following to pci/host files that
> currently can only be built-in:
> 
>  -- remove the include of module.h ; replace it with init.h as req'd
> 
>  -- drop instances of MODULE_DEVICE_TABLE which is a no-op built-in.
> 
>  -- replace module_platform_driver with builtin_platform_driver, which
>     is functionally identical once CPP has processed the source.
> 
>  -- drop instances of MODULE_LICENSE, MODULE_AUTHOR, MODULE_DESCRIPTION
>     while ensuring the contained info is present in the file comments.
> 
> After considering the inital version of demodularization PCI host
> commits[1], we did consider striving for tristate[2] on another
> subset of PCI host files in order to keep bzImage sizes lower on
> multi-platform builds, but that proved to have technical challenges
> well outside the scope of what we are trying to achieve here, given
> PCI is infrastructure code and not a case of simple endpoint
> drivers.
> 
> In the meantime more new code copies the existing examples of bool
> Kconfig using modular references; further expanding the problem
> space.  So we are just going to proceed with the demodularization
> as originally planned.  Nothing removed here is rocket science, and
> can easily be restored if someone has the hardware to test on and
> the desire to expand functionality into the tristate realm.
> 
> A more complete description of why we are doing this can be found
> in the original posting[1] for those that haven't seen it yet.
> 
> This represents just over 1/2 the PCI drivers that have their Kconfig
> as bool but needlessly use modular references.  The remainder do not
> deliver exact binary equivalence, since they delete unused __exit
> functions and/or unused ".remove" functions.  So they are more
> appropriate for submission earlier in the next development window.
> 
> Build tested for allmodconfig on several arch, including ARM and
> ARM-64 on the most recent linux-next baseline.
> 
> Paul.
> 
> [1] https://lkml.kernel.org/r/1449970917-12633-1-git-send-email-paul.gortmaker@windriver.com
> [2] https://lkml.kernel.org/r/1454889644-27830-1-git-send-email-paul.gortmaker@windriver.com
> 
> ---
> 
> [vs v1 in [1] above, I tweaked the subjects slightly to match the
>  format used by most PCI commits, i.e drop the "driver/" prefix. ]
> 
> Cc: Alexandre Courbot <gnurou@gmail.com>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Cc: David Daney <david.daney@cavium.com>
> Cc: Gabriele Paoloni <gabriele.paoloni@huawei.com>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Cc: Jesper Nilsson <jesper.nilsson@axis.com>
> Cc: Jingoo Han <jingoohan1@gmail.com>
> Cc: Joao Pinto <jpinto@synopsys.com>
> Cc: Minghuan Lian <minghuan.Lian@freescale.com>
> Cc: Mingkai Hu <mingkai.hu@freescale.com>
> Cc: Murali Karicheri <m-karicheri2@ti.com>
> Cc: Niklas Cassel <niklas.cassel@axis.com>
> Cc: Phil Edworthy <phil.edworthy@renesas.com>
> Cc: Pratyush Anand <pratyush.anand@gmail.com>
> Cc: Roy Zang <tie-fei.zang@freescale.com>
> Cc: Simon Horman <horms@verge.net.au>
> Cc: Stephen Warren <swarren@wwwdotorg.org>
> Cc: Tanmay Inamdar <tinamdar@apm.com>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Valentine Barshak <valentine.barshak@cogentembedded.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: Zhou Wang <wangzhou1@hisilicon.com>
> Cc: linux-pci@vger.kernel.org
> Cc: linux-tegra@vger.kernel.org
> 
> Paul Gortmaker (14):
>   PCI: armada8k: make it explicitly non-modular
>   PCI: artpec6: make it explicitly non-modular
>   PCI: designware-plat: make it explicitly non-modular
>   PCI: generic: make it explicitly non-modular
>   PCI: hisi: make it explicitly non-modular
>   PCI: keystone: make it explicitly non-modular
>   PCI: layerscape: make it explicitly non-modular
>   PCI: mvebu: make it explicitly non-modular
>   PCI: rcar: make it explicitly non-modular
>   PCI: rcar-gen2: make it explicitly non-modular
>   PCI: tegra: make it explicitly non-modular
>   PCI: thunder-ecam: make it explicitly non-modular
>   PCI: thunder-pem: make it explicitly non-modular
>   PCI: xgene: make it explicitly non-modular
> 
>  drivers/pci/host/pci-host-generic.c     | 10 ++--------
>  drivers/pci/host/pci-keystone.c         | 10 ++--------
>  drivers/pci/host/pci-layerscape.c       | 10 ++--------
>  drivers/pci/host/pci-mvebu.c            | 11 ++++-------
>  drivers/pci/host/pci-rcar-gen2.c        | 12 +++---------
>  drivers/pci/host/pci-tegra.c            | 11 ++++-------
>  drivers/pci/host/pci-thunder-ecam.c     |  8 ++------
>  drivers/pci/host/pci-thunder-pem.c      |  8 ++------
>  drivers/pci/host/pci-xgene.c            |  8 ++------
>  drivers/pci/host/pcie-armada8k.c        | 14 +++++---------
>  drivers/pci/host/pcie-artpec6.c         | 10 ++--------
>  drivers/pci/host/pcie-designware-plat.c | 10 ++--------
>  drivers/pci/host/pcie-hisi.c            | 13 ++-----------
>  drivers/pci/host/pcie-rcar.c            | 11 ++++-------
>  14 files changed, 38 insertions(+), 108 deletions(-)

Applied to pci/demodularize-hosts for v4.8, thanks, Paul!

  parent reply	other threads:[~2016-07-22 21:52 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-02 23:13 [PATCH 00/14] PCI: trivial demodularization of builtin code Paul Gortmaker
2016-07-02 23:13 ` Paul Gortmaker
2016-07-02 23:13 ` [PATCH 01/14] PCI: armada8k: make it explicitly non-modular Paul Gortmaker
2016-07-02 23:13 ` [PATCH 02/14] PCI: artpec6: " Paul Gortmaker
2016-07-02 23:13 ` [PATCH 03/14] PCI: designware-plat: " Paul Gortmaker
2016-07-04  9:09   ` Joao Pinto
2016-07-02 23:13 ` [PATCH 04/14] PCI: generic: " Paul Gortmaker
2016-07-04 17:37   ` Will Deacon
2016-07-05 20:19     ` David Daney
2016-07-06  4:25       ` Jayachandran C
2016-07-06 17:02   ` Will Deacon
2016-07-06 17:39     ` Paul Gortmaker
2016-07-02 23:13 ` [PATCH 05/14] PCI: hisi: " Paul Gortmaker
2016-07-02 23:13 ` [PATCH 06/14] PCI: keystone: " Paul Gortmaker
2016-07-06 19:28   ` Murali Karicheri
2016-07-02 23:13 ` [PATCH 07/14] PCI: layerscape: " Paul Gortmaker
2016-07-02 23:13 ` [PATCH 08/14] PCI: mvebu: " Paul Gortmaker
2016-07-02 23:13 ` [PATCH 09/14] PCI: rcar: " Paul Gortmaker
2016-07-02 23:13 ` [PATCH 10/14] PCI: rcar-gen2: " Paul Gortmaker
2016-07-02 23:13 ` [PATCH 11/14] PCI: tegra: " Paul Gortmaker
2016-07-02 23:13   ` Paul Gortmaker
2016-07-02 23:13 ` [PATCH 12/14] PCI: thunder-ecam: " Paul Gortmaker
2016-07-02 23:13 ` [PATCH 13/14] PCI: thunder-pem: " Paul Gortmaker
2016-07-02 23:13 ` [PATCH 14/14] PCI: xgene: " Paul Gortmaker
     [not found]   ` <CACoXjc=Tw2a_oCvxTmZY+7jeyyb9XvLF1yWx9FEPWekPBaAw1g@mail.gmail.com>
2016-07-07 22:42     ` Duc Dang
2016-07-09 23:15       ` Paul Gortmaker
2016-07-11 17:12         ` Duc Dang
2016-07-22 21:52 ` Bjorn Helgaas [this message]
2016-07-22 21:52   ` [PATCH 00/14] PCI: trivial demodularization of builtin code Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160722215246.GB32142@localhost \
    --to=helgaas@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=david.daney@cavium.com \
    --cc=gabriele.paoloni@huawei.com \
    --cc=gnurou@gmail.com \
    --cc=horms@verge.net.au \
    --cc=jason@lakedaemon.net \
    --cc=jesper.nilsson@axis.com \
    --cc=jingoohan1@gmail.com \
    --cc=jpinto@synopsys.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=m-karicheri2@ti.com \
    --cc=minghuan.Lian@freescale.com \
    --cc=mingkai.hu@freescale.com \
    --cc=niklas.cassel@axis.com \
    --cc=paul.gortmaker@windriver.com \
    --cc=phil.edworthy@renesas.com \
    --cc=pratyush.anand@gmail.com \
    --cc=swarren@wwwdotorg.org \
    --cc=thierry.reding@gmail.com \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=tie-fei.zang@freescale.com \
    --cc=tinamdar@apm.com \
    --cc=valentine.barshak@cogentembedded.com \
    --cc=wangzhou1@hisilicon.com \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.