Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1452852 > unrolled thread

[RFC PATCH 0/3] Add kconfig symbol as module attribute

Started byCristina Moraru <cristina.moraru09@gmail.com>
First post2016-07-31 17:40 +0200
Last post2016-08-08 19:30 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [RFC PATCH 0/3] Add kconfig symbol as module attribute Cristina Moraru <cristina.moraru09@gmail.com> - 2016-07-31 17:40 +0200
    Re: [RFC PATCH 0/3] Add kconfig symbol as module attribute "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-08-08 19:30 +0200

#1452852 — [RFC PATCH 0/3] Add kconfig symbol as module attribute

FromCristina Moraru <cristina.moraru09@gmail.com>
Date2016-07-31 17:40 +0200
Subject[RFC PATCH 0/3] Add kconfig symbol as module attribute
Message-ID<s110l-1W3-3@gated-at.bofh.it>
This patchset implements dynamic pegging of kconfig symbol
into driver modinfo section

* adds a kconfig symbol attribute to struct module
* updates streamline_config.pl to generate the auxiliary file
scripts/mod/Module.ksymb containing associations of driver file
names and corresponding kconfig symbols CONFIG_*
* updates modpost to use the information from Module.ksymb to
add the content of the attribute kconfig_symbol.

Please note that this patchset is part of a research and
currently does not provide complete correctness or efficiency.

The result of this patchset is the following: the attribute
kconfig_symbol is added but only for some modules, namely for
those for which the module name corresponds to the source file
name of the driver. This has been observed by the fact that
there are more srcversion attributes than kconfig_symbol. This
happens mostly because, in some cases, the driver name does not
match the registered module name (more details in the the PATCH2
commit message). Also, in file Module.ksymb some object names
have more than one CONFIG_* symbol. This is because that object
it may be a platform independent component that is linked to more
than one driver. So, all CONFIGs in which is found appear as
associated with this object. However, I'm guessing this doesn't
happen for final individual modules.
Currently, for the sake of the proof of concept, the first of
the CONFIG_* options is considered.

Usage:
First run 'make localmodconfig' in order to generate the .config
file and Module.ksymb file with the associations. Then compile
the kernel. In the machine booted with this kernel kconfig_symbol
attributes should appear in /sys instances of the modules.

Thanks,
Cristina

Cristina Moraru (3):
  Add kconfig_symbol attribute to struct module
  Add generation of Module.ksymb file in streamline_config.pl
  Add dynamic pegging of Kconfig symbol

 include/linux/module.h               |  1 +
 kernel/module.c                      |  1 +
 scripts/kconfig/streamline_config.pl | 20 +++++++++++++++
 scripts/mod/modpost.c                | 47 ++++++++++++++++++++++++++++++++++++
 scripts/mod/modpost.h                |  1 +
 5 files changed, 70 insertions(+)

-- 
2.7.4

[toc] | [next] | [standalone]


#1457936

From"Luis R. Rodriguez" <mcgrof@kernel.org>
Date2016-08-08 19:30 +0200
Message-ID<s3Wxc-4gT-17@gated-at.bofh.it>
In reply to#1452852
On Sun, Jul 31, 2016 at 05:33:49PM +0200, Cristina Moraru wrote:
> This patchset implements dynamic pegging of kconfig symbol
> into driver modinfo section
> 
> * adds a kconfig symbol attribute to struct module
> * updates streamline_config.pl to generate the auxiliary file
> scripts/mod/Module.ksymb containing associations of driver file
> names and corresponding kconfig symbols CONFIG_*
> * updates modpost to use the information from Module.ksymb to
> add the content of the attribute kconfig_symbol.
> 
> Please note that this patchset is part of a research and
> currently does not provide complete correctness or efficiency.
> 
> The result of this patchset is the following: the attribute
> kconfig_symbol is added but only for some modules, namely for
> those for which the module name corresponds to the source file
> name of the driver. This has been observed by the fact that
> there are more srcversion attributes than kconfig_symbol. This
> happens mostly because, in some cases, the driver name does not
> match the registered module name (more details in the the PATCH2
> commit message). Also, in file Module.ksymb some object names
> have more than one CONFIG_* symbol. This is because that object
> it may be a platform independent component that is linked to more
> than one driver. So, all CONFIGs in which is found appear as
> associated with this object. However, I'm guessing this doesn't
> happen for final individual modules.
> Currently, for the sake of the proof of concept, the first of
> the CONFIG_* options is considered.
> 
> Usage:
> First run 'make localmodconfig' in order to generate the .config
> file and Module.ksymb file with the associations. Then compile
> the kernel. In the machine booted with this kernel kconfig_symbol
> attributes should appear in /sys instances of the modules.

Thanks Cristina, it helps to explain the motivation. Can you help describe
that? In subsequent patch iterations please include that? I'll go review the
patches now!

  Luis

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web