* Re: [patch V2 00/18] mm/highmem: Preemptible variant of kmap_atomic & friends
From: Christophe Leroy @ 2020-10-31 15:05 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Juri Lelli, David Airlie, Sebastian Andrzej Siewior,
open list:BROADCOM NVRAM DRIVER, Ben Segall, Max Filippov,
Paul Mackerras, Matthew Wilcox, linux-sparc, Vincent Chen,
Ard Biesheuvel, linux-arch, Vincent Guittot, Paul McKenney,
the arch/x86 maintainers, Russell King, linux-csky,
Christoph Hellwig, Peter Zijlstra, Daniel Bristot de Oliveira,
open list:SYNOPSYS ARC ARCHITECTURE, Mel Gorman, Ingo Molnar,
linux-xtensa, Arnd Bergmann, Steven Rostedt, Greentime Hu,
Thomas Gleixner, Dietmar Eggemann, Linux ARM, Herbert Xu,
Chris Zankel, Michal Simek, Thomas Bogendoerfer, Nick Hu,
Linux-MM, Vineet Gupta, Linus Torvalds, LKML, Daniel Vetter,
Guo Ren, Andrew Morton, linuxppc-dev, David S. Miller
In-Reply-To: <CAK8P3a3FyKTHDSAPCyP8e7UA0LN3OvAatNK_vQ3tnBsdbou4sA@mail.gmail.com>
> There are also some users on 10+ year old 32-bit netbooks or
> business laptops, both x86 and Apple G4.
> The longest-lived 32-bit embedded systems with large memory
> (other than Arm) are probably NXP QorIQ P20xx/P40xx used in
> military VME bus systems, and low-end embedded systems based
> on Vortex86.
> I'm less worried about all of these because upstream kernel
> support for ppc32 and x86-32 is already bitrotting and they will
> likely get stuck on the last working kernel before the
> TI/Renesas/NXP Arm systems do.
>
Upstream kernel support for ppc32 is bitrotting, seriously ? What do
you mean exactly ?
ppc32 is actively supported, with recent addition of support of
hugepages, kasan, uaccess protection, VMAP stack, etc ...
Christophe
^ permalink raw reply
* Re: [patch V2 00/18] mm/highmem: Preemptible variant of kmap_atomic & friends
From: Arnd Bergmann @ 2020-10-31 13:37 UTC (permalink / raw)
To: Linus Torvalds
Cc: Juri Lelli, linux-xtensa, Peter Zijlstra,
Sebastian Andrzej Siewior, open list:BROADCOM NVRAM DRIVER,
Ben Segall, Linux-MM, Guo Ren, Matthew Wilcox, linux-sparc,
Vincent Chen, Ingo Molnar, linux-arch, Vincent Guittot,
Herbert Xu, the arch/x86 maintainers, Russell King, linux-csky,
Christoph Hellwig, David Airlie, Mel Gorman,
open list:SYNOPSYS ARC ARCHITECTURE, Ard Biesheuvel,
Paul McKenney, linuxppc-dev, Steven Rostedt, Greentime Hu,
Thomas Gleixner, Dietmar Eggemann, Linux ARM, Chris Zankel,
Michal Simek, Thomas Bogendoerfer, Nick Hu, Max Filippov,
Vineet Gupta, LKML, Arnd Bergmann, Daniel Vetter, Paul Mackerras,
Andrew Morton, Daniel Bristot de Oliveira, David S. Miller
In-Reply-To: <CAHk-=wjjO9BtTUAsLraqZqdzaPGJ-qvubZfwUsmRUX896eHcGw@mail.gmail.com>
On Fri, Oct 30, 2020 at 11:46 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> On Fri, Oct 30, 2020 at 3:26 PM Thomas Gleixner <tglx@linutronix.de> wrote:
> >
> > While at it I might have a look at that debug request from Willy in the
> > other end of this thread. Any comment on that?
> >
> > https://lore.kernel.org/r/87k0v7mrrd.fsf@nanos.tec.linutronix.de
>
> I do think that it would be nice to have a debug mode, particularly
> since over the last few years we've really lost a lot of HIGHMEM
> coverage (to the point that I've wondered how worthwhile it really is
> to support at all any more - I think it's Arnd who argued that it's
> mainly some embedded ARM variants that will want it for the forseeable
> future).
>
> So I'm honestly somewhat torn. I think HIGHMEM is dying, and yes that
> argues for "non-HIGHMEM had better have some debug coverage", but at
> the same time I think it doesn't even really matter any more.
Shifting the testing of highmem code to the actual users of highmem
sounds reasonable to me. This means it will get broken more often,
but if it doesn't happen all the time, it might serve as a canary:
once a bug survives for long enough, we have a good indication that
users stopped caring ;-)
> At some
> point those embedded ARM platforms just aren't even interesting - they
> might as well use older kernels if they are the only thing really
> arguing for HIGHMEM at all.
Agreed, but it does need a little time to get there. My best guess is three
to five years from now we can remove it for good, provided a few things
happen first:
1. The remaining users of TI Keystone2, NXP i.MX6 Quad(Plus) and
Renesas R8A7790/R8A7791/R8A7742/R8A7743 that use the
largest memory configuration must have stopped requiring kernel
version updates.
These were all introduced at the peak of 32-bit Arm embedded
systems around 2013, but they have long (15+ year) product
life cycles and users pick these because they do promise kernel
updates, unlike other SoC families that get stuck on old vendor
kernels much earlier.
2. The plan to add a CONFIG_VMSPLIT_4G_4G option on arch/arm/
must work out. We don't have all the code yet, and so far it looks
like it's going to be a bit ugly and a bit slow but not nearly as ugly
or slow as it was on x86 20 years ago.
This would cover Cortex-A7/A15 systems from 2GB to 4GB,
which are still fairly common and need to keep using mainline
kernels for much longer than the system in point 1.
It won't help on Cortex-A9 machines with 2GB, which I hope can
migrate CONFIG_VMSPLIT_2G_OPT as a fallback.
3. No new systems with larger memory must appear. I noticed that
e.g. the newly introduced Rockchips RV1109 and Allwinner
A50/R328/V316 support LP-DDR4 on a dual Cortex-A7, but I
hope that nobody will in practice combine a $2 SoC with a $15
memory chip.
Most other 32-bit chips use DDR3, which tends to prohibit
configurations over 4GB in new designs, with the cheapest
ones limited to 512MB (a single 256Mx16 chip) and the
high end having already moved on to 64 bit.
Regarding 32-bit non-Arm systems, support for the MIPS-based
Baikal T1 was merged earlier this year and is used in Russian
PC style systems with up to 8GB.
There are also some users on 10+ year old 32-bit netbooks or
business laptops, both x86 and Apple G4.
The longest-lived 32-bit embedded systems with large memory
(other than Arm) are probably NXP QorIQ P20xx/P40xx used in
military VME bus systems, and low-end embedded systems based
on Vortex86.
I'm less worried about all of these because upstream kernel
support for ppc32 and x86-32 is already bitrotting and they will
likely get stuck on the last working kernel before the
TI/Renesas/NXP Arm systems do.
Arnd
^ permalink raw reply
* RE: [PATCH v2 31/39] docs: ABI: cleanup several ABI documents
From: Peter Chen @ 2020-10-30 23:23 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linux Doc Mailing List
Cc: Andrew Lunn, Linus Walleij, Jerry Snitselaar,
dri-devel@lists.freedesktop.org, Pavel Machek, Christian Gromm,
ceph-devel@vger.kernel.org, Bart Van Assche,
linux-acpi@vger.kernel.org, Danil Kipnis, Samuel Thibault,
Guenter Roeck, Ohad Ben-Cohen, linux-pm@vger.kernel.org,
Alexander Antonov, Dan Murphy, Thomas Gleixner, Stefan Achatz,
Konstantin Khlebnikov, Jingoo Han, Rafael J. Wysocki,
linux-kernel@vger.kernel.org, Greg Kroah-Hartman, Hans Verkuil,
Wu Hao, Vineela Tummalapalli, Peter Meerwald-Stadler,
Srinivas Kandagatla, Hanjun Guo, Oleh Kravchenko,
Lars-Peter Clausen, Andy Shevchenko, Saravana Kannan,
Anton Vorontsov, Marek Marczykowski-Górecki,
linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski,
Len Brown, Alexandre Torgue, Michael Hennerich, Suzuki K Poulose,
coresight@lists.linaro.org, linux-media@vger.kernel.org,
Frederic Barrat, Bjorn Helgaas, Jaegeuk Kim, Boris Ostrovsky,
Mika Westerberg, linux-arm-kernel@lists.infradead.org,
Oded Gabbay, Tony Luck, Mathieu Poirier, Boris Brezillon,
PrasannaKumar Muralidharan, linux-gpio@vger.kernel.org,
Dongsheng Yang, linux-f2fs-devel@lists.sourceforge.net,
Jarkko Sakkinen, Maxime Coquelin, Vaibhav Jain, Pali Rohár,
Jonathan Cameron, Heiner Kallweit, Gautham R. Shenoy,
Cezary Rojewski, Mario Limonciello, Alexander Shishkin, Tom Rix,
linux-fpga@vger.kernel.org, Rasmus Villemoes, Jonas Meurer,
Daniel Thompson, Florian Fainelli, Mark Gross, Jonathan Corbet,
Ilya Dryomov, Jack Wang, Kees Cook, Dan Williams, Kranthi Kuntala,
Dmitry Torokhov, Sebastian Reichel, Colin Cross,
Enric Balletbo i Serra, Roman Sudarikov, Roger Pau Monné,
Peter Zijlstra (Intel), linux-remoteproc@vger.kernel.org,
Bjorn Andersson, linux-i3c@lists.infradead.org, Lee Jones,
Russell King, Marek Behún, Jason Gunthorpe, Pawan Gupta,
Mike Leach, Andrew Donnellan, Kajol Jain, Chao Yu, Johan Hovold,
Andreas Klinger, Jonathan Cameron, David Sterba, Jens Axboe,
netdev@vger.kernel.org, linux-iio@vger.kernel.org, Asutosh Das,
linuxppc-dev@lists.ozlabs.org
In-Reply-To: <5bc78e5b68ed1e9e39135173857cb2e753be868f.1604042072.git.mchehab+huawei@kernel.org>
Acked-by: Peter Chen <peter.chen@nxp.com>
For:
Documentation/ABI/testing/usb-charger-uevent
Peter
^ permalink raw reply
* Re: [PATCH v2 20/39] docs: ABI: testing: make the files compatible with ReST output
From: Frederic Barrat @ 2020-10-30 17:26 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linux Doc Mailing List
Cc: Gautham R. Shenoy, Jason A. Donenfeld, Heikki Krogerus,
Peter Meerwald-Stadler, Petr Mladek, Mario Limonciello,
Alexander Shishkin, Tom Rix, Jonathan Cameron, Alexandre Belloni,
Mimi Zohar, Sebastian Reichel, linux-mm, Bruno Meneguele,
Vishal Verma, Pavel Machek, Hanjun Guo, Guenter Roeck, netdev,
Oleh Kravchenko, Dan Williams, Andrew Donnellan,
Javier González, Andy Shevchenko, Mark Gross, linux-acpi,
Jonathan Corbet, Chunyan Zhang, Nayna Jain, linux-stm32,
Lakshmi Ramasubramanian, Ludovic Desroches, Pawan Gupta,
linux-arm-kernel, Orson Zhai, Niklas Cassel, Len Brown,
Juergen Gross, linuxppc-dev, Mika Westerberg, Alexandre Torgue,
linux-pm, linux-kernel, Richard Cochran, Oded Gabbay, Baolin Wang,
Lars-Peter Clausen, Dan Murphy, xen-devel, Philippe Bergheaud,
Boris Ostrovsky, Fabrice Gasnier, Benson Leung,
Konstantin Khlebnikov, Jens Axboe, Felipe Balbi, Kranthi Kuntala,
Martin K. Petersen, Greg Kroah-Hartman, linux-usb,
Rafael J. Wysocki, Nicolas Ferre, linux-iio, Thinh Nguyen,
Sergey Senozhatsky, Stefano Stabellini, Thomas Gleixner,
Leonid Maksymchuk, Maxime Coquelin, Johannes Thumshirn,
Enric Balletbo i Serra, Vaibhav Jain, Vineela Tummalapalli,
Peter Rosin, Jonathan Cameron, Mike Kravetz
In-Reply-To: <58cf3c2d611e0197fb215652719ebd82ca2658db.1604042072.git.mchehab+huawei@kernel.org>
Le 30/10/2020 à 08:40, Mauro Carvalho Chehab a écrit :
> Some files over there won't parse well by Sphinx.
>
> Fix them.
>
> Acked-by: Jonathan Cameron<Jonathan.Cameron@huawei.com> # for IIO
> Signed-off-by: Mauro Carvalho Chehab<mchehab+huawei@kernel.org>
> ---
...
> Documentation/ABI/testing/sysfs-class-cxl | 15 +-
...
> Documentation/ABI/testing/sysfs-class-ocxl | 3 +
Patches 20, 28 and 31 look good for cxl and ocxl.
Acked-by: Frederic Barrat <fbarrat@linux.ibm.com>
Fred
^ permalink raw reply
* Re: [PATCH v2 31/39] docs: ABI: cleanup several ABI documents
From: Mathieu Poirier @ 2020-10-30 16:42 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Andrew Lunn, Peter Chen, Linus Walleij, Jerry Snitselaar,
dri-devel, Pavel Machek, Christian Gromm, ceph-devel,
Bart Van Assche, linux-acpi, Danil Kipnis, Samuel Thibault,
Guenter Roeck, Ohad Ben-Cohen, linux-pm, Alexander Antonov,
Dan Murphy, Thomas Gleixner, Stefan Achatz, Konstantin Khlebnikov,
Jingoo Han, Rafael J. Wysocki, Linux Kernel Mailing List,
Greg Kroah-Hartman, Hans Verkuil, Wu Hao, Vineela Tummalapalli,
Peter Meerwald-Stadler, Linux Doc Mailing List,
Srinivas Kandagatla, Hanjun Guo, Oleh Kravchenko,
Lars-Peter Clausen, Andy Shevchenko, Saravana Kannan,
Anton Vorontsov, Marek Marczykowski-Górecki, linux-stm32,
Bartosz Golaszewski, Len Brown, Alexandre Torgue,
Michael Hennerich, Suzuki K Poulose, Coresight ML, linux-media,
Frederic Barrat, Bjorn Helgaas, Jaegeuk Kim, Boris Ostrovsky,
Mika Westerberg, linux-arm-kernel, Oded Gabbay, Tony Luck,
Boris Brezillon, PrasannaKumar Muralidharan, linux-gpio,
Dongsheng Yang, linux-f2fs-devel, Jarkko Sakkinen,
Maxime Coquelin, Vaibhav Jain, Pali Rohár, Jonathan Cameron,
Heiner Kallweit, Gautham R. Shenoy, Cezary Rojewski,
Mario Limonciello, Alexander Shishkin, Tom Rix, linux-fpga,
Rasmus Villemoes, Jonas Meurer, Daniel Thompson, Florian Fainelli,
Mark Gross, Jonathan Corbet, Ilya Dryomov, Jack Wang, Kees Cook,
Dan Williams, Kranthi Kuntala, Dmitry Torokhov, Sebastian Reichel,
Colin Cross, Enric Balletbo i Serra, Roman Sudarikov,
Roger Pau Monné, Peter Zijlstra (Intel), linux-remoteproc,
Bjorn Andersson, linux-i3c, Lee Jones, Russell King,
Marek Behún, Jason Gunthorpe, Pawan Gupta, Mike Leach,
Andrew Donnellan, Kajol Jain, Chao Yu, Johan Hovold,
Andreas Klinger, Jonathan Cameron, David Sterba, Jens Axboe,
netdev, linux-iio, Asutosh Das, linuxppc-dev
In-Reply-To: <5bc78e5b68ed1e9e39135173857cb2e753be868f.1604042072.git.mchehab+huawei@kernel.org>
On Fri, 30 Oct 2020 at 01:41, Mauro Carvalho Chehab
<mchehab+huawei@kernel.org> wrote:
>
> There are some ABI documents that, while they don't generate
> any warnings, they have issues when parsed by get_abi.pl script
> on its output result.
>
> Address them, in order to provide a clean output.
>
> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for IIO
> Reviewed-by: Tom Rix <trix@redhat.com> # for fpga-manager
> Reviewed-By: Kajol Jain<kjain@linux.ibm.com> # for sysfs-bus-event_source-devices-hv_gpci and sysfs-bus-event_source-devices-hv_24x7
> Acked-by: Oded Gabbay <oded.gabbay@gmail.com> # for Habanalabs
> Acked-by: Vaibhav Jain <vaibhav@linux.ibm.com> # for sysfs-bus-papr-pmem
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
> .../testing/sysfs-bus-coresight-devices-etb10 | 5 +-
For the CoreSight part:
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
^ permalink raw reply
* Re: [patch V2 00/18] mm/highmem: Preemptible variant of kmap_atomic & friends
From: Thomas Gleixner @ 2020-10-30 23:53 UTC (permalink / raw)
To: Linus Torvalds
Cc: Juri Lelli, linux-xtensa, Peter Zijlstra,
Sebastian Andrzej Siewior, linux-mips, Ben Segall, Linux-MM,
Guo Ren, Matthew Wilcox, linux-sparc, Vincent Chen, Ingo Molnar,
linux-arch, Vincent Guittot, Herbert Xu, the arch/x86 maintainers,
Russell King, linux-csky, Christoph Hellwig, David Airlie,
Mel Gorman, open list:SYNOPSYS ARC ARCHITECTURE, Ard Biesheuvel,
Paul McKenney, linuxppc-dev, Steven Rostedt, Greentime Hu,
Dietmar Eggemann, Linux ARM, Chris Zankel, Michal Simek,
Thomas Bogendoerfer, Nick Hu, Max Filippov, Vineet Gupta, LKML,
Arnd Bergmann, Daniel Vetter, Paul Mackerras, Andrew Morton,
Daniel Bristot de Oliveira, David S. Miller
In-Reply-To: <87pn4zl2ia.fsf@nanos.tec.linutronix.de>
On Sat, Oct 31 2020 at 00:26, Thomas Gleixner wrote:
> On Fri, Oct 30 2020 at 15:46, Linus Torvalds wrote:
>> On Fri, Oct 30, 2020 at 3:26 PM Thomas Gleixner <tglx@linutronix.de> wrote:
>> To me, your patch series has two big advantages:
>>
>> - more common code
>>
>> - kmap_local() becomes more of a no-op
>>
>> and the last thing we want is to expand on kmap.
>
> Happy to go with that.
>
> While trying to document the mess, I just stumbled over the abuse of
> kmap_atomic_prot() in
>
> drivers/gpu/drm/ttm/ttm_bo_util.c: dst = kmap_atomic_prot(d, prot);
> drivers/gpu/drm/ttm/ttm_bo_util.c: src = kmap_atomic_prot(s, prot);
> drivers/gpu/drm/vmwgfx/vmwgfx_blit.c: kmap_atomic_prot(d->dst_pages[dst_page],
> drivers/gpu/drm/vmwgfx/vmwgfx_blit.c: kmap_atomic_prot(d->src_pages[src_page],
>
> For !HIGHMEM kmap_atomic_prot() just ignores the 'prot' argument and
> returns the page address.
>
> Moar patches to be written ... Sigh!
Or not. This is actually correct by some definition of correct. For
the non highmem case pgprot is set via the set_memory_*() functions and
this just handles the highmem case.
Comments are overrrated...
^ permalink raw reply
* Re: [patch V2 00/18] mm/highmem: Preemptible variant of kmap_atomic & friends
From: Thomas Gleixner @ 2020-10-30 23:26 UTC (permalink / raw)
To: Linus Torvalds
Cc: Juri Lelli, linux-xtensa, Peter Zijlstra,
Sebastian Andrzej Siewior, linux-mips, Ben Segall, Linux-MM,
Guo Ren, Matthew Wilcox, linux-sparc, Vincent Chen, Ingo Molnar,
linux-arch, Vincent Guittot, Herbert Xu, the arch/x86 maintainers,
Russell King, linux-csky, Christoph Hellwig, David Airlie,
Mel Gorman, open list:SYNOPSYS ARC ARCHITECTURE, Ard Biesheuvel,
Paul McKenney, linuxppc-dev, Steven Rostedt, Greentime Hu,
Dietmar Eggemann, Linux ARM, Chris Zankel, Michal Simek,
Thomas Bogendoerfer, Nick Hu, Max Filippov, Vineet Gupta, LKML,
Arnd Bergmann, Daniel Vetter, Paul Mackerras, Andrew Morton,
Daniel Bristot de Oliveira, David S. Miller
In-Reply-To: <CAHk-=wjjO9BtTUAsLraqZqdzaPGJ-qvubZfwUsmRUX896eHcGw@mail.gmail.com>
On Fri, Oct 30 2020 at 15:46, Linus Torvalds wrote:
> On Fri, Oct 30, 2020 at 3:26 PM Thomas Gleixner <tglx@linutronix.de> wrote:
> To me, your patch series has two big advantages:
>
> - more common code
>
> - kmap_local() becomes more of a no-op
>
> and the last thing we want is to expand on kmap.
Happy to go with that.
While trying to document the mess, I just stumbled over the abuse of
kmap_atomic_prot() in
drivers/gpu/drm/ttm/ttm_bo_util.c: dst = kmap_atomic_prot(d, prot);
drivers/gpu/drm/ttm/ttm_bo_util.c: src = kmap_atomic_prot(s, prot);
drivers/gpu/drm/vmwgfx/vmwgfx_blit.c: kmap_atomic_prot(d->dst_pages[dst_page],
drivers/gpu/drm/vmwgfx/vmwgfx_blit.c: kmap_atomic_prot(d->src_pages[src_page],
For !HIGHMEM kmap_atomic_prot() just ignores the 'prot' argument and
returns the page address.
Moar patches to be written ... Sigh!
Thanks,
tglx
^ permalink raw reply
* Re: [patch V2 00/18] mm/highmem: Preemptible variant of kmap_atomic & friends
From: Linus Torvalds @ 2020-10-30 22:46 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Juri Lelli, linux-xtensa, Peter Zijlstra,
Sebastian Andrzej Siewior, linux-mips, Ben Segall, Linux-MM,
Guo Ren, Matthew Wilcox, linux-sparc, Vincent Chen, Ingo Molnar,
linux-arch, Vincent Guittot, Herbert Xu, the arch/x86 maintainers,
Russell King, linux-csky, Christoph Hellwig, David Airlie,
Mel Gorman, open list:SYNOPSYS ARC ARCHITECTURE, Ard Biesheuvel,
Paul McKenney, linuxppc-dev, Steven Rostedt, Greentime Hu,
Dietmar Eggemann, Linux ARM, Chris Zankel, Michal Simek,
Thomas Bogendoerfer, Nick Hu, Max Filippov, Vineet Gupta, LKML,
Arnd Bergmann, Daniel Vetter, Paul Mackerras, Andrew Morton,
Daniel Bristot de Oliveira, David S. Miller
In-Reply-To: <87sg9vl59i.fsf@nanos.tec.linutronix.de>
On Fri, Oct 30, 2020 at 3:26 PM Thomas Gleixner <tglx@linutronix.de> wrote:
>
> While at it I might have a look at that debug request from Willy in the
> other end of this thread. Any comment on that?
>
> https://lore.kernel.org/r/87k0v7mrrd.fsf@nanos.tec.linutronix.de
I do think that it would be nice to have a debug mode, particularly
since over the last few years we've really lost a lot of HIGHMEM
coverage (to the point that I've wondered how worthwhile it really is
to support at all any more - I think it's Arnd who argued that it's
mainly some embedded ARM variants that will want it for the forseeable
future).
So I'm honestly somewhat torn. I think HIGHMEM is dying, and yes that
argues for "non-HIGHMEM had better have some debug coverage", but at
the same time I think it doesn't even really matter any more. At some
point those embedded ARM platforms just aren't even interesting - they
might as well use older kernels if they are the only thing really
arguing for HIGHMEM at all.
This is one reason why I'd like the new kmap_local() to be a no-op,
and I'd prefer for it to have no other side effects - because I want
to be ready to remove it entirely some day. And if we end up having
some transition where people start rewriting "kmap_atomic()" to be
"kmap_local() + explicit preemption disable", then I think that would
be a good step on that whole "kmap will eventually go away" path.
But I do *not* believe that we need to add _so_ much debug support
that we'd catch Willy's "more than one page" case. And I absolutely do
not believe for a second that we should start caring about compound
pages. NO. kmap() is almost dead already, we're not making it worse.
To me, your patch series has two big advantages:
- more common code
- kmap_local() becomes more of a no-op
and the last thing we want is to expand on kmap.
Linus
^ permalink raw reply
* Re: [patch V2 00/18] mm/highmem: Preemptible variant of kmap_atomic & friends
From: Thomas Gleixner @ 2020-10-30 22:26 UTC (permalink / raw)
To: Linus Torvalds
Cc: Juri Lelli, linux-xtensa, Peter Zijlstra,
Sebastian Andrzej Siewior, linux-mips, Ben Segall, Linux-MM,
Guo Ren, Matthew Wilcox, linux-sparc, Vincent Chen, Ingo Molnar,
linux-arch, Vincent Guittot, Herbert Xu, the arch/x86 maintainers,
Russell King, linux-csky, Christoph Hellwig, David Airlie,
Mel Gorman, open list:SYNOPSYS ARC ARCHITECTURE, Ard Biesheuvel,
Paul McKenney, linuxppc-dev, Steven Rostedt, Greentime Hu,
Dietmar Eggemann, Linux ARM, Chris Zankel, Michal Simek,
Thomas Bogendoerfer, Nick Hu, Max Filippov, Vineet Gupta, LKML,
Arnd Bergmann, Daniel Vetter, Paul Mackerras, Andrew Morton,
Daniel Bristot de Oliveira, David S. Miller
In-Reply-To: <CAHk-=whsJv0bwWRVZHsLoSe48ykAea6T7Oi=G+r8ckLrZ0YUpg@mail.gmail.com>
On Fri, Oct 30 2020 at 13:28, Linus Torvalds wrote:
> On Fri, Oct 30, 2020 at 2:39 AM Thomas Gleixner <tglx@linutronix.de> wrote:
>>
>> But then we really should not name it kmap_local. 'local' suggests
>> locality, think local_irq*, local_bh* ... kmap_task would be more
>> accurate then.
>
> So the main reason I'd like to see it is because I think on a
> non-highmem machine, the new kmap should be a complete no-op. IOW,
> we'd make sure that there are no costs, no need to increment any
> "restrict migration" counts etc.
Fair enough.
> It's been a bit of a pain to have kmap_atomic() have magical side
> semantics that people might then depend on.
kmap_atomic() will still have the side semantics :)
> I think "local" could still work as a name, because it would have to
> be thread-local (and maybe we'd want a debug mode where that gets
> verified, as actual HIGHMEM machines are getting rare).
>
> I'd avoid "task", because that implies (to me, at least) that it
> wouldn't be good for interrupts etc that don't have a task context.
>
> I think the main issue is that it has to be released in the same
> context as it was created (ie no passing those things around to other
> contexts). I think "local" is fine for that, but I could imagine other
> names. The ones that come to mind are somewhat cumbersome, though
> ("shortterm" or "local_ctx" or something along those lines).
Yeah, not really intuitive either.
Let's stick with _local and add proper function documentation which
clearly says, that the side effect of non-migratability applies only for
the 32bit highmem case in order to make it work at all.
So code which needs CPU locality cannot rely on it and we have enough
debug stuff to catch something like:
kmap_local()
this_cpu_write(....)
kunmap_local()
Let me redo the pile.
While at it I might have a look at that debug request from Willy in the
other end of this thread. Any comment on that?
https://lore.kernel.org/r/87k0v7mrrd.fsf@nanos.tec.linutronix.de
Thanks,
tglx
^ permalink raw reply
* [PATCH 05/11 v2] kprobes/ftrace: Add recursion protection to the ftrace callback
From: Steven Rostedt @ 2020-10-30 21:31 UTC (permalink / raw)
To: linux-kernel
Cc: Peter Zijlstra, James E.J. Bottomley, Guo Ren, linux-csky,
H. Peter Anvin, Miroslav Benes, Ingo Molnar, linux-s390,
Helge Deller, x86, Anil S Keshavamurthy, Christian Borntraeger,
Naveen N. Rao, Petr Mladek, Vasily Gorbik, Heiko Carstens,
Jiri Kosina, Borislav Petkov, Josh Poimboeuf, Thomas Gleixner,
linux-parisc, Masami Hiramatsu, Paul Mackerras, Andrew Morton,
linuxppc-dev, David S. Miller
In-Reply-To: <20201030213142.096102821@goodmis.org>
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
If a ftrace callback does not supply its own recursion protection and
does not set the RECURSION_SAFE flag in its ftrace_ops, then ftrace will
make a helper trampoline to do so before calling the callback instead of
just calling the callback directly.
The default for ftrace_ops is going to change. It will expect that handlers
provide their own recursion protection, unless its ftrace_ops states
otherwise.
Link: https://lkml.kernel.org/r/20201028115613.140212174@goodmis.org
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Guo Ren <guoren@kernel.org>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: "Naveen N. Rao" <naveen.n.rao@linux.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: linux-csky@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-s390@vger.kernel.org
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
arch/csky/kernel/probes/ftrace.c | 12 ++++++++++--
arch/parisc/kernel/ftrace.c | 13 +++++++++++--
arch/powerpc/kernel/kprobes-ftrace.c | 11 ++++++++++-
arch/s390/kernel/ftrace.c | 13 +++++++++++--
arch/x86/kernel/kprobes/ftrace.c | 12 ++++++++++--
5 files changed, 52 insertions(+), 9 deletions(-)
diff --git a/arch/csky/kernel/probes/ftrace.c b/arch/csky/kernel/probes/ftrace.c
index 5264763d05be..5eb2604fdf71 100644
--- a/arch/csky/kernel/probes/ftrace.c
+++ b/arch/csky/kernel/probes/ftrace.c
@@ -13,16 +13,21 @@ int arch_check_ftrace_location(struct kprobe *p)
void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
struct ftrace_ops *ops, struct pt_regs *regs)
{
+ int bit;
bool lr_saver = false;
struct kprobe *p;
struct kprobe_ctlblk *kcb;
- /* Preempt is disabled by ftrace */
+ bit = ftrace_test_recursion_trylock();
+ if (bit < 0)
+ return;
+
+ preempt_disable_notrace();
p = get_kprobe((kprobe_opcode_t *)ip);
if (!p) {
p = get_kprobe((kprobe_opcode_t *)(ip - MCOUNT_INSN_SIZE));
if (unlikely(!p) || kprobe_disabled(p))
- return;
+ goto out;
lr_saver = true;
}
@@ -56,6 +61,9 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
*/
__this_cpu_write(current_kprobe, NULL);
}
+out:
+ preempt_enable_notrace();
+ ftrace_test_recursion_unlock(bit);
}
NOKPROBE_SYMBOL(kprobe_ftrace_handler);
diff --git a/arch/parisc/kernel/ftrace.c b/arch/parisc/kernel/ftrace.c
index 63e3ecb9da81..4b1fdf15662c 100644
--- a/arch/parisc/kernel/ftrace.c
+++ b/arch/parisc/kernel/ftrace.c
@@ -208,13 +208,19 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
{
struct kprobe_ctlblk *kcb;
struct kprobe *p = get_kprobe((kprobe_opcode_t *)ip);
+ int bit;
- if (unlikely(!p) || kprobe_disabled(p))
+ bit = ftrace_test_recursion_trylock();
+ if (bit < 0)
return;
+ preempt_disable_notrace();
+ if (unlikely(!p) || kprobe_disabled(p))
+ goto out;
+
if (kprobe_running()) {
kprobes_inc_nmissed_count(p);
- return;
+ goto out;
}
__this_cpu_write(current_kprobe, p);
@@ -235,6 +241,9 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
}
}
__this_cpu_write(current_kprobe, NULL);
+out:
+ preempt_enable_notrace();
+ ftrace_test_recursion_unlock(bit);
}
NOKPROBE_SYMBOL(kprobe_ftrace_handler);
diff --git a/arch/powerpc/kernel/kprobes-ftrace.c b/arch/powerpc/kernel/kprobes-ftrace.c
index 972cb28174b2..5df8d50c65ae 100644
--- a/arch/powerpc/kernel/kprobes-ftrace.c
+++ b/arch/powerpc/kernel/kprobes-ftrace.c
@@ -18,10 +18,16 @@ void kprobe_ftrace_handler(unsigned long nip, unsigned long parent_nip,
{
struct kprobe *p;
struct kprobe_ctlblk *kcb;
+ int bit;
+ bit = ftrace_test_recursion_trylock();
+ if (bit < 0)
+ return;
+
+ preempt_disable_notrace();
p = get_kprobe((kprobe_opcode_t *)nip);
if (unlikely(!p) || kprobe_disabled(p))
- return;
+ goto out;
kcb = get_kprobe_ctlblk();
if (kprobe_running()) {
@@ -52,6 +58,9 @@ void kprobe_ftrace_handler(unsigned long nip, unsigned long parent_nip,
*/
__this_cpu_write(current_kprobe, NULL);
}
+out:
+ preempt_enable_notrace();
+ ftrace_test_recursion_unlock(bit);
}
NOKPROBE_SYMBOL(kprobe_ftrace_handler);
diff --git a/arch/s390/kernel/ftrace.c b/arch/s390/kernel/ftrace.c
index b388e87a08bf..88466d7fb6b2 100644
--- a/arch/s390/kernel/ftrace.c
+++ b/arch/s390/kernel/ftrace.c
@@ -202,13 +202,19 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
{
struct kprobe_ctlblk *kcb;
struct kprobe *p = get_kprobe((kprobe_opcode_t *)ip);
+ int bit;
- if (unlikely(!p) || kprobe_disabled(p))
+ bit = ftrace_test_recursion_trylock();
+ if (bit < 0)
return;
+ preempt_disable_notrace();
+ if (unlikely(!p) || kprobe_disabled(p))
+ goto out;
+
if (kprobe_running()) {
kprobes_inc_nmissed_count(p);
- return;
+ goto out;
}
__this_cpu_write(current_kprobe, p);
@@ -228,6 +234,9 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
}
}
__this_cpu_write(current_kprobe, NULL);
+out:
+ preempt_enable_notrace();
+ ftrace_test_recursion_unlock(bit);
}
NOKPROBE_SYMBOL(kprobe_ftrace_handler);
diff --git a/arch/x86/kernel/kprobes/ftrace.c b/arch/x86/kernel/kprobes/ftrace.c
index 681a4b36e9bb..a40a6cdfcca3 100644
--- a/arch/x86/kernel/kprobes/ftrace.c
+++ b/arch/x86/kernel/kprobes/ftrace.c
@@ -18,11 +18,16 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
{
struct kprobe *p;
struct kprobe_ctlblk *kcb;
+ int bit;
- /* Preempt is disabled by ftrace */
+ bit = ftrace_test_recursion_trylock();
+ if (bit < 0)
+ return;
+
+ preempt_disable_notrace();
p = get_kprobe((kprobe_opcode_t *)ip);
if (unlikely(!p) || kprobe_disabled(p))
- return;
+ goto out;
kcb = get_kprobe_ctlblk();
if (kprobe_running()) {
@@ -52,6 +57,9 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
*/
__this_cpu_write(current_kprobe, NULL);
}
+out:
+ preempt_enable_notrace();
+ ftrace_test_recursion_unlock(bit);
}
NOKPROBE_SYMBOL(kprobe_ftrace_handler);
--
2.28.0
^ permalink raw reply related
* [PATCH 11/11 v2] ftrace: Add recording of functions that caused recursion
From: Steven Rostedt @ 2020-10-30 21:31 UTC (permalink / raw)
To: linux-kernel
Cc: Anton Vorontsov, linux-doc, Peter Zijlstra,
Sebastian Andrzej Siewior, Kamalesh Babulal, James E.J. Bottomley,
Guo Ren, H. Peter Anvin, live-patching, Miroslav Benes,
Ingo Molnar, linux-s390, Joe Lawrence, Jonathan Corbet,
Mauro Carvalho Chehab, Helge Deller, x86, linux-csky,
Christian Borntraeger, Petr Mladek, Kees Cook, Vasily Gorbik,
Heiko Carstens, Jiri Kosina, Borislav Petkov, Josh Poimboeuf,
Thomas Gleixner, Tony Luck, linux-parisc, Masami Hiramatsu,
Colin Cross, Paul Mackerras, Andrew Morton, linuxppc-dev
In-Reply-To: <20201030213142.096102821@goodmis.org>
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
This adds CONFIG_FTRACE_RECORD_RECURSION that will record to a file
"recursed_functions" all the functions that caused recursion while a
callback to the function tracer was running.
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Guo Ren <guoren@kernel.org>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Colin Cross <ccross@android.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Jiri Kosina <jikos@kernel.org>
Cc: Miroslav Benes <mbenes@suse.cz>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Joe Lawrence <joe.lawrence@redhat.com>
Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: linux-doc@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-csky@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-s390@vger.kernel.org
Cc: live-patching@vger.kernel.org
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
Documentation/trace/ftrace-uses.rst | 6 +-
arch/csky/kernel/probes/ftrace.c | 2 +-
arch/parisc/kernel/ftrace.c | 2 +-
arch/powerpc/kernel/kprobes-ftrace.c | 2 +-
arch/s390/kernel/ftrace.c | 2 +-
arch/x86/kernel/kprobes/ftrace.c | 2 +-
fs/pstore/ftrace.c | 2 +-
include/linux/trace_recursion.h | 32 +++-
kernel/livepatch/patch.c | 2 +-
kernel/trace/Kconfig | 25 +++
kernel/trace/Makefile | 1 +
kernel/trace/ftrace.c | 4 +-
kernel/trace/trace_event_perf.c | 2 +-
kernel/trace/trace_functions.c | 2 +-
kernel/trace/trace_output.c | 6 +-
kernel/trace/trace_output.h | 1 +
kernel/trace/trace_recursion_record.c | 220 ++++++++++++++++++++++++++
17 files changed, 293 insertions(+), 20 deletions(-)
create mode 100644 kernel/trace/trace_recursion_record.c
diff --git a/Documentation/trace/ftrace-uses.rst b/Documentation/trace/ftrace-uses.rst
index 86cd14b8e126..5981d5691745 100644
--- a/Documentation/trace/ftrace-uses.rst
+++ b/Documentation/trace/ftrace-uses.rst
@@ -118,7 +118,7 @@ can help in this regard. If you start your code with:
int bit;
- bit = ftrace_test_recursion_trylock();
+ bit = ftrace_test_recursion_trylock(ip, parent_ip);
if (bit < 0)
return;
@@ -130,7 +130,9 @@ The code in between will be safe to use, even if it ends up calling a
function that the callback is tracing. Note, on success,
ftrace_test_recursion_trylock() will disable preemption, and the
ftrace_test_recursion_unlock() will enable it again (if it was previously
-enabled).
+enabled). The instruction pointer (ip) and its parent (parent_ip) is passed to
+ftrace_test_recursion_trylock() to record where the recursion happened
+(if CONFIG_FTRACE_RECORD_RECURSION is set).
Alternatively, if the FTRACE_OPS_FL_RECURSION flag is set on the ftrace_ops
(as explained below), then a helper trampoline will be used to test
diff --git a/arch/csky/kernel/probes/ftrace.c b/arch/csky/kernel/probes/ftrace.c
index 5eb2604fdf71..f30b179924ef 100644
--- a/arch/csky/kernel/probes/ftrace.c
+++ b/arch/csky/kernel/probes/ftrace.c
@@ -18,7 +18,7 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
struct kprobe *p;
struct kprobe_ctlblk *kcb;
- bit = ftrace_test_recursion_trylock();
+ bit = ftrace_test_recursion_trylock(ip, parent_ip);
if (bit < 0)
return;
diff --git a/arch/parisc/kernel/ftrace.c b/arch/parisc/kernel/ftrace.c
index 4b1fdf15662c..8b0ed7c5a4ab 100644
--- a/arch/parisc/kernel/ftrace.c
+++ b/arch/parisc/kernel/ftrace.c
@@ -210,7 +210,7 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
struct kprobe *p = get_kprobe((kprobe_opcode_t *)ip);
int bit;
- bit = ftrace_test_recursion_trylock();
+ bit = ftrace_test_recursion_trylock(ip, parent_ip);
if (bit < 0)
return;
diff --git a/arch/powerpc/kernel/kprobes-ftrace.c b/arch/powerpc/kernel/kprobes-ftrace.c
index 5df8d50c65ae..fdfee39938ea 100644
--- a/arch/powerpc/kernel/kprobes-ftrace.c
+++ b/arch/powerpc/kernel/kprobes-ftrace.c
@@ -20,7 +20,7 @@ void kprobe_ftrace_handler(unsigned long nip, unsigned long parent_nip,
struct kprobe_ctlblk *kcb;
int bit;
- bit = ftrace_test_recursion_trylock();
+ bit = ftrace_test_recursion_trylock(nip, parent_nip);
if (bit < 0)
return;
diff --git a/arch/s390/kernel/ftrace.c b/arch/s390/kernel/ftrace.c
index 88466d7fb6b2..a1556333d481 100644
--- a/arch/s390/kernel/ftrace.c
+++ b/arch/s390/kernel/ftrace.c
@@ -204,7 +204,7 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
struct kprobe *p = get_kprobe((kprobe_opcode_t *)ip);
int bit;
- bit = ftrace_test_recursion_trylock();
+ bit = ftrace_test_recursion_trylock(ip, parent_ip);
if (bit < 0)
return;
diff --git a/arch/x86/kernel/kprobes/ftrace.c b/arch/x86/kernel/kprobes/ftrace.c
index a40a6cdfcca3..954d930a7127 100644
--- a/arch/x86/kernel/kprobes/ftrace.c
+++ b/arch/x86/kernel/kprobes/ftrace.c
@@ -20,7 +20,7 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,
struct kprobe_ctlblk *kcb;
int bit;
- bit = ftrace_test_recursion_trylock();
+ bit = ftrace_test_recursion_trylock(ip, parent_ip);
if (bit < 0)
return;
diff --git a/fs/pstore/ftrace.c b/fs/pstore/ftrace.c
index 816210fc5d3a..adb0935eb062 100644
--- a/fs/pstore/ftrace.c
+++ b/fs/pstore/ftrace.c
@@ -41,7 +41,7 @@ static void notrace pstore_ftrace_call(unsigned long ip,
if (unlikely(oops_in_progress))
return;
- bit = ftrace_test_recursion_trylock();
+ bit = ftrace_test_recursion_trylock(ip, parent_ip);
if (bit < 0)
return;
diff --git a/include/linux/trace_recursion.h b/include/linux/trace_recursion.h
index ac3d73484cb2..1cba5fe8777a 100644
--- a/include/linux/trace_recursion.h
+++ b/include/linux/trace_recursion.h
@@ -142,7 +142,28 @@ static __always_inline int trace_get_context_bit(void)
pc & HARDIRQ_MASK ? TRACE_CTX_IRQ : TRACE_CTX_SOFTIRQ;
}
-static __always_inline int trace_test_and_set_recursion(int start, int max)
+#ifdef CONFIG_FTRACE_RECORD_RECURSION
+extern void ftrace_record_recursion(unsigned long ip, unsigned long parent_ip);
+/*
+* The paranoid_test check can cause dropped reports (unlikely), but
+* if the recursion is common, it will likely still be recorded later.
+* But the paranoid_test is needed to make sure we don't crash.
+*/
+# define do_ftrace_record_recursion(ip, pip) \
+ do { \
+ static atomic_t paranoid_test; \
+ if (!atomic_read(¶noid_test)) { \
+ atomic_inc(¶noid_test); \
+ ftrace_record_recursion(ip, pip); \
+ atomic_dec(¶noid_test); \
+ } \
+ } while (0)
+#else
+# define do_ftrace_record_recursion(ip, pip) do { } while (0)
+#endif
+
+static __always_inline int trace_test_and_set_recursion(unsigned long ip, unsigned long pip,
+ int start, int max)
{
unsigned int val = current->trace_recursion;
int bit;
@@ -158,8 +179,10 @@ static __always_inline int trace_test_and_set_recursion(int start, int max)
* a switch between contexts. Allow for a single recursion.
*/
bit = TRACE_TRANSITION_BIT;
- if (trace_recursion_test(bit))
+ if (trace_recursion_test(bit)) {
+ do_ftrace_record_recursion(ip, pip);
return -1;
+ }
trace_recursion_set(bit);
barrier();
return bit + 1;
@@ -199,9 +222,10 @@ static __always_inline void trace_clear_recursion(int bit)
* Returns: -1 if a recursion happened.
* >= 0 if no recursion
*/
-static __always_inline int ftrace_test_recursion_trylock(void)
+static __always_inline int ftrace_test_recursion_trylock(unsigned long ip,
+ unsigned long parent_ip)
{
- return trace_test_and_set_recursion(TRACE_FTRACE_START, TRACE_FTRACE_MAX);
+ return trace_test_and_set_recursion(ip, parent_ip, TRACE_FTRACE_START, TRACE_FTRACE_MAX);
}
/**
diff --git a/kernel/livepatch/patch.c b/kernel/livepatch/patch.c
index 15480bf3ce88..875c5dbbdd33 100644
--- a/kernel/livepatch/patch.c
+++ b/kernel/livepatch/patch.c
@@ -49,7 +49,7 @@ static void notrace klp_ftrace_handler(unsigned long ip,
ops = container_of(fops, struct klp_ops, fops);
- bit = ftrace_test_recursion_trylock();
+ bit = ftrace_test_recursion_trylock(ip, parent_ip);
if (WARN_ON_ONCE(bit < 0))
return;
/*
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index a4020c0b4508..9b11c096d139 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -727,6 +727,31 @@ config TRACE_EVAL_MAP_FILE
If unsure, say N.
+config FTRACE_RECORD_RECURSION
+ bool "Record functions that recurse in function tracing"
+ depends on FUNCTION_TRACER
+ help
+ All callbacks that attach to the function tracing have some sort
+ of protection against recursion. Even though the protection exists,
+ it adds overhead. This option will create a file in the tracefs
+ file system called "recursed_functions" that will list the functions
+ that triggered a recursion.
+
+ This will add more overhead to cases that have recursion.
+
+ If unsure, say N
+
+config FTRACE_RECORD_RECURSION_SIZE
+ int "Max number of recursed functions to record"
+ default 128
+ depends on FTRACE_RECORD_RECURSION
+ help
+ This defines the limit of number of functions that can be
+ listed in the "recursed_functions" file, that lists all
+ the functions that caused a recursion to happen.
+ This file can be reset, but the limit can not change in
+ size at runtime.
+
config GCOV_PROFILE_FTRACE
bool "Enable GCOV profiling on ftrace subsystem"
depends on GCOV_KERNEL
diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile
index e153be351548..7e44cea89fdc 100644
--- a/kernel/trace/Makefile
+++ b/kernel/trace/Makefile
@@ -92,6 +92,7 @@ obj-$(CONFIG_DYNAMIC_EVENTS) += trace_dynevent.o
obj-$(CONFIG_PROBE_EVENTS) += trace_probe.o
obj-$(CONFIG_UPROBE_EVENTS) += trace_uprobe.o
obj-$(CONFIG_BOOTTIME_TRACING) += trace_boot.o
+obj-$(CONFIG_FTRACE_RECORD_RECURSION) += trace_recursion_record.o
obj-$(CONFIG_TRACEPOINT_BENCHMARK) += trace_benchmark.o
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 39f2bba89b76..03aad2b5cd5e 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -6918,7 +6918,7 @@ __ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip,
struct ftrace_ops *op;
int bit;
- bit = trace_test_and_set_recursion(TRACE_LIST_START, TRACE_LIST_MAX);
+ bit = trace_test_and_set_recursion(ip, parent_ip, TRACE_LIST_START, TRACE_LIST_MAX);
if (bit < 0)
return;
@@ -6993,7 +6993,7 @@ static void ftrace_ops_assist_func(unsigned long ip, unsigned long parent_ip,
{
int bit;
- bit = trace_test_and_set_recursion(TRACE_LIST_START, TRACE_LIST_MAX);
+ bit = trace_test_and_set_recursion(ip, parent_ip, TRACE_LIST_START, TRACE_LIST_MAX);
if (bit < 0)
return;
diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c
index a2b9fddb8148..1b202e28dfaa 100644
--- a/kernel/trace/trace_event_perf.c
+++ b/kernel/trace/trace_event_perf.c
@@ -447,7 +447,7 @@ perf_ftrace_function_call(unsigned long ip, unsigned long parent_ip,
if ((unsigned long)ops->private != smp_processor_id())
return;
- bit = ftrace_test_recursion_trylock();
+ bit = ftrace_test_recursion_trylock(ip, parent_ip);
if (bit < 0)
return;
diff --git a/kernel/trace/trace_functions.c b/kernel/trace/trace_functions.c
index 89c414ce1388..646eda6c44a5 100644
--- a/kernel/trace/trace_functions.c
+++ b/kernel/trace/trace_functions.c
@@ -141,7 +141,7 @@ function_trace_call(unsigned long ip, unsigned long parent_ip,
if (unlikely(!tr->function_enabled))
return;
- bit = ftrace_test_recursion_trylock();
+ bit = ftrace_test_recursion_trylock(ip, parent_ip);
if (bit < 0)
return;
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index 000e9dc224c6..92b1575ae0ca 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -353,8 +353,8 @@ static inline const char *kretprobed(const char *name)
}
#endif /* CONFIG_KRETPROBES */
-static void
-seq_print_sym(struct trace_seq *s, unsigned long address, bool offset)
+void
+trace_seq_print_sym(struct trace_seq *s, unsigned long address, bool offset)
{
#ifdef CONFIG_KALLSYMS
char str[KSYM_SYMBOL_LEN];
@@ -420,7 +420,7 @@ seq_print_ip_sym(struct trace_seq *s, unsigned long ip, unsigned long sym_flags)
goto out;
}
- seq_print_sym(s, ip, sym_flags & TRACE_ITER_SYM_OFFSET);
+ trace_seq_print_sym(s, ip, sym_flags & TRACE_ITER_SYM_OFFSET);
if (sym_flags & TRACE_ITER_SYM_ADDR)
trace_seq_printf(s, " <" IP_FMT ">", ip);
diff --git a/kernel/trace/trace_output.h b/kernel/trace/trace_output.h
index 2f742b74e7e6..4c954636caf0 100644
--- a/kernel/trace/trace_output.h
+++ b/kernel/trace/trace_output.h
@@ -16,6 +16,7 @@ extern int
seq_print_ip_sym(struct trace_seq *s, unsigned long ip,
unsigned long sym_flags);
+extern void trace_seq_print_sym(struct trace_seq *s, unsigned long address, bool offset);
extern int trace_print_context(struct trace_iterator *iter);
extern int trace_print_lat_context(struct trace_iterator *iter);
diff --git a/kernel/trace/trace_recursion_record.c b/kernel/trace/trace_recursion_record.c
new file mode 100644
index 000000000000..0523071ca97c
--- /dev/null
+++ b/kernel/trace/trace_recursion_record.c
@@ -0,0 +1,220 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include <linux/seq_file.h>
+#include <linux/kallsyms.h>
+#include <linux/module.h>
+#include <linux/ftrace.h>
+#include <linux/fs.h>
+
+#include "trace_output.h"
+
+struct recursed_functions {
+ unsigned long ip;
+ unsigned long parent_ip;
+};
+
+static struct recursed_functions recursed_functions[CONFIG_FTRACE_RECORD_RECURSION_SIZE];
+static atomic_t nr_records;
+
+/*
+ * Cache the last found function. Yes, updates to this is racey, but
+ * so is memory cache ;-)
+ */
+static unsigned long cached_function;
+
+void ftrace_record_recursion(unsigned long ip, unsigned long parent_ip)
+{
+ int index;
+ int i = 0;
+ unsigned long old;
+
+ again:
+ /* First check the last one recorded */
+ if (ip == cached_function)
+ return;
+
+ index = atomic_read(&nr_records);
+ /* nr_records is -1 when clearing records */
+ smp_mb__after_atomic();
+ if (index < 0)
+ return;
+
+ /* See below */
+ if (i > index)
+ index = i;
+ if (index >= CONFIG_FTRACE_RECORD_RECURSION_SIZE)
+ return;
+
+ for (i = index - 1; i >= 0; i--) {
+ if (recursed_functions[i].ip == ip) {
+ cached_function = ip;
+ return;
+ }
+ }
+
+ cached_function = ip;
+
+ /*
+ * We only want to add a function if it hasn't been added before.
+ * Add to the current location before incrementing the count.
+ * If it fails to add, then increment the index (save in i)
+ * and try again.
+ */
+ old = cmpxchg(&recursed_functions[index].ip, 0, ip);
+ if (old != 0) {
+ /* Did something else already added this for us? */
+ if (old == ip)
+ return;
+ /* Try the next location (use i for the next index) */
+ i = index + 1;
+ goto again;
+ }
+
+ recursed_functions[index].parent_ip = parent_ip;
+
+ /*
+ * It's still possible that we could race with the clearing
+ * CPU0 CPU1
+ * ---- ----
+ * ip = func
+ * nr_records = -1;
+ * recursed_functions[0] = 0;
+ * i = -1
+ * if (i < 0)
+ * nr_records = 0;
+ * (new recursion detected)
+ * recursed_functions[0] = func
+ * cmpxchg(recursed_functions[0],
+ * func, 0)
+ *
+ * But the worse that could happen is that we get a zero in
+ * the recursed_functions array, and it's likely that "func" will
+ * be recorded again.
+ */
+ i = atomic_read(&nr_records);
+ smp_mb__after_atomic();
+ if (i < 0)
+ cmpxchg(&recursed_functions[index].ip, ip, 0);
+ else if (i <= index)
+ atomic_cmpxchg(&nr_records, i, index + 1);
+}
+
+static DEFINE_MUTEX(recursed_function_lock);
+static struct trace_seq *tseq;
+
+static void *recursed_function_seq_start(struct seq_file *m, loff_t *pos)
+{
+ void *ret = NULL;
+ int index;
+
+ mutex_lock(&recursed_function_lock);
+ index = atomic_read(&nr_records);
+ if (*pos < index) {
+ ret = &recursed_functions[*pos];
+ }
+
+ tseq = kzalloc(sizeof(*tseq), GFP_KERNEL);
+ if (!tseq)
+ return ERR_PTR(-ENOMEM);
+
+ trace_seq_init(tseq);
+
+ return ret;
+}
+
+static void *recursed_function_seq_next(struct seq_file *m, void *v, loff_t *pos)
+{
+ int index;
+ int p;
+
+ index = atomic_read(&nr_records);
+ p = ++(*pos);
+
+ return p < index ? &recursed_functions[p] : NULL;
+}
+
+static void recursed_function_seq_stop(struct seq_file *m, void *v)
+{
+ kfree(tseq);
+ mutex_unlock(&recursed_function_lock);
+}
+
+static int recursed_function_seq_show(struct seq_file *m, void *v)
+{
+ struct recursed_functions *record = v;
+ int ret = 0;
+
+ if (record) {
+ trace_seq_print_sym(tseq, record->parent_ip, true);
+ trace_seq_puts(tseq, ":\t");
+ trace_seq_print_sym(tseq, record->ip, true);
+ trace_seq_putc(tseq, '\n');
+ ret = trace_print_seq(m, tseq);
+ }
+
+ return ret;
+}
+
+static const struct seq_operations recursed_function_seq_ops = {
+ .start = recursed_function_seq_start,
+ .next = recursed_function_seq_next,
+ .stop = recursed_function_seq_stop,
+ .show = recursed_function_seq_show
+};
+
+static int recursed_function_open(struct inode *inode, struct file *file)
+{
+ int ret = 0;
+
+ mutex_lock(&recursed_function_lock);
+ /* If this file was opened for write, then erase contents */
+ if ((file->f_mode & FMODE_WRITE) && (file->f_flags & O_TRUNC)) {
+ /* disable updating records */
+ atomic_set(&nr_records, -1);
+ smp_mb__after_atomic();
+ memset(recursed_functions, 0, sizeof(recursed_functions));
+ smp_wmb();
+ /* enable them again */
+ atomic_set(&nr_records, 0);
+ }
+ if (file->f_mode & FMODE_READ)
+ ret = seq_open(file, &recursed_function_seq_ops);
+ mutex_unlock(&recursed_function_lock);
+
+ return ret;
+}
+
+static ssize_t recursed_function_write(struct file *file,
+ const char __user *buffer,
+ size_t count, loff_t *ppos)
+{
+ return count;
+}
+
+static int recursed_function_release(struct inode *inode, struct file *file)
+{
+ if (file->f_mode & FMODE_READ)
+ seq_release(inode, file);
+ return 0;
+}
+
+static const struct file_operations recursed_functions_fops = {
+ .open = recursed_function_open,
+ .write = recursed_function_write,
+ .read = seq_read,
+ .llseek = seq_lseek,
+ .release = recursed_function_release,
+};
+
+__init static int create_recursed_functions(void)
+{
+ struct dentry *dentry;
+
+ dentry = trace_create_file("recursed_functions", 0644, NULL, NULL,
+ &recursed_functions_fops);
+ if (!dentry)
+ pr_warn("WARNING: Failed to create recursed_functions\n");
+ return 0;
+}
+
+fs_initcall(create_recursed_functions);
--
2.28.0
^ permalink raw reply related
* Re: [patch V2 00/18] mm/highmem: Preemptible variant of kmap_atomic & friends
From: Linus Torvalds @ 2020-10-30 20:28 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Juri Lelli, linux-xtensa, Peter Zijlstra,
Sebastian Andrzej Siewior, linux-mips, Ben Segall, Linux-MM,
Guo Ren, linux-sparc, Vincent Chen, Ingo Molnar, linux-arch,
Vincent Guittot, Herbert Xu, the arch/x86 maintainers,
Russell King, linux-csky, Christoph Hellwig, David Airlie,
Mel Gorman, open list:SYNOPSYS ARC ARCHITECTURE, Ard Biesheuvel,
Paul McKenney, linuxppc-dev, Steven Rostedt, Greentime Hu,
Dietmar Eggemann, Linux ARM, Chris Zankel, Michal Simek,
Thomas Bogendoerfer, Nick Hu, Max Filippov, Vineet Gupta, LKML,
Arnd Bergmann, Daniel Vetter, Paul Mackerras, Andrew Morton,
Daniel Bristot de Oliveira, David S. Miller
In-Reply-To: <87blgknjcw.fsf@nanos.tec.linutronix.de>
On Fri, Oct 30, 2020 at 2:39 AM Thomas Gleixner <tglx@linutronix.de> wrote:
>
> But then we really should not name it kmap_local. 'local' suggests
> locality, think local_irq*, local_bh* ... kmap_task would be more
> accurate then.
So the main reason I'd like to see it is because I think on a
non-highmem machine, the new kmap should be a complete no-op. IOW,
we'd make sure that there are no costs, no need to increment any
"restrict migration" counts etc.
It's been a bit of a pain to have kmap_atomic() have magical side
semantics that people might then depend on.
I think "local" could still work as a name, because it would have to
be thread-local (and maybe we'd want a debug mode where that gets
verified, as actual HIGHMEM machines are getting rare).
I'd avoid "task", because that implies (to me, at least) that it
wouldn't be good for interrupts etc that don't have a task context.
I think the main issue is that it has to be released in the same
context as it was created (ie no passing those things around to other
contexts). I think "local" is fine for that, but I could imagine other
names. The ones that come to mind are somewhat cumbersome, though
("shortterm" or "local_ctx" or something along those lines).
I dunno.
Linus
^ permalink raw reply
* Re: [patch V2 00/18] mm/highmem: Preemptible variant of kmap_atomic & friends
From: Thomas Gleixner @ 2020-10-30 19:35 UTC (permalink / raw)
To: Matthew Wilcox
Cc: Juri Lelli, linux-xtensa, Peter Zijlstra,
Sebastian Andrzej Siewior, linux-mips, Ben Segall, linux-mm,
Guo Ren, sparclinux, Vincent Chen, Ingo Molnar, linux-arch,
Vincent Guittot, Herbert Xu, x86, Russell King, linux-csky,
Christoph Hellwig, David Airlie, Mel Gorman, linux-snps-arc,
Ard Biesheuvel, Paul McKenney, linuxppc-dev, Steven Rostedt,
Linus Torvalds, Greentime Hu, Dietmar Eggemann, linux-arm-kernel,
Chris Zankel, Michal Simek, Thomas Bogendoerfer, Nick Hu,
Max Filippov, Vineet Gupta, LKML, Arnd Bergmann, Daniel Vetter,
Paul Mackerras, Andrew Morton, Daniel Bristot de Oliveira,
David S. Miller
In-Reply-To: <20201030130627.GI27442@casper.infradead.org>
On Fri, Oct 30 2020 at 13:06, Matthew Wilcox wrote:
> On Thu, Oct 29, 2020 at 11:18:06PM +0100, Thomas Gleixner wrote:
>> This series provides kmap_local.* iomap_local variants which only disable
>> migration to keep the virtual mapping address stable accross preemption,
>> but do neither disable pagefaults nor preemption. The new functions can be
>> used in any context, but if used in atomic context the caller has to take
>> care of eventually disabling pagefaults.
>
> Could I ask for a CONFIG_KMAP_DEBUG which aliases all the kmap variants
> to vmap()? I think we currently have a problem in iov_iter on HIGHMEM
> configs:
For kmap() that would work, but for kmap_atomic() not so much when it is
called in non-preemptible context because vmap() might sleep.
> copy_page_to_iter() calls page_copy_sane() which checks:
>
> head = compound_head(page);
> if (likely(n <= v && v <= page_size(head)))
> return true;
>
> but then:
>
> void *kaddr = kmap_atomic(page);
> size_t wanted = copy_to_iter(kaddr + offset, bytes, i);
> kunmap_atomic(kaddr);
>
> so if offset to offset+bytes is larger than PAGE_SIZE, this is going to
> work for lowmem pages and fail miserably for highmem pages. I suggest
> vmap() because vmap has a PAGE_SIZE gap between each allocation.
On 32bit highmem the kmap_atomic() case is easy: Double the number of
mapping slots and only use every second one, which gives you a guard
page between the maps.
For 64bit we could do something ugly: Enable the highmem kmap_atomic()
crud and enforce an alias mapping (at least on the architectures where
this is reasonable). Then you get the same as for 32bit.
> Alternatively if we could have a kmap_atomic_compound(), that would
> be awesome, but probably not realistic to implement. I've more
> or less resigned myself to having to map things one page at a time.
That might be horribly awesome on 32bit :)
Thanks,
tglx
^ permalink raw reply
* Re: [PATCH net-next 00/15] in_interrupt() cleanup, part 2
From: Jakub Kicinski @ 2020-10-30 18:29 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: Aymen Sghaier, Madalin Bucur, Zhu Yanjun, Samuel Chessman,
Ping-Ke Shih, Herbert Xu, Horia Geantă, linux-rdma,
Rain River, Kalle Valo, Ulrich Kunitz, Jouni Malinen,
linuxppc-dev, Daniel Drake, Thomas Gleixner, linux-arm-kernel,
Leon Romanovsky, netdev, linux-wireless, Li Yang, linux-crypto,
Jon Mason, Saeed Mahameed, David S. Miller
In-Reply-To: <20201027225454.3492351-1-bigeasy@linutronix.de>
On Tue, 27 Oct 2020 23:54:39 +0100 Sebastian Andrzej Siewior wrote:
> Folks,
>
> in the discussion about preempt count consistency across kernel configurations:
>
> https://lore.kernel.org/r/20200914204209.256266093@linutronix.de/
>
> Linus clearly requested that code in drivers and libraries which changes
> behaviour based on execution context should either be split up so that
> e.g. task context invocations and BH invocations have different interfaces
> or if that's not possible the context information has to be provided by the
> caller which knows in which context it is executing.
>
> This includes conditional locking, allocation mode (GFP_*) decisions and
> avoidance of code paths which might sleep.
>
> In the long run, usage of 'preemptible, in_*irq etc.' should be banned from
> driver code completely.
>
> This is part two addressing remaining drivers except for orinoco-usb.
Freescale folks - can I get an ack for merging the last three patches
into net-next?
^ permalink raw reply
* [Bug 209733] Starting new KVM virtual machines on PPC64 starts to hang after box is up for a while
From: bugzilla-daemon @ 2020-10-30 17:46 UTC (permalink / raw)
To: linuxppc-dev
In-Reply-To: <bug-209733-206035@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=209733
--- Comment #1 from Cameron (cam@neo-zeon.de) ---
Still happens with 5.9.2.
--
You are receiving this mail because:
You are watching the assignee of the bug.
^ permalink raw reply
* Re: [PATCH] powerpc/32s: Setup the early hash table at all time.
From: Andreas Schwab @ 2020-10-30 13:11 UTC (permalink / raw)
To: Christophe Leroy; +Cc: Paul Mackerras, linuxppc-dev, linux-kernel
In-Reply-To: <20201030140047.Horde.TJJqKGzG9vSGbMRNIj-MPg7@messagerie.c-s.fr>
#
# Automatically generated file; DO NOT EDIT.
# Linux/powerpc 5.10.0-rc1 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc-4.9 (SUSE Linux) 4.9.3"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=40903
CONFIG_LD_VERSION=235010000
CONFIG_CLANG_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
#
# General setup
#
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_XZ is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_WATCH_QUEUE=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_USELIB=y
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y
#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CMOS_UPDATE=y
#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
# end of Timers subsystem
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
# end of CPU/Task time and stats accounting
#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_SRCU=y
CONFIG_TINY_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_TASKS_TRACE_RCU=y
# end of RCU Subsystem
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_IKHEADERS is not set
CONFIG_LOG_BUF_SHIFT=18
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
#
# Scheduler features
#
# end of Scheduler features
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_CGROUP_PIDS=y
# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
# CONFIG_CGROUP_BPF is not set
# CONFIG_CGROUP_DEBUG is not set
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
CONFIG_BOOT_CONFIG=y
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
# CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is not set
CONFIG_SYSCTL=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_BPF=y
CONFIG_EXPERT=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_PRELOAD is not set
CONFIG_USERFAULTFD=y
CONFIG_ARCH_HAS_MEMBARRIER_CALLBACKS=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
# CONFIG_PC104 is not set
#
# Kernel Performance Events And Counters
#
# CONFIG_PERF_EVENTS is not set
# end of Kernel Performance Events And Counters
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
CONFIG_SLUB_MEMCG_SYSFS_ON=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
CONFIG_SYSTEM_DATA_VERIFICATION=y
# CONFIG_PROFILING is not set
# end of General setup
CONFIG_PPC32=y
# CONFIG_PPC64 is not set
CONFIG_PPC_BOOK3S_32=y
#
# Processor support
#
CONFIG_PPC_BOOK3S_6xx=y
# CONFIG_PPC_85xx is not set
# CONFIG_PPC_8xx is not set
# CONFIG_40x is not set
# CONFIG_44x is not set
# CONFIG_E200 is not set
# CONFIG_GENERIC_CPU is not set
# CONFIG_E300C2_CPU is not set
# CONFIG_E300C3_CPU is not set
CONFIG_G4_CPU=y
CONFIG_TARGET_CPU_BOOL=y
CONFIG_TARGET_CPU="G4"
CONFIG_PPC_BOOK3S=y
CONFIG_PPC_FPU=y
CONFIG_ALTIVEC=y
CONFIG_PPC_HAVE_KUEP=y
CONFIG_PPC_KUEP=y
CONFIG_PPC_HAVE_KUAP=y
CONFIG_PPC_KUAP=y
# CONFIG_PPC_KUAP_DEBUG is not set
CONFIG_PPC_HAVE_PMU_SUPPORT=y
CONFIG_PMU_SYSFS=y
# CONFIG_SMP is not set
# end of Processor support
CONFIG_VDSO32=y
CONFIG_CPU_BIG_ENDIAN=y
CONFIG_32BIT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MAX=17
CONFIG_ARCH_MMAP_RND_BITS_MIN=11
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=17
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
CONFIG_NR_IRQS=64
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y
CONFIG_PANIC_TIMEOUT=180
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_ZONE_DMA=y
CONFIG_PGTABLE_LEVELS=2
#
# Platform support
#
# CONFIG_SCOM_DEBUGFS is not set
# CONFIG_PPC_CHRP is not set
# CONFIG_PPC_MPC512x is not set
# CONFIG_PPC_MPC52xx is not set
CONFIG_PPC_PMAC=y
# CONFIG_PPC_82xx is not set
# CONFIG_PPC_83xx is not set
# CONFIG_PPC_86xx is not set
# CONFIG_EMBEDDED6xx is not set
# CONFIG_AMIGAONE is not set
CONFIG_KVM_GUEST=y
CONFIG_EPAPR_PARAVIRT=y
CONFIG_PPC_NATIVE=y
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
CONFIG_MPIC=y
# CONFIG_MPIC_MSGR is not set
CONFIG_PPC_MPC106=y
#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
#
# CPU frequency scaling drivers
#
CONFIG_CPU_FREQ_PMAC=y
# end of CPU Frequency scaling
#
# CPUIdle driver
#
#
# CPU Idle
#
# CONFIG_CPU_IDLE is not set
# end of CPU Idle
# end of CPUIdle driver
CONFIG_TAU=y
# CONFIG_TAU_INT is not set
# CONFIG_TAU_AVERAGE is not set
CONFIG_GEN_RTC=y
# end of Platform support
#
# Kernel options
#
CONFIG_HIGHMEM=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_PPC_4K_PAGES=y
CONFIG_PPC_PAGE_SHIFT=12
CONFIG_THREAD_SHIFT=13
CONFIG_DATA_SHIFT=12
CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_CMDLINE=""
CONFIG_EXTRA_TARGETS=""
CONFIG_ARCH_WANTS_FREEZER_CONTROL=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_AUTOSLEEP=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=100
CONFIG_PM_WAKELOCKS_GC=y
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# end of Kernel options
CONFIG_ISA_DMA_API=y
#
# Bus options
#
CONFIG_GENERIC_ISA_DMA=y
CONFIG_PPC_INDIRECT_PCI=y
# CONFIG_FSL_LBC is not set
# end of Bus options
#
# Advanced setup
#
# CONFIG_ADVANCED_OPTIONS is not set
#
# Default settings for advanced configuration options are used
#
CONFIG_LOWMEM_SIZE=0x30000000
CONFIG_PAGE_OFFSET=0xc0000000
CONFIG_KERNEL_START=0xc0000000
CONFIG_PHYSICAL_START=0x00000000
CONFIG_TASK_SIZE=0xc0000000
# end of Advanced setup
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_VFIO=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_VCPU_ASYNC_IOCTL=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
CONFIG_KVM_BOOK3S_HANDLER=y
CONFIG_KVM_BOOK3S_32_HANDLER=y
CONFIG_KVM_BOOK3S_PR_POSSIBLE=y
CONFIG_KVM_BOOK3S_32=m
#
# General architecture-dependent options
#
CONFIG_CRASH_CORE=y
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
# CONFIG_JUMP_LABEL is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_32BIT_OFF_T=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_PAGE_SIZE=y
CONFIG_ARCH_WANT_IRQS_OFF_ACTIVATE_MM=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_WEAK_RELEASE_ACQUIRE=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_ARCH_MMAP_RND_BITS=11
CONFIG_HAVE_ARCH_NVRAM_OPS=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND=y
CONFIG_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_ARCH_HAS_PHYS_TO_DMA=y
# CONFIG_LOCK_EVENT_COUNTS is not set
#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling
# end of General architecture-dependent options
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
CONFIG_MODULE_SRCVERSION_ALL=y
# CONFIG_MODULE_SIG is not set
# CONFIG_MODULE_COMPRESS is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_BLOCK=y
CONFIG_BLK_SCSI_REQUEST=y
CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
# CONFIG_BLK_DEV_INTEGRITY is not set
# CONFIG_BLK_DEV_ZONED is not set
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
# CONFIG_BLK_CMDLINE_PARSER is not set
# CONFIG_BLK_WBT is not set
CONFIG_BLK_CGROUP_IOLATENCY=y
# CONFIG_BLK_CGROUP_IOCOST is not set
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_SED_OPAL is not set
# CONFIG_BLK_INLINE_ENCRYPTION is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_AIX_PARTITION is not set
CONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
# CONFIG_CMDLINE_PARTITION is not set
# end of Partition Types
CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_BLK_PM=y
#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=m
CONFIG_IOSCHED_BFQ=m
CONFIG_BFQ_GROUP_IOSCHED=y
# CONFIG_BFQ_CGROUP_DEBUG is not set
# end of IO Schedulers
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_ASN1=y
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
CONFIG_INLINE_READ_UNLOCK=y
CONFIG_INLINE_READ_UNLOCK_IRQ=y
CONFIG_INLINE_WRITE_UNLOCK=y
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_FREEZER=y
#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=m
CONFIG_COREDUMP=y
# end of Executable file formats
#
# Memory Management options
#
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_ARCH_KEEP_MEMBLOCK=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MEMORY_BALLOON=y
# CONFIG_COMPACTION is not set
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_NEED_PER_CPU_KM=y
# CONFIG_CLEANCACHE is not set
# CONFIG_FRONTSWAP is not set
# CONFIG_CMA is not set
# CONFIG_ZPOOL is not set
# CONFIG_ZBUD is not set
# CONFIG_ZSMALLOC is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_IDLE_PAGE_TRACKING is not set
# CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_BENCHMARK is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
# end of Memory Management options
CONFIG_NET=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_REDIRECT=y
CONFIG_SKB_EXTENSIONS=y
#
# Networking options
#
CONFIG_PACKET=m
CONFIG_PACKET_DIAG=m
CONFIG_UNIX=y
CONFIG_UNIX_SCM=y
CONFIG_UNIX_DIAG=m
# CONFIG_TLS is not set
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=m
CONFIG_XFRM_USER=m
CONFIG_XFRM_INTERFACE=m
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
# CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_AH=m
CONFIG_XFRM_ESP=m
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_XFRM_ESPINTCP=y
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IP_TUNNEL=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=m
CONFIG_NET_FOU=m
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_ESPINTCP=y
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
CONFIG_INET_UDP_DIAG=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_NV=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
CONFIG_TCP_CONG_CDG=m
CONFIG_TCP_CONG_BBR=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_ESPINTCP=y
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
CONFIG_IPV6_ILA=m
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_IPV6_VTI=m
CONFIG_IPV6_SIT=m
# CONFIG_IPV6_SIT_6RD is not set
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_FOU=m
CONFIG_IPV6_FOU_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
# CONFIG_IPV6_MROUTE is not set
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=m
CONFIG_MPTCP_IPV6=y
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=m
#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_LOG_COMMON=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NETFILTER_CONNCOUNT=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
CONFIG_NF_CT_NETLINK_HELPER=m
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_SIP=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=m
CONFIG_NFT_CT=m
CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_REDIR=m
CONFIG_NFT_NAT=m
CONFIG_NFT_TUNNEL=m
CONFIG_NFT_OBJREF=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_QUOTA=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_REJECT_INET=m
CONFIG_NFT_COMPAT=m
CONFIG_NFT_HASH=m
CONFIG_NFT_FIB=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_XFRM=m
CONFIG_NFT_SOCKET=m
CONFIG_NFT_OSF=m
CONFIG_NFT_TPROXY=m
CONFIG_NFT_SYNPROXY=m
CONFIG_NF_DUP_NETDEV=m
CONFIG_NFT_DUP_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_FIB_NETDEV=m
CONFIG_NF_FLOW_TABLE_INET=m
CONFIG_NF_FLOW_TABLE=m
CONFIG_NETFILTER_XTABLES=m
#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_SET=m
#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_HMARK=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_NAT=m
CONFIG_NETFILTER_XT_TARGET_NETMAP=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_BPF=m
CONFIG_NETFILTER_XT_MATCH_CGROUP=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ECN=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_L2TP=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_NFACCT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
# end of Core Netfilter Configuration
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=m
CONFIG_IP_SET_BITMAP_IPMAC=m
CONFIG_IP_SET_BITMAP_PORT=m
CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPMARK=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_IPMAC=m
CONFIG_IP_SET_HASH_MAC=m
CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETIFACE=m
CONFIG_IP_SET_LIST_SET=m
# CONFIG_IP_VS is not set
#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_SOCKET_IPV4=m
CONFIG_NF_TPROXY_IPV4=m
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_DUP_IPV4=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NF_TABLES_ARP=y
CONFIG_NF_FLOW_TABLE_IPV4=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
CONFIG_NF_REJECT_IPV4=y
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_RPFILTER=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_SYNPROXY=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
# end of IP: Netfilter Configuration
#
# IPv6: Netfilter Configuration
#
CONFIG_NF_SOCKET_IPV6=m
CONFIG_NF_TPROXY_IPV6=m
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NFT_DUP_IPV6=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NF_FLOW_TABLE_IPV6=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=y
CONFIG_NF_LOG_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_TARGET_SYNPROXY=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_IP6_NF_TARGET_NPT=m
# end of IPv6: Netfilter Configuration
CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_TABLES_BRIDGE=m
CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_CONNTRACK_BRIDGE=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
# CONFIG_BPFILTER is not set
CONFIG_IP_DCCP=m
CONFIG_INET_DCCP_DIAG=m
#
# DCCP CCIDs Configuration
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
# CONFIG_IP_DCCP_CCID3 is not set
# end of DCCP CCIDs Configuration
#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
# end of DCCP Kernel Hacking
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_COOKIE_HMAC_SHA1 is not set
CONFIG_INET_SCTP_DIAG=m
CONFIG_RDS=m
CONFIG_RDS_TCP=m
# CONFIG_RDS_DEBUG is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
CONFIG_L2TP=m
# CONFIG_L2TP_DEBUGFS is not set
# CONFIG_L2TP_V3 is not set
CONFIG_STP=m
CONFIG_GARP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
# CONFIG_BRIDGE_MRP is not set
CONFIG_HAVE_NET_DSA=y
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
# CONFIG_VLAN_8021Q_MVRP is not set
# CONFIG_DECNET is not set
CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_X25=m
CONFIG_LAPB=m
# CONFIG_PHONET is not set
# CONFIG_6LOWPAN is not set
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_CBS=m
CONFIG_NET_SCH_ETF=m
CONFIG_NET_SCH_TAPRIO=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_SKBPRIO=m
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_NET_SCH_CAKE=m
CONFIG_NET_SCH_FQ=m
CONFIG_NET_SCH_HHF=m
CONFIG_NET_SCH_PIE=m
CONFIG_NET_SCH_FQ_PIE=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m
CONFIG_NET_SCH_ETS=m
# CONFIG_NET_SCH_DEFAULT is not set
#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=m
CONFIG_NET_CLS_BPF=m
CONFIG_NET_CLS_FLOWER=m
CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_EMATCH_CANID=m
CONFIG_NET_EMATCH_IPSET=m
CONFIG_NET_EMATCH_IPT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
CONFIG_NET_ACT_MPLS=m
CONFIG_NET_ACT_VLAN=m
CONFIG_NET_ACT_BPF=m
CONFIG_NET_ACT_CONNMARK=m
CONFIG_NET_ACT_CTINFO=m
CONFIG_NET_ACT_SKBMOD=m
CONFIG_NET_ACT_IFE=m
CONFIG_NET_ACT_TUNNEL_KEY=m
CONFIG_NET_ACT_CT=m
CONFIG_NET_ACT_GATE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
# CONFIG_NET_TC_SKB_EXT is not set
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=m
CONFIG_BATMAN_ADV=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
CONFIG_BATMAN_ADV_DEBUGFS=y
# CONFIG_BATMAN_ADV_DEBUG is not set
CONFIG_BATMAN_ADV_SYSFS=y
# CONFIG_OPENVSWITCH is not set
# CONFIG_VSOCKETS is not set
CONFIG_NETLINK_DIAG=m
# CONFIG_MPLS is not set
CONFIG_NET_NSH=m
# CONFIG_HSR is not set
# CONFIG_NET_SWITCHDEV is not set
CONFIG_NET_L3_MASTER_DEV=y
# CONFIG_QRTR is not set
# CONFIG_NET_NCSI is not set
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_JIT=y
#
# Network testing
#
CONFIG_NET_PKTGEN=m
# end of Network testing
# end of Networking options
# CONFIG_HAMRADIO is not set
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
# CONFIG_CAN_GW is not set
# CONFIG_CAN_J1939 is not set
# CONFIG_CAN_ISOTP is not set
#
# CAN Device Drivers
#
CONFIG_CAN_VCAN=m
# CONFIG_CAN_VXCAN is not set
# CONFIG_CAN_SLCAN is not set
# CONFIG_CAN_DEV is not set
# CONFIG_CAN_DEBUG_DEVICES is not set
# end of CAN Device Drivers
CONFIG_BT=m
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
CONFIG_BT_HS=y
CONFIG_BT_LE=y
CONFIG_BT_LEDS=y
# CONFIG_BT_MSFTEXT is not set
# CONFIG_BT_DEBUGFS is not set
# CONFIG_BT_SELFTEST is not set
# CONFIG_BT_FEATURE_DEBUG is not set
#
# Bluetooth device drivers
#
CONFIG_BT_INTEL=m
CONFIG_BT_BCM=m
CONFIG_BT_RTL=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_MTK=y
CONFIG_BT_HCIBTUSB_RTL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
# CONFIG_BT_HCIUART_ATH3K is not set
# CONFIG_BT_HCIUART_AG6XX is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIVHCI=m
# CONFIG_BT_MRVL is not set
# CONFIG_BT_ATH3K is not set
# end of Bluetooth device drivers
CONFIG_AF_RXRPC=m
CONFIG_AF_RXRPC_IPV6=y
# CONFIG_AF_RXRPC_INJECT_LOSS is not set
# CONFIG_AF_RXRPC_DEBUG is not set
# CONFIG_RXKAD is not set
CONFIG_AF_KCM=m
CONFIG_STREAM_PARSER=y
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
CONFIG_CFG80211_WEXT_EXPORT=y
CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
# CONFIG_WIMAX is not set
CONFIG_RFKILL=m
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
CONFIG_NET_9P=m
CONFIG_NET_9P_VIRTIO=m
# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set
CONFIG_PSAMPLE=m
CONFIG_NET_IFE=m
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_FAILOVER=m
CONFIG_ETHTOOL_NETLINK=y
CONFIG_HAVE_CBPF_JIT=y
#
# Device Drivers
#
CONFIG_HAVE_PCI=y
CONFIG_FORCE_PCI=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_SYSCALL=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIE_PTM is not set
# CONFIG_PCI_MSI is not set
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_STUB is not set
# CONFIG_PCI_IOV is not set
# CONFIG_PCI_PRI is not set
# CONFIG_PCI_PASID is not set
# CONFIG_PCIE_BUS_TUNE_OFF is not set
CONFIG_PCIE_BUS_DEFAULT=y
# CONFIG_PCIE_BUS_SAFE is not set
# CONFIG_PCIE_BUS_PERFORMANCE is not set
# CONFIG_PCIE_BUS_PEER2PEER is not set
# CONFIG_HOTPLUG_PCI is not set
#
# PCI controller drivers
#
# CONFIG_PCI_FTPCI100 is not set
# CONFIG_PCI_HOST_GENERIC is not set
# CONFIG_PCIE_XILINX is not set
#
# DesignWare PCI Core Support
#
# end of DesignWare PCI Core Support
#
# Mobiveil PCIe Core Support
#
# end of Mobiveil PCIe Core Support
#
# Cadence PCIe controllers support
#
# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
# CONFIG_PCI_J721E_HOST is not set
# end of Cadence PCIe controllers support
# end of PCI controller drivers
#
# PCI Endpoint
#
# CONFIG_PCI_ENDPOINT is not set
# end of PCI Endpoint
#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers
# CONFIG_PCCARD is not set
# CONFIG_RAPIDIO is not set
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_STANDALONE is not set
CONFIG_PREVENT_FIRMWARE_BUILD=y
#
# Firmware loader
#
CONFIG_FW_LOADER=y
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER_COMPRESS=y
CONFIG_FW_CACHE=y
# end of Firmware loader
CONFIG_ALLOW_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_REGMAP=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
# end of Generic Driver Options
#
# Bus devices
#
# CONFIG_SIMPLE_PM_BUS is not set
# CONFIG_MHI_BUS is not set
# end of Bus devices
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_GNSS is not set
# CONFIG_MTD is not set
CONFIG_DTC=y
CONFIG_OF=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_KOBJ=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_NET=y
CONFIG_OF_RESERVED_MEM=y
# CONFIG_OF_OVERLAY is not set
CONFIG_OF_DMA_DEFAULT_COHERENT=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
CONFIG_BLK_DEV_FD=m
# CONFIG_MAC_FLOPPY is not set
CONFIG_CDROM=m
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_CRYPTOLOOP=m
# CONFIG_BLK_DEV_DRBD is not set
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=131072
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD_WCACHE=y
CONFIG_ATA_OVER_ETH=m
CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_BLK_DEV_RSXX is not set
#
# NVME Support
#
# CONFIG_BLK_DEV_NVME is not set
# CONFIG_NVME_FC is not set
# CONFIG_NVME_TARGET is not set
# end of NVME Support
#
# Misc devices
#
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_PHANTOM is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_SRAM is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
CONFIG_PVPANIC=m
# CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_EEPROM_MAX6875 is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_EEPROM_EE1004 is not set
# end of EEPROM support
# CONFIG_CB710_CORE is not set
#
# Texas Instruments shared transport line discipline
#
# end of Texas Instruments shared transport line discipline
# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_ALTERA_STAPL is not set
#
# Intel MIC & related support
#
# CONFIG_VOP_BUS is not set
# end of Intel MIC & related support
# CONFIG_ECHO is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
# CONFIG_MISC_RTSX_USB is not set
# CONFIG_HABANA_AI is not set
# end of Misc devices
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_SCAN_ASYNC is not set
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_ISCSI_ATTRS=m
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
# end of SCSI Transports
# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_SCSI_DH is not set
# end of SCSI device support
CONFIG_ATA=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
#
# Controllers with non-SFF native interface
#
# CONFIG_SATA_AHCI is not set
# CONFIG_SATA_AHCI_PLATFORM is not set
# CONFIG_AHCI_CEVA is not set
# CONFIG_AHCI_QORIQ is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y
#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
CONFIG_ATA_BMDMA=y
#
# SATA SFF controllers with BMDMA
#
# CONFIG_ATA_PIIX is not set
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
CONFIG_PATA_MACIO=m
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_SCH is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_PLATFORM is not set
# CONFIG_PATA_RZ1000 is not set
#
# Generic fallback / legacy drivers
#
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_MD_CLUSTER=m
# CONFIG_BCACHE is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=m
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_UNSTRIPED=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
# CONFIG_DM_THIN_PROVISIONING is not set
# CONFIG_DM_CACHE is not set
CONFIG_DM_WRITECACHE=m
# CONFIG_DM_EBS is not set
# CONFIG_DM_ERA is not set
# CONFIG_DM_CLONE is not set
CONFIG_DM_MIRROR=m
# CONFIG_DM_LOG_USERSPACE is not set
# CONFIG_DM_RAID is not set
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
# CONFIG_DM_MULTIPATH_QL is not set
# CONFIG_DM_MULTIPATH_ST is not set
# CONFIG_DM_MULTIPATH_HST is not set
CONFIG_DM_DELAY=m
# CONFIG_DM_DUST is not set
CONFIG_DM_UEVENT=y
# CONFIG_DM_FLAKEY is not set
# CONFIG_DM_VERITY is not set
# CONFIG_DM_SWITCH is not set
CONFIG_DM_LOG_WRITES=m
# CONFIG_DM_INTEGRITY is not set
# CONFIG_TARGET_CORE is not set
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_ADB=y
CONFIG_ADB_CUDA=y
CONFIG_ADB_PMU=y
CONFIG_ADB_PMU_LED=y
# CONFIG_ADB_PMU_LED_DISK is not set
# CONFIG_PMAC_APM_EMU is not set
CONFIG_PMAC_MEDIABAY=y
CONFIG_PMAC_BACKLIGHT=y
CONFIG_PMAC_BACKLIGHT_LEGACY=y
CONFIG_INPUT_ADBHID=y
CONFIG_MAC_EMUMOUSEBTN=y
# CONFIG_THERM_WINDTUNNEL is not set
CONFIG_THERM_ADT746X=y
# CONFIG_WINDFARM is not set
# CONFIG_ANSLCD is not set
# CONFIG_PMAC_RACKMETER is not set
CONFIG_SENSORS_AMS=y
CONFIG_SENSORS_AMS_PMU=y
CONFIG_SENSORS_AMS_I2C=y
CONFIG_MACONLINUX=m
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
CONFIG_WIREGUARD=m
# CONFIG_WIREGUARD_DEBUG is not set
CONFIG_EQUALIZER=m
# CONFIG_NET_FC is not set
CONFIG_IFB=m
# CONFIG_NET_TEAM is not set
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_IPVLAN_L3S=y
CONFIG_IPVLAN=m
CONFIG_IPVTAP=m
CONFIG_VXLAN=m
CONFIG_GENEVE=m
# CONFIG_BAREUDP is not set
CONFIG_GTP=m
CONFIG_MACSEC=m
CONFIG_NETCONSOLE=y
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=m
CONFIG_TAP=m
# CONFIG_TUN_VNET_CROSS_LE is not set
CONFIG_VETH=m
CONFIG_VIRTIO_NET=m
# CONFIG_NLMON is not set
CONFIG_NET_VRF=m
CONFIG_SUNGEM_PHY=m
# CONFIG_ARCNET is not set
#
# Distributed Switch Architecture drivers
#
# end of Distributed Switch Architecture drivers
CONFIG_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
# CONFIG_NET_VENDOR_ALTEON is not set
# CONFIG_ALTERA_TSE is not set
# CONFIG_NET_VENDOR_AMAZON is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_APPLE is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_NET_VENDOR_AURORA is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CISCO is not set
# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_GOOGLE is not set
# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_JME is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETERION is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
# CONFIG_NET_VENDOR_PENSANDO is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_STMICRO is not set
CONFIG_NET_VENDOR_SUN=y
# CONFIG_HAPPYMEAL is not set
CONFIG_SUNGEM=m
# CONFIG_CASSINI is not set
# CONFIG_NIU is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PHYLIB=m
CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set
CONFIG_FIXED_PHY=m
#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
# CONFIG_ADIN_PHY is not set
# CONFIG_AQUANTIA_PHY is not set
# CONFIG_AX88796B_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM54140_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM84881_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_CORTINA_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_MARVELL_10G_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_MICROCHIP_PHY is not set
# CONFIG_MICROCHIP_T1_PHY is not set
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_NXP_TJA11XX_PHY is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_RENESAS_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
# CONFIG_DP83822_PHY is not set
# CONFIG_DP83TC811_PHY is not set
# CONFIG_DP83848_PHY is not set
# CONFIG_DP83867_PHY is not set
# CONFIG_DP83869_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_XILINX_GMII2RGMII is not set
CONFIG_MDIO_DEVICE=m
CONFIG_MDIO_BUS=m
CONFIG_OF_MDIO=m
CONFIG_MDIO_DEVRES=m
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_HISI_FEMAC is not set
# CONFIG_MDIO_MVUSB is not set
# CONFIG_MDIO_MSCC_MIIM is not set
# CONFIG_MDIO_IPQ4019 is not set
#
# MDIO Multiplexers
#
# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
#
# PCS device drivers
#
# CONFIG_PCS_XPCS is not set
# end of PCS device drivers
CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOE=m
CONFIG_PPTP=m
CONFIG_PPPOL2TP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_SLIP=m
CONFIG_SLHC=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_USB_NET_DRIVERS=m
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_RTL8152 is not set
# CONFIG_USB_LAN78XX is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_HSO is not set
# CONFIG_USB_IPHETH is not set
CONFIG_WLAN=y
# CONFIG_WIRELESS_WDS is not set
# CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
CONFIG_WLAN_VENDOR_BROADCOM=y
CONFIG_B43=m
CONFIG_B43_SSB=y
# CONFIG_B43_BUSES_BCMA_AND_SSB is not set
# CONFIG_B43_BUSES_BCMA is not set
CONFIG_B43_BUSES_SSB=y
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PIO=y
CONFIG_B43_PHY_G=y
# CONFIG_B43_PHY_N is not set
CONFIG_B43_PHY_LP=y
CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
# CONFIG_B43LEGACY is not set
# CONFIG_BRCMSMAC is not set
# CONFIG_BRCMFMAC is not set
# CONFIG_WLAN_VENDOR_CISCO is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
CONFIG_WLAN_VENDOR_INTERSIL=y
# CONFIG_HOSTAP is not set
CONFIG_HERMES=m
CONFIG_HERMES_PRISM=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_APPLE_AIRPORT=m
# CONFIG_PLX_HERMES is not set
# CONFIG_TMD_HERMES is not set
# CONFIG_NORTEL_HERMES is not set
# CONFIG_PCI_HERMES is not set
# CONFIG_ORINOCO_USB is not set
# CONFIG_P54_COMMON is not set
# CONFIG_PRISM54 is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_MICROCHIP is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_WLAN_VENDOR_REALTEK is not set
# CONFIG_WLAN_VENDOR_RSI is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
# CONFIG_MAC80211_HWSIM is not set
# CONFIG_USB_NET_RNDIS_WLAN is not set
CONFIG_VIRT_WIFI=m
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set
# CONFIG_VMXNET3 is not set
# CONFIG_NETDEVSIM is not set
CONFIG_NET_FAILOVER=m
# CONFIG_ISDN is not set
# CONFIG_NVM is not set
#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_MATRIXKMAP is not set
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=m
#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
CONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set
# CONFIG_MOUSE_SERIAL is not set
CONFIG_MOUSE_APPLETOUCH=m
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_CYAPA is not set
# CONFIG_MOUSE_ELAN_I2C is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
# CONFIG_MOUSE_SYNAPTICS_USB is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
# CONFIG_RMI4_CORE is not set
#
# Hardware I/O ports
#
# CONFIG_SERIO is not set
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support
#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=0
CONFIG_LDISC_AUTOLOAD=y
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_PMACZILOG=y
# CONFIG_SERIAL_PMACZILOG_TTYS is not set
CONFIG_SERIAL_PMACZILOG_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_SIFIVE is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
# end of Serial drivers
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set
# CONFIG_N_GSM is not set
# CONFIG_NOZOMI is not set
CONFIG_NULL_TTY=m
# CONFIG_TRACE_SINK is not set
CONFIG_HVC_DRIVER=y
# CONFIG_HVC_UDBG is not set
# CONFIG_SERIAL_DEV_BUS is not set
# CONFIG_TTY_PRINTK is not set
CONFIG_VIRTIO_CONSOLE=m
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_HW_RANDOM_BA431 is not set
CONFIG_HW_RANDOM_VIRTIO=m
# CONFIG_HW_RANDOM_CCTRNG is not set
# CONFIG_HW_RANDOM_XIPHERA is not set
# CONFIG_APPLICOM is not set
CONFIG_DEVMEM=y
CONFIG_DEVKMEM=y
CONFIG_NVRAM=y
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=4096
CONFIG_DEVPORT=y
# CONFIG_TCG_TPM is not set
# CONFIG_XILLYBUS is not set
# end of Character devices
# CONFIG_RANDOM_TRUST_BOOTLOADER is not set
#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=y
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
#
# Mac SMBus host controller drivers
#
CONFIG_I2C_POWERMAC=y
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_MPC is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set
#
# Other I2C/SMBus bus drivers
#
# end of I2C Hardware Bus support
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_SLAVE is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support
# CONFIG_I3C is not set
# CONFIG_SPI is not set
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
# CONFIG_PPS is not set
#
# PTP clock support
#
# CONFIG_PTP_1588_CLOCK is not set
#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
# end of PTP clock support
# CONFIG_PINCTRL is not set
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
# CONFIG_POWER_RESET is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ADP5061 is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
CONFIG_BATTERY_PMU=y
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_CHARGER_BD99954 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Native drivers
#
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM1177 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7410 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_AS370 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
# CONFIG_SENSORS_ASPEED is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_CORSAIR_CPRO is not set
CONFIG_SENSORS_DRIVETEMP=m
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FTSTEUTATES is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_POWR1220 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LTC2945 is not set
# CONFIG_SENSORS_LTC2947_I2C is not set
# CONFIG_SENSORS_LTC2990 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4222 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4260 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX6621 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MAX31790 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_TC654 is not set
# CONFIG_SENSORS_MR75203 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LM95234 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_NPCM7XX is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SHT3x is not set
# CONFIG_SENSORS_SHTC1 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_STTS751 is not set
# CONFIG_SENSORS_SMM665 is not set
# CONFIG_SENSORS_ADC128D818 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP103 is not set
# CONFIG_SENSORS_TMP108 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_TMP513 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83773G is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
CONFIG_THERMAL=y
# CONFIG_THERMAL_NETLINK is not set
CONFIG_THERMAL_STATISTICS=y
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_OF=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_CPU_THERMAL=y
CONFIG_CPU_FREQ_THERMAL=y
CONFIG_DEVFREQ_THERMAL=y
# CONFIG_THERMAL_EMULATION is not set
CONFIG_THERMAL_MMIO=m
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
CONFIG_WATCHDOG_SYSFS=y
#
# Watchdog Pretimeout Governors
#
# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_I6300ESB_WDT is not set
#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set
#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=m
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=m
CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_BCMA_POSSIBLE=y
# CONFIG_BCMA is not set
#
# Multifunction device drivers
#
# CONFIG_MFD_ACT8945A is not set
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_AS3722 is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# CONFIG_MFD_ATMEL_HLCDC is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_MADERA is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_GATEWORKS_GSC is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_MP2629 is not set
# CONFIG_MFD_HI6421_PMIC is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_LPC_ICH is not set
# CONFIG_LPC_SCH is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77620 is not set
# CONFIG_MFD_MAX77650 is not set
# CONFIG_MFD_MAX77686 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6360 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SL28CPLD is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_STMPE is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TI_AM335X_TSCADC is not set
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TPS65218 is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS80031 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_LOCHNAGAR is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_ROHM_BD70528 is not set
# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_STPMIC1 is not set
# CONFIG_MFD_STMFX is not set
# end of Multifunction device drivers
# CONFIG_REGULATOR is not set
# CONFIG_RC_CORE is not set
# CONFIG_MEDIA_CEC_SUPPORT is not set
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_UNINORTH=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_DRM=y
# CONFIG_DRM_DP_AUX_CHARDEV is not set
# CONFIG_DRM_DEBUG_MM is not set
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_TTM=y
CONFIG_DRM_GEM_SHMEM_HELPER=y
#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# end of I2C encoder or helper chips
#
# ARM devices
#
# end of ARM devices
CONFIG_DRM_RADEON=y
# CONFIG_DRM_RADEON_USERPTR is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
CONFIG_DRM_VGEM=m
# CONFIG_DRM_VKMS is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_RCAR_DW_HDMI is not set
# CONFIG_DRM_RCAR_LVDS is not set
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_BOCHS is not set
CONFIG_DRM_VIRTIO_GPU=m
CONFIG_DRM_PANEL=y
#
# Display Panels
#
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
# end of Display Panels
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y
#
# Display Interface Bridges
#
# CONFIG_DRM_CDNS_DSI is not set
# CONFIG_DRM_CHRONTEL_CH7033 is not set
# CONFIG_DRM_DISPLAY_CONNECTOR is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
CONFIG_DRM_LVDS_CODEC=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_PARADE_PS8640 is not set
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_SII9234 is not set
# CONFIG_DRM_SIMPLE_BRIDGE is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
# CONFIG_DRM_TOSHIBA_TC358762 is not set
# CONFIG_DRM_TOSHIBA_TC358764 is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
# CONFIG_DRM_TI_TFP410 is not set
# CONFIG_DRM_TI_SN65DSI86 is not set
# CONFIG_DRM_TI_TPD12S015 is not set
# CONFIG_DRM_ANALOGIX_ANX6345 is not set
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_CDNS_MHDP8546 is not set
# end of Display Interface Bridges
# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_ARCPGU is not set
# CONFIG_DRM_CIRRUS_QEMU is not set
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
#
# Frame buffer Devices
#
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_MACMODES=y
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_OF=y
# CONFIG_FB_CONTROL is not set
# CONFIG_FB_PLATINUM is not set
# CONFIG_FB_VALKYRIE is not set
# CONFIG_FB_CT65550 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_UVESA is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_MATROX is not set
CONFIG_FB_RADEON=y
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
# CONFIG_FB_RADEON_DEBUG is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_SIMPLE is not set
# CONFIG_FB_SM712 is not set
# end of Frame buffer Devices
#
# Backlight & LCD device support
#
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
CONFIG_BACKLIGHT_LED=m
# end of Backlight & LCD device support
CONFIG_HDMI=y
#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
# end of Console display driver support
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
# end of Graphics support
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_SEQ_DEVICE=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_PCM_TIMER=y
CONFIG_SND_HRTIMER=m
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VERBOSE_PRINTK=y
# CONFIG_SND_DEBUG is not set
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_SEQUENCER_OSS=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SEQ_MIDI_EVENT=m
CONFIG_SND_SEQ_MIDI=m
CONFIG_SND_SEQ_VIRMIDI=m
CONFIG_SND_DRIVERS=y
CONFIG_SND_DUMMY=m
CONFIG_SND_ALOOP=m
CONFIG_SND_VIRMIDI=m
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_PCI is not set
#
# HD-Audio
#
# end of HD-Audio
CONFIG_SND_HDA_PREALLOC_SIZE=64
# CONFIG_SND_PPC is not set
CONFIG_SND_AOA=m
CONFIG_SND_AOA_FABRIC_LAYOUT=m
CONFIG_SND_AOA_ONYX=m
CONFIG_SND_AOA_TAS=m
CONFIG_SND_AOA_TOONIE=m
CONFIG_SND_AOA_SOUNDBUS=m
CONFIG_SND_AOA_SOUNDBUS_I2S=m
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
# CONFIG_SND_USB_UA101 is not set
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
# CONFIG_SND_USB_6FIRE is not set
# CONFIG_SND_USB_HIFACE is not set
# CONFIG_SND_BCD2000 is not set
# CONFIG_SND_USB_POD is not set
# CONFIG_SND_USB_PODHD is not set
# CONFIG_SND_USB_TONEPORT is not set
# CONFIG_SND_USB_VARIAX is not set
CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_LIB=m
# CONFIG_SND_DICE is not set
# CONFIG_SND_OXFW is not set
CONFIG_SND_ISIGHT=m
# CONFIG_SND_FIREWORKS is not set
# CONFIG_SND_BEBOB is not set
# CONFIG_SND_FIREWIRE_DIGI00X is not set
# CONFIG_SND_FIREWIRE_TASCAM is not set
# CONFIG_SND_FIREWIRE_MOTU is not set
# CONFIG_SND_FIREFACE is not set
# CONFIG_SND_SOC is not set
#
# HID support
#
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=y
#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
# CONFIG_HID_ACCUTOUCH is not set
# CONFIG_HID_ACRUX is not set
CONFIG_HID_APPLE=m
# CONFIG_HID_APPLEIR is not set
# CONFIG_HID_ASUS is not set
# CONFIG_HID_AUREAL is not set
CONFIG_HID_BELKIN=m
# CONFIG_HID_BETOP_FF is not set
# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
# CONFIG_HID_CORSAIR is not set
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
# CONFIG_HID_PRODIKEYS is not set
# CONFIG_HID_CMEDIA is not set
# CONFIG_HID_CREATIVE_SB0540 is not set
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
# CONFIG_DRAGONRISE_FF is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELAN is not set
# CONFIG_HID_ELECOM is not set
# CONFIG_HID_ELO is not set
CONFIG_HID_EZKEY=m
# CONFIG_HID_GEMBIRD is not set
# CONFIG_HID_GFRM is not set
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_VIVALDI is not set
# CONFIG_HID_GT683R is not set
# CONFIG_HID_KEYTOUCH is not set
CONFIG_HID_KYE=m
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
# CONFIG_HID_VIEWSONIC is not set
CONFIG_HID_GYRATION=m
# CONFIG_HID_ICADE is not set
# CONFIG_HID_ITE is not set
# CONFIG_HID_JABRA is not set
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
# CONFIG_HID_LCPOWER is not set
CONFIG_HID_LED=m
# CONFIG_HID_LENOVO is not set
CONFIG_HID_LOGITECH=m
# CONFIG_HID_LOGITECH_DJ is not set
# CONFIG_HID_LOGITECH_HIDPP is not set
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
# CONFIG_LOGIG940_FF is not set
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=m
# CONFIG_HID_MALTRON is not set
# CONFIG_HID_MAYFLASH is not set
# CONFIG_HID_REDRAGON is not set
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
# CONFIG_HID_NTI is not set
CONFIG_HID_NTRIG=m
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
# CONFIG_HID_PENMOUNT is not set
CONFIG_HID_PETALYNX=m
# CONFIG_HID_PICOLCD is not set
CONFIG_HID_PLANTRONICS=m
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_RETRODE is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
# CONFIG_SONY_FF is not set
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEAM is not set
# CONFIG_HID_STEELSERIES is not set
CONFIG_HID_SUNPLUS=m
# CONFIG_HID_RMI is not set
CONFIG_HID_GREENASIA=m
# CONFIG_GREENASIA_FF is not set
CONFIG_HID_SMARTJOYPLUS=m
CONFIG_SMARTJOYPLUS_FF=y
# CONFIG_HID_TIVO is not set
CONFIG_HID_TOPSEED=m
# CONFIG_HID_THINGM is not set
CONFIG_HID_THRUSTMASTER=m
CONFIG_THRUSTMASTER_FF=y
# CONFIG_HID_UDRAW_PS3 is not set
# CONFIG_HID_U2FZERO is not set
CONFIG_HID_WACOM=m
# CONFIG_HID_WIIMOTE is not set
# CONFIG_HID_XINMO is not set
CONFIG_HID_ZEROPLUS=m
CONFIG_ZEROPLUS_FF=y
# CONFIG_HID_ZYDACRON is not set
# CONFIG_HID_SENSOR_HUB is not set
CONFIG_HID_ALPS=m
# end of Special HID drivers
#
# USB HID support
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
# end of USB HID support
#
# I2C HID support
#
# CONFIG_I2C_HID is not set
# end of I2C HID support
# end of HID support
CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
# CONFIG_USB_LED_TRIG is not set
# CONFIG_USB_ULPI_BUS is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_FEW_INIT_RETRIES is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
CONFIG_USB_AUTOSUSPEND_DELAY=2
# CONFIG_USB_MON is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=y
# CONFIG_XPS_USB_HCD_XILINX is not set
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PPC_OF=y
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_FOTG210_HCD is not set
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
CONFIG_USB_OHCI_HCD_PPC_OF=y
CONFIG_USB_OHCI_HCD_PCI=m
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_U132_HCD is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_HCD_SSB is not set
# CONFIG_USB_HCD_TEST_MODE is not set
#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_WDM=m
CONFIG_USB_TMC=m
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_REALTEK=m
CONFIG_REALTEK_AUTOPM=y
CONFIG_USB_STORAGE_DATAFAB=m
CONFIG_USB_STORAGE_FREECOM=m
CONFIG_USB_STORAGE_ISD200=m
CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STORAGE_SDDR09=m
CONFIG_USB_STORAGE_SDDR55=m
CONFIG_USB_STORAGE_JUMPSHOT=m
CONFIG_USB_STORAGE_ALAUDA=m
CONFIG_USB_STORAGE_ONETOUCH=m
CONFIG_USB_STORAGE_KARMA=m
CONFIG_USB_STORAGE_CYPRESS_ATACB=m
CONFIG_USB_STORAGE_ENE_UB6250=m
CONFIG_USB_UAS=m
#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=1
CONFIG_USBIP_HOST=m
# CONFIG_USBIP_DEBUG is not set
# CONFIG_USB_CDNS3 is not set
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_CHIPIDEA is not set
# CONFIG_USB_ISP1760 is not set
#
# USB port drivers
#
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_SIMPLE is not set
CONFIG_USB_SERIAL_AIRCABLE=m
CONFIG_USB_SERIAL_ARK3116=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
# CONFIG_USB_SERIAL_WHITEHEAT is not set
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_F81232 is not set
# CONFIG_USB_SERIAL_F8153X is not set
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
# CONFIG_USB_SERIAL_QCAUX is not set
CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SYMBOL=m
# CONFIG_USB_SERIAL_TI is not set
CONFIG_USB_SERIAL_CYBERJACK=m
# CONFIG_USB_SERIAL_XIRCOM is not set
CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
# CONFIG_USB_SERIAL_XSENS_MT is not set
# CONFIG_USB_SERIAL_WISHBONE is not set
CONFIG_USB_SERIAL_SSU100=m
# CONFIG_USB_SERIAL_QT2 is not set
# CONFIG_USB_SERIAL_UPD78F0730 is not set
CONFIG_USB_SERIAL_DEBUG=m
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
CONFIG_USB_ADUTUX=m
CONFIG_USB_SEVSEG=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_CYTHERM=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
# CONFIG_APPLE_MFI_FASTCHARGE is not set
CONFIG_USB_SISUSBVGA=m
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=m
CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_IOWARRIOR=m
# CONFIG_USB_TEST is not set
# CONFIG_USB_EHSET_TEST_FIXTURE is not set
CONFIG_USB_ISIGHTFW=m
CONFIG_USB_YUREX=m
# CONFIG_USB_EZUSB_FX2 is not set
# CONFIG_USB_HUB_USB251XB is not set
# CONFIG_USB_HSIC_USB3503 is not set
# CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set
CONFIG_USB_CHAOSKEY=m
#
# USB Physical Layer drivers
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_USB_ISP1301 is not set
# end of USB Physical Layer drivers
# CONFIG_USB_GADGET is not set
# CONFIG_TYPEC is not set
CONFIG_USB_ROLE_SWITCH=m
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
# CONFIG_LEDS_CLASS_MULTICOLOR is not set
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
#
# LED drivers
#
# CONFIG_LEDS_AN30259A is not set
# CONFIG_LEDS_AW2013 is not set
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3532 is not set
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_LM3692X is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP55XX_COMMON is not set
# CONFIG_LEDS_LP8860 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_BLINKM is not set
# CONFIG_LEDS_MLXREG is not set
# CONFIG_LEDS_USER is not set
# CONFIG_LEDS_TI_LMU_COMMON is not set
#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_ACTIVITY=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
#
# iptables trigger is under Netfilter config (LED target)
#
CONFIG_LEDS_TRIGGER_TRANSIENT=m
# CONFIG_LEDS_TRIGGER_CAMERA is not set
# CONFIG_LEDS_TRIGGER_PANIC is not set
# CONFIG_LEDS_TRIGGER_NETDEV is not set
# CONFIG_LEDS_TRIGGER_PATTERN is not set
CONFIG_LEDS_TRIGGER_AUDIO=m
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
CONFIG_EDAC_LEGACY_SYSFS=y
# CONFIG_EDAC_DEBUG is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
CONFIG_RTC_NVMEM=y
#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABEOZ9 is not set
# CONFIG_RTC_DRV_ABX80X is not set
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_HYM8563 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_ISL12026 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3028 is not set
# CONFIG_RTC_DRV_RV3032 is not set
# CONFIG_RTC_DRV_RV8803 is not set
# CONFIG_RTC_DRV_SD3078 is not set
#
# SPI RTC drivers
#
CONFIG_RTC_I2C_AND_SPI=y
#
# SPI and I2C RTC drivers
#
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
#
# Platform RTC drivers
#
# CONFIG_RTC_DRV_CMOS is not set
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
# CONFIG_RTC_DRV_ZYNQMP is not set
#
# on-CPU RTC drivers
#
CONFIG_RTC_DRV_GENERIC=y
# CONFIG_RTC_DRV_CADENCE is not set
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_R7301 is not set
#
# HID Sensor RTC drivers
#
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set
#
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_OF=y
# CONFIG_ALTERA_MSGDMA is not set
# CONFIG_DW_AXI_DMAC is not set
# CONFIG_FSL_EDMA is not set
# CONFIG_INTEL_IDMA64 is not set
# CONFIG_PLX_DMA is not set
# CONFIG_XILINX_ZYNQMP_DPDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_DW_DMAC is not set
# CONFIG_DW_DMAC_PCI is not set
# CONFIG_SF_PDMA is not set
#
# DMA Clients
#
# CONFIG_ASYNC_TX_DMA is not set
# CONFIG_DMATEST is not set
#
# DMABUF options
#
CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
CONFIG_UDMABUF=y
# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMABUF_HEAPS is not set
# end of DMABUF options
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
CONFIG_IRQ_BYPASS_MANAGER=y
CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO=m
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_PCI_LEGACY=y
# CONFIG_VIRTIO_VDPA is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO is not set
CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
CONFIG_VDPA=m
CONFIG_VHOST_IOTLB=m
CONFIG_VHOST=m
CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
# CONFIG_VHOST_VDPA is not set
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
#
# Microsoft Hyper-V guest support
#
# end of Microsoft Hyper-V guest support
# CONFIG_GREYBUS is not set
# CONFIG_STAGING is not set
# CONFIG_GOLDFISH is not set
# CONFIG_COMMON_CLK is not set
# CONFIG_HWSPINLOCK is not set
#
# Clock Source drivers
#
# CONFIG_MICROCHIP_PIT64B is not set
# end of Clock Source drivers
# CONFIG_MAILBOX is not set
CONFIG_IOMMU_SUPPORT=y
#
# Generic IOMMU Pagetable Support
#
# end of Generic IOMMU Pagetable Support
# CONFIG_IOMMU_DEBUGFS is not set
#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers
#
# Rpmsg drivers
#
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers
# CONFIG_SOUNDWIRE is not set
#
# SOC (System On Chip) specific Drivers
#
#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers
#
# Aspeed SoC drivers
#
# end of Aspeed SoC drivers
#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers
#
# NXP/Freescale QorIQ SoC drivers
#
# CONFIG_QUICC_ENGINE is not set
# end of NXP/Freescale QorIQ SoC drivers
#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
#
# Qualcomm SoC drivers
#
# end of Qualcomm SoC drivers
# CONFIG_SOC_TI is not set
#
# Xilinx SoC drivers
#
# CONFIG_XILINX_VCU is not set
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers
CONFIG_PM_DEVFREQ=y
#
# DEVFREQ Governors
#
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
CONFIG_DEVFREQ_GOV_PERFORMANCE=m
CONFIG_DEVFREQ_GOV_POWERSAVE=m
CONFIG_DEVFREQ_GOV_USERSPACE=m
CONFIG_DEVFREQ_GOV_PASSIVE=m
#
# DEVFREQ Drivers
#
CONFIG_PM_DEVFREQ_EVENT=y
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
# CONFIG_NTB is not set
# CONFIG_VME_BUS is not set
# CONFIG_PWM is not set
#
# IRQ chip support
#
CONFIG_IRQCHIP=y
# CONFIG_AL_FIC is not set
# CONFIG_MST_IRQ is not set
# end of IRQ chip support
# CONFIG_IPACK_BUS is not set
# CONFIG_RESET_CONTROLLER is not set
#
# PHY Subsystem
#
# CONFIG_GENERIC_PHY is not set
# CONFIG_USB_LGM_PHY is not set
# CONFIG_BCM_KONA_USB2_PHY is not set
# CONFIG_PHY_CADENCE_TORRENT is not set
# CONFIG_PHY_CADENCE_DPHY is not set
# CONFIG_PHY_CADENCE_SALVO is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# end of PHY Subsystem
# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set
CONFIG_RAS=y
# CONFIG_USB4 is not set
#
# Android
#
# CONFIG_ANDROID is not set
# end of Android
# CONFIG_DAX is not set
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
#
# HW tracing support
#
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# end of HW tracing support
# CONFIG_FPGA is not set
# CONFIG_FSI is not set
CONFIG_PM_OPP=y
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
# CONFIG_COUNTER is not set
# CONFIG_MOST is not set
# end of Device Drivers
#
# File systems
#
# CONFIG_VALIDATE_FS_PARSER is not set
CONFIG_FS_IOMAP=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=m
CONFIG_XFS_SUPPORT_V4=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_RT is not set
# CONFIG_XFS_ONLINE_SCRUB is not set
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
# CONFIG_F2FS_FS is not set
# CONFIG_FS_DAX is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
CONFIG_MANDATORY_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_ALGS=y
# CONFIG_FS_VERITY is not set
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_VIRTIO_FS=m
CONFIG_OVERLAY_FS=m
CONFIG_OVERLAY_FS_REDIRECT_DIR=y
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS_METACOPY=y
#
# Caches
#
# CONFIG_FSCACHE is not set
# end of Caches
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
# end of CD-ROM/DVD Filesystems
#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_FAT_DEFAULT_UTF8=y
# CONFIG_EXFAT_FS is not set
# CONFIG_NTFS_FS is not set
# end of DOS/FAT/EXFAT/NT Filesystems
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_MEMFD_CREATE=y
CONFIG_CONFIGFS_FS=m
# end of Pseudo filesystems
CONFIG_MISC_FILESYSTEMS=y
CONFIG_ORANGEFS_FS=m
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
CONFIG_ECRYPT_FS=m
CONFIG_ECRYPT_FS_MESSAGING=y
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
CONFIG_CRAMFS_BLOCKDEV=y
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
CONFIG_MINIX_FS=m
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
CONFIG_ROMFS_FS=m
CONFIG_ROMFS_BACKED_BY_BLOCK=y
CONFIG_ROMFS_ON_BLOCK=y
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
CONFIG_UFS_FS=m
CONFIG_UFS_FS_WRITE=y
# CONFIG_UFS_DEBUG is not set
CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_DEBUG=y
CONFIG_EROFS_FS_XATTR=y
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
# CONFIG_EROFS_FS_ZIP is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V2=m
CONFIG_NFS_V3=m
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=m
# CONFIG_NFS_SWAP is not set
# CONFIG_NFS_V4_1 is not set
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_FLEXFILELAYOUT=y
CONFIG_GRACE_PERIOD=m
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES is not set
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_CELTIC=m
CONFIG_NLS_MAC_CENTEURO=m
CONFIG_NLS_MAC_CROATIAN=m
CONFIG_NLS_MAC_CYRILLIC=m
CONFIG_NLS_MAC_GAELIC=m
CONFIG_NLS_MAC_GREEK=m
CONFIG_NLS_MAC_ICELAND=m
CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set
CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y
# end of File systems
#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_REQUEST_CACHE=y
# CONFIG_PERSISTENT_KEYRINGS is not set
CONFIG_ENCRYPTED_KEYS=y
# CONFIG_KEY_DH_OPERATIONS is not set
# CONFIG_KEY_NOTIFICATIONS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
# CONFIG_HARDENED_USERCOPY is not set
# CONFIG_FORTIFY_SOURCE is not set
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_LSM=""
#
# Kernel hardening options
#
#
# Memory initialization
#
CONFIG_INIT_STACK_NONE=y
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
# end of Memory initialization
# end of Kernel hardening options
# end of Security options
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_KPP=m
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
# CONFIG_CRYPTO_TEST is not set
CONFIG_CRYPTO_ENGINE=m
#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
# CONFIG_CRYPTO_DH is not set
CONFIG_CRYPTO_ECC=m
CONFIG_CRYPTO_ECDH=m
CONFIG_CRYPTO_ECRDSA=m
# CONFIG_CRYPTO_SM2 is not set
CONFIG_CRYPTO_CURVE25519=m
#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
# CONFIG_CRYPTO_AEGIS128 is not set
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=m
#
# Block modes
#
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CFB=m
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_OFB=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=y
# CONFIG_CRYPTO_KEYWRAP is not set
CONFIG_CRYPTO_NHPOLY1305=m
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_ESSIV=m
#
# Hash modes
#
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m
#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CRC32 is not set
# CONFIG_CRYPTO_XXHASH is not set
CONFIG_CRYPTO_BLAKE2B=m
CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_CRCT10DIF=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_MD5_PPC=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA1_PPC=m
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=m
CONFIG_CRYPTO_SM3=m
CONFIG_CRYPTO_STREEBOG=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
#
# Ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_TI is not set
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST_COMMON=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SM4=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
#
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_LZO=m
# CONFIG_CRYPTO_842 is not set
# CONFIG_CRYPTO_LZ4 is not set
# CONFIG_CRYPTO_LZ4HC is not set
# CONFIG_CRYPTO_ZSTD is not set
#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
# CONFIG_CRYPTO_DRBG_HASH is not set
# CONFIG_CRYPTO_DRBG_CTR is not set
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_USER_API_RNG=m
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
# CONFIG_CRYPTO_USER_API_AEAD is not set
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
# CONFIG_CRYPTO_STATS is not set
CONFIG_CRYPTO_HASH_INFO=y
#
# Crypto library routines
#
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=m
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
CONFIG_CRYPTO_LIB_BLAKE2S=m
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
CONFIG_CRYPTO_LIB_CHACHA=m
CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
CONFIG_CRYPTO_LIB_CURVE25519=m
CONFIG_CRYPTO_LIB_DES=m
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
CONFIG_CRYPTO_LIB_SHA256=y
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_CCREE is not set
# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
#
# Certificates for signature checking
#
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
# end of Certificates for signature checking
#
# Library routines
#
CONFIG_RAID6_PQ=m
CONFIG_RAID6_PQ_BENCHMARK=y
# CONFIG_PACKING is not set
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_CORDIC=m
# CONFIG_PRIME_NUMBERS is not set
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC64=m
# CONFIG_CRC4 is not set
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_CRC8=m
CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_INTERVAL_TREE=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_DMA_DECLARE_COHERENT=y
# CONFIG_DMA_API_DEBUG is not set
CONFIG_SGL_ALLOC=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_GENERIC_ATOMIC64=y
CONFIG_CLZ_TAB=y
# CONFIG_IRQ_POLL is not set
CONFIG_MPILIB=y
CONFIG_LIBFDT=y
CONFIG_OID_REGISTRY=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_ARCH_HAS_MEMREMAP_COMPAT_ALIGN=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_SBITMAP=y
# CONFIG_STRING_SELFTEST is not set
# end of Library routines
#
# Kernel hacking
#
#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
# CONFIG_PRINTK_CALLER is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DYNAMIC_DEBUG_CORE is not set
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options
#
# Compile-time checks and compiler options
#
# CONFIG_DEBUG_INFO is not set
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
# CONFIG_HEADERS_INSTALL is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options
#
# Generic Kernel Debugging Instruments
#
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
# CONFIG_UBSAN is not set
# end of Generic Kernel Debugging Instruments
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_MISC is not set
#
# Memory Debugging
#
# CONFIG_PAGE_EXTENSION is not set
# CONFIG_PAGE_OWNER is not set
# CONFIG_PAGE_POISONING is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_SCHED_STACK_END_CHECK is not set
# CONFIG_DEBUG_VM is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
# end of Memory Debugging
# CONFIG_DEBUG_SHIRQ is not set
#
# Debug Oops, Lockups and Hangs
#
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
# CONFIG_SOFTLOCKUP_DETECTOR is not set
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_WQ_WATCHDOG is not set
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs
#
# Scheduler Debugging
#
CONFIG_SCHED_DEBUG=y
CONFIG_SCHED_INFO=y
# CONFIG_SCHEDSTATS is not set
# end of Scheduler Debugging
# CONFIG_DEBUG_TIMEKEEPING is not set
#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
# CONFIG_DEBUG_RWSEMS is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)
# CONFIG_STACKTRACE is not set
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set
#
# Debug kernel data structures
#
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_PLIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_BUG_ON_DATA_CORRUPTION is not set
# end of Debug kernel data structures
# CONFIG_DEBUG_CREDENTIALS is not set
#
# RCU Debugging
#
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# end of RCU Debugging
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_LATENCYTOP is not set
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
# CONFIG_SAMPLES is not set
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
# CONFIG_STRICT_DEVMEM is not set
#
# powerpc Debugging
#
# CONFIG_PPC_DISABLE_WERROR is not set
CONFIG_PPC_WERROR=y
CONFIG_PRINT_STACK_DEPTH=64
# CONFIG_PPC_EMULATED_STATS is not set
# CONFIG_CODE_PATCHING_SELFTEST is not set
# CONFIG_FTR_FIXUP_SELFTEST is not set
# CONFIG_MSI_BITMAP_SELFTEST is not set
# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set
# CONFIG_XMON is not set
# CONFIG_BDI_SWITCH is not set
# CONFIG_BOOTX_TEXT is not set
# CONFIG_PPC_EARLY_DEBUG is not set
# CONFIG_PPC_PTDUMP is not set
# end of powerpc Debugging
#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_ARCH_HAS_KCOV=y
# CONFIG_RUNTIME_TESTING_MENU is not set
# CONFIG_MEMTEST is not set
# end of Kernel Testing and Coverage
# end of Kernel hacking
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."
^ permalink raw reply
* Re: [patch V2 00/18] mm/highmem: Preemptible variant of kmap_atomic & friends
From: Matthew Wilcox @ 2020-10-30 13:06 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Juri Lelli, linux-xtensa, Peter Zijlstra,
Sebastian Andrzej Siewior, linux-mips, Ben Segall, linux-mm,
Guo Ren, sparclinux, Vincent Chen, Ingo Molnar, linux-arch,
Vincent Guittot, Herbert Xu, x86, Russell King, linux-csky,
Christoph Hellwig, David Airlie, Mel Gorman, linux-snps-arc,
Ard Biesheuvel, Paul McKenney, linuxppc-dev, Steven Rostedt,
Linus Torvalds, Greentime Hu, Dietmar Eggemann, linux-arm-kernel,
Chris Zankel, Michal Simek, Thomas Bogendoerfer, Nick Hu,
Max Filippov, Vineet Gupta, LKML, Arnd Bergmann, Daniel Vetter,
Paul Mackerras, Andrew Morton, Daniel Bristot de Oliveira,
David S. Miller
In-Reply-To: <20201029221806.189523375@linutronix.de>
On Thu, Oct 29, 2020 at 11:18:06PM +0100, Thomas Gleixner wrote:
> This series provides kmap_local.* iomap_local variants which only disable
> migration to keep the virtual mapping address stable accross preemption,
> but do neither disable pagefaults nor preemption. The new functions can be
> used in any context, but if used in atomic context the caller has to take
> care of eventually disabling pagefaults.
Could I ask for a CONFIG_KMAP_DEBUG which aliases all the kmap variants
to vmap()? I think we currently have a problem in iov_iter on HIGHMEM
configs:
copy_page_to_iter() calls page_copy_sane() which checks:
head = compound_head(page);
if (likely(n <= v && v <= page_size(head)))
return true;
but then:
void *kaddr = kmap_atomic(page);
size_t wanted = copy_to_iter(kaddr + offset, bytes, i);
kunmap_atomic(kaddr);
so if offset to offset+bytes is larger than PAGE_SIZE, this is going to
work for lowmem pages and fail miserably for highmem pages. I suggest
vmap() because vmap has a PAGE_SIZE gap between each allocation.
Alternatively if we could have a kmap_atomic_compound(), that would
be awesome, but probably not realistic to implement. I've more
or less resigned myself to having to map things one page at a time.
^ permalink raw reply
* Re: [PATCH] powerpc/32s: Setup the early hash table at all time.
From: Christophe Leroy @ 2020-10-30 13:00 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Paul Mackerras, linuxppc-dev, linux-kernel
In-Reply-To: <87v9esaxlv.fsf@igel.home>
Andreas Schwab <schwab@linux-m68k.org> a écrit :
> On Okt 30 2020, Michael Ellerman wrote:
>
>> Andreas Schwab <schwab@linux-m68k.org> writes:
>>> On Okt 01 2020, Christophe Leroy wrote:
>>>
>>>> At the time being, an early hash table is set up when
>>>> CONFIG_KASAN is selected.
>>>>
>>>> There is nothing wrong with setting such an early hash table
>>>> all the time, even if it is not used. This is a statically
>>>> allocated 256 kB table which lies in the init data section.
>>>>
>>>> This makes the code simpler and may in the future allow to
>>>> setup early IO mappings with fixmap instead of hard coding BATs.
>>>>
>>>> Put create_hpte() and flush_hash_pages() in the .ref.text section
>>>> in order to avoid warning for the reference to early_hash[]. This
>>>> reference is removed by MMU_init_hw_patch() before init memory is
>>>> freed.
>>>
>>> This breaks booting on the iBook G4.
>>
>> Do you get an oops or anything?
>
> Nope, nothing at all.
>
Under qemu it was working.
Can you share your .config, or are you using one of the defconfig ?
Christophe
^ permalink raw reply
* Re: [PATCH 02/29] powerpc/rtas: prevent suspend-related sys_rtas use on LE
From: Nathan Lynch @ 2020-10-30 12:10 UTC (permalink / raw)
To: Andrew Donnellan, linuxppc-dev; +Cc: tyreld, brking, mmc, cforno12, drt
In-Reply-To: <f7386a11-61b7-4ed5-65d4-e702755be16c@linux.ibm.com>
Andrew Donnellan <ajd@linux.ibm.com> writes:
> On 30/10/20 12:17 pm, Nathan Lynch wrote:
>> While drmgr has had work in some areas to make its RTAS syscall
>> interactions endian-neutral, its code for performing partition
>> migration via the syscall has never worked on LE. While it is able to
>> complete ibm,suspend-me successfully, it crashes when attempting the
>> subsequent ibm,update-nodes call.
>>
>> drmgr is the only known (or plausible) user of these ibm,suspend-me,
>> ibm,update-nodes, and ibm,update-properties, so allow them only in
>> big-endian configurations.
>
> And there's a zero chance that drmgr will ever be fixed on LE?
It's always used the sysfs interface on LE, and the only way to provoke
it to attempt the syscalls is by doing something like this before
running the migration:
# echo 0 > /tmp/fake_api_version
# mount -o bind,ro /tmp/fake_api_version /sys/kernel/mobility/api_version
So I'm not aware of any circumstance that would actually motivate
someone to make it work on LE. I'd say it's more likely that drmgr will
drop its support for using the syscall altogether.
^ permalink raw reply
* Re: [PATCH v2 31/39] docs: ABI: cleanup several ABI documents
From: Ilya Dryomov @ 2020-10-30 11:11 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Andrew Lunn, Peter Chen, Linus Walleij, Jerry Snitselaar,
dri-devel, Pavel Machek, Christian Gromm, Ceph Development,
Bart Van Assche, linux-acpi, Danil Kipnis, Samuel Thibault,
Guenter Roeck, Ohad Ben-Cohen, linux-pm, Alexander Antonov,
Dan Murphy, Thomas Gleixner, Stefan Achatz, Konstantin Khlebnikov,
Jingoo Han, Rafael J. Wysocki, LKML, Greg Kroah-Hartman,
Hans Verkuil, Wu Hao, Vineela Tummalapalli,
Peter Meerwald-Stadler, Linux Doc Mailing List,
Srinivas Kandagatla, Hanjun Guo, Oleh Kravchenko,
Lars-Peter Clausen, Andy Shevchenko, Saravana Kannan,
Anton Vorontsov, Marek Marczykowski-Górecki, linux-stm32,
Bartosz Golaszewski, Len Brown, Alexandre Torgue,
Michael Hennerich, Suzuki K Poulose, coresight, linux-media,
Frederic Barrat, Bjorn Helgaas, Jaegeuk Kim, Boris Ostrovsky,
Mika Westerberg, linux-arm-kernel, Oded Gabbay, Tony Luck,
Mathieu Poirier, Boris Brezillon, PrasannaKumar Muralidharan,
linux-gpio, Dongsheng Yang, linux-f2fs-devel, Jarkko Sakkinen,
Maxime Coquelin, Vaibhav Jain, Pali Rohár, Jonathan Cameron,
Heiner Kallweit, Gautham R. Shenoy, Cezary Rojewski,
Mario Limonciello, Alexander Shishkin, Tom Rix, linux-fpga,
Rasmus Villemoes, Jonas Meurer, Daniel Thompson, Florian Fainelli,
Mark Gross, Jonathan Corbet, Jack Wang, Kees Cook, Dan Williams,
Kranthi Kuntala, Dmitry Torokhov, Sebastian Reichel, Colin Cross,
Enric Balletbo i Serra, Roman Sudarikov, Roger Pau Monné,
Peter Zijlstra (Intel), linux-remoteproc, Bjorn Andersson,
linux-i3c, Lee Jones, Russell King, Marek Behún,
Jason Gunthorpe, Pawan Gupta, Mike Leach, Andrew Donnellan,
Kajol Jain, Chao Yu, Johan Hovold, Andreas Klinger,
Jonathan Cameron, David Sterba, Jens Axboe, netdev, linux-iio,
Asutosh Das, linuxppc-dev
In-Reply-To: <5bc78e5b68ed1e9e39135173857cb2e753be868f.1604042072.git.mchehab+huawei@kernel.org>
On Fri, Oct 30, 2020 at 8:41 AM Mauro Carvalho Chehab
<mchehab+huawei@kernel.org> wrote:
>
> There are some ABI documents that, while they don't generate
> any warnings, they have issues when parsed by get_abi.pl script
> on its output result.
>
> Address them, in order to provide a clean output.
>
> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for IIO
> Reviewed-by: Tom Rix <trix@redhat.com> # for fpga-manager
> Reviewed-By: Kajol Jain<kjain@linux.ibm.com> # for sysfs-bus-event_source-devices-hv_gpci and sysfs-bus-event_source-devices-hv_24x7
> Acked-by: Oded Gabbay <oded.gabbay@gmail.com> # for Habanalabs
> Acked-by: Vaibhav Jain <vaibhav@linux.ibm.com> # for sysfs-bus-papr-pmem
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
>
> [...]
>
> Documentation/ABI/testing/sysfs-bus-rbd | 37 ++-
Acked-by: Ilya Dryomov <idryomov@gmail.com> # for rbd
Thanks,
Ilya
^ permalink raw reply
* Re: [PATCH v2 20/39] docs: ABI: testing: make the files compatible with ReST output
From: Mauro Carvalho Chehab @ 2020-10-30 10:09 UTC (permalink / raw)
To: Fabrice Gasnier
Cc: Gautham R. Shenoy, Jason A. Donenfeld, Heikki Krogerus,
Peter Meerwald-Stadler, Petr Mladek, Linux Doc Mailing List,
Alexander Shishkin, Nayna Jain, Jonathan Cameron,
Alexandre Belloni, Mimi Zohar, Sebastian Reichel, linux-mm,
Bruno Meneguele, Vishal Verma, Pavel Machek, Hanjun Guo,
Guenter Roeck, netdev, Oleh Kravchenko, Dan Williams,
Andrew Donnellan, Javier González, Lars-Peter Clausen,
Mark Gross, linux-acpi, Jonathan Corbet, Chunyan Zhang,
Mario Limonciello, linux-stm32, Lakshmi Ramasubramanian,
Ludovic Desroches, Pawan Gupta, linux-arm-kernel, Tom Rix,
Frederic Barrat, Niklas Cassel, Len Brown, Juergen Gross,
linuxppc-dev, Mika Westerberg, Alexandre Torgue, linux-pm,
linux-kernel, Richard Cochran, Oded Gabbay, Baolin Wang,
Stefano Stabellini, Dan Murphy, Orson Zhai, Philippe Bergheaud,
xen-devel, Boris Ostrovsky, Andy Shevchenko, Benson Leung,
Konstantin Khlebnikov, Jens Axboe, Felipe Balbi, Kranthi Kuntala,
Martin K. Petersen, Greg Kroah-Hartman, linux-usb,
Rafael J. Wysocki, Nicolas Ferre, linux-iio, Thinh Nguyen,
Sergey Senozhatsky, Thomas Gleixner, Leonid Maksymchuk,
Maxime Coquelin, Johannes Thumshirn, Enric Balletbo i Serra,
Vaibhav Jain, Vineela Tummalapalli, Peter Rosin, Jonathan Cameron,
Mike Kravetz
In-Reply-To: <5326488b-4185-9d67-fc09-79b911fbb3b8@st.com>
Em Fri, 30 Oct 2020 10:19:12 +0100
Fabrice Gasnier <fabrice.gasnier@st.com> escreveu:
> Hi Mauro,
>
> [...]
>
> >
> > +What: /sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available
> > +KernelVersion: 4.12
> > +Contact: benjamin.gaignard@st.com
> > +Description:
> > + Reading returns the list possible quadrature modes.
> > +
> > +What: /sys/bus/iio/devices/iio:deviceX/in_count0_quadrature_mode
> > +KernelVersion: 4.12
> > +Contact: benjamin.gaignard@st.com
> > +Description:
> > + Configure the device counter quadrature modes:
> > +
> > + channel_A:
> > + Encoder A input servers as the count input and B as
> > + the UP/DOWN direction control input.
> > +
> > + channel_B:
> > + Encoder B input serves as the count input and A as
> > + the UP/DOWN direction control input.
> > +
> > + quadrature:
> > + Encoder A and B inputs are mixed to get direction
> > + and count with a scale of 0.25.
> > +
>
Hi Fabrice,
> I just noticed that since Jonathan question in v1.
>
> Above ABI has been moved in the past as discussed in [1]. You can take a
> look at:
> b299d00 IIO: stm32: Remove quadrature related functions from trigger driver
>
> Could you please remove the above chunk ?
>
> With that, for the stm32 part:
> Acked-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Hmm... probably those were re-introduced due to a rebase. This
series were originally written about 1,5 years ago.
I'll drop those hunks.
Thanks!
Mauro
^ permalink raw reply
* Re: [PATCH v2 20/39] docs: ABI: testing: make the files compatible with ReST output
From: Fabrice Gasnier @ 2020-10-30 9:19 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Gautham R. Shenoy, Jason A. Donenfeld, Heikki Krogerus,
Peter Meerwald-Stadler, Petr Mladek, Linux Doc Mailing List,
Alexander Shishkin, Nayna Jain, Jonathan Cameron,
Alexandre Belloni, Mimi Zohar, Sebastian Reichel, linux-mm,
Bruno Meneguele, Vishal Verma, Pavel Machek, Hanjun Guo,
Guenter Roeck, netdev, Oleh Kravchenko, Dan Williams,
Andrew Donnellan, Javier González, Lars-Peter Clausen,
Mark Gross, linux-acpi, Jonathan Corbet, Chunyan Zhang,
Mario Limonciello, linux-stm32, Lakshmi Ramasubramanian,
Ludovic Desroches, Pawan Gupta, linux-arm-kernel, Tom Rix,
Frederic Barrat, Niklas Cassel, Len Brown, Juergen Gross,
linuxppc-dev, Mika Westerberg, Alexandre Torgue, linux-pm,
linux-kernel, Richard Cochran, Oded Gabbay, Baolin Wang,
Stefano Stabellini, Dan Murphy, Orson Zhai, Philippe Bergheaud,
xen-devel, Boris Ostrovsky, Andy Shevchenko, Benson Leung,
Konstantin Khlebnikov, Jens Axboe, Felipe Balbi, Kranthi Kuntala,
Martin K. Petersen, Greg Kroah-Hartman, linux-usb,
Rafael J. Wysocki, Nicolas Ferre, linux-iio, Thinh Nguyen,
Sergey Senozhatsky, Thomas Gleixner, Leonid Maksymchuk,
Maxime Coquelin, Johannes Thumshirn, Enric Balletbo i Serra,
Vaibhav Jain, Vineela Tummalapalli, Peter Rosin, Jonathan Cameron,
Mike Kravetz
In-Reply-To: <58cf3c2d611e0197fb215652719ebd82ca2658db.1604042072.git.mchehab+huawei@kernel.org>
On 10/30/20 8:40 AM, Mauro Carvalho Chehab wrote:
> Some files over there won't parse well by Sphinx.
>
> Fix them.
>
> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> # for IIO
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
> .../ABI/testing/configfs-spear-pcie-gadget | 36 +--
> Documentation/ABI/testing/configfs-usb-gadget | 83 +++---
> .../ABI/testing/configfs-usb-gadget-hid | 10 +-
> .../ABI/testing/configfs-usb-gadget-rndis | 16 +-
> .../ABI/testing/configfs-usb-gadget-uac1 | 18 +-
> .../ABI/testing/configfs-usb-gadget-uvc | 220 +++++++++-------
> Documentation/ABI/testing/debugfs-ec | 11 +-
> Documentation/ABI/testing/debugfs-pktcdvd | 11 +-
> Documentation/ABI/testing/dev-kmsg | 27 +-
> Documentation/ABI/testing/evm | 17 +-
> Documentation/ABI/testing/ima_policy | 30 ++-
> Documentation/ABI/testing/procfs-diskstats | 40 +--
> Documentation/ABI/testing/sysfs-block | 38 +--
> Documentation/ABI/testing/sysfs-block-device | 2 +
> Documentation/ABI/testing/sysfs-bus-acpi | 18 +-
> .../sysfs-bus-event_source-devices-format | 3 +-
> .../ABI/testing/sysfs-bus-i2c-devices-pca954x | 27 +-
> Documentation/ABI/testing/sysfs-bus-iio | 11 +
> .../sysfs-bus-iio-adc-envelope-detector | 5 +-
> .../ABI/testing/sysfs-bus-iio-cros-ec | 2 +-
> .../ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32 | 8 +-
> .../ABI/testing/sysfs-bus-iio-lptimer-stm32 | 29 ++-
> .../sysfs-bus-iio-magnetometer-hmc5843 | 19 +-
> .../sysfs-bus-iio-temperature-max31856 | 19 +-
> .../ABI/testing/sysfs-bus-iio-timer-stm32 | 137 ++++++----
> .../testing/sysfs-bus-intel_th-devices-msc | 4 +
> Documentation/ABI/testing/sysfs-bus-nfit | 2 +-
> .../testing/sysfs-bus-pci-devices-aer_stats | 119 +++++----
> Documentation/ABI/testing/sysfs-bus-rapidio | 23 +-
> .../ABI/testing/sysfs-bus-thunderbolt | 40 +--
> Documentation/ABI/testing/sysfs-bus-usb | 30 ++-
> .../testing/sysfs-bus-usb-devices-usbsevseg | 7 +-
> Documentation/ABI/testing/sysfs-bus-vfio-mdev | 10 +-
> Documentation/ABI/testing/sysfs-class-cxl | 15 +-
> Documentation/ABI/testing/sysfs-class-led | 2 +-
> .../testing/sysfs-class-led-driver-el15203000 | 229 ++++++++---------
> .../ABI/testing/sysfs-class-led-driver-sc27xx | 4 +-
> Documentation/ABI/testing/sysfs-class-mic | 52 ++--
> Documentation/ABI/testing/sysfs-class-ocxl | 3 +
> Documentation/ABI/testing/sysfs-class-power | 73 +++++-
> .../ABI/testing/sysfs-class-power-twl4030 | 33 +--
> Documentation/ABI/testing/sysfs-class-rc | 30 ++-
> .../ABI/testing/sysfs-class-scsi_host | 7 +-
> Documentation/ABI/testing/sysfs-class-typec | 12 +-
> .../testing/sysfs-devices-platform-ACPI-TAD | 4 +
> .../ABI/testing/sysfs-devices-platform-docg3 | 10 +-
> .../sysfs-devices-platform-sh_mobile_lcdc_fb | 8 +-
> .../ABI/testing/sysfs-devices-system-cpu | 99 +++++---
> .../ABI/testing/sysfs-devices-system-ibm-rtl | 6 +-
> .../testing/sysfs-driver-bd9571mwv-regulator | 4 +
> Documentation/ABI/testing/sysfs-driver-genwqe | 11 +-
> .../testing/sysfs-driver-hid-logitech-lg4ff | 18 +-
> .../ABI/testing/sysfs-driver-hid-wiimote | 11 +-
> .../ABI/testing/sysfs-driver-samsung-laptop | 13 +-
> .../ABI/testing/sysfs-driver-toshiba_acpi | 26 ++
> .../ABI/testing/sysfs-driver-toshiba_haps | 2 +
> Documentation/ABI/testing/sysfs-driver-wacom | 4 +-
> Documentation/ABI/testing/sysfs-firmware-acpi | 237 +++++++++---------
> .../ABI/testing/sysfs-firmware-dmi-entries | 50 ++--
> Documentation/ABI/testing/sysfs-firmware-gsmi | 2 +-
> .../ABI/testing/sysfs-firmware-memmap | 16 +-
> Documentation/ABI/testing/sysfs-fs-ext4 | 4 +-
> .../ABI/testing/sysfs-hypervisor-xen | 13 +-
> .../ABI/testing/sysfs-kernel-boot_params | 23 +-
> .../ABI/testing/sysfs-kernel-mm-hugepages | 12 +-
> .../ABI/testing/sysfs-platform-asus-laptop | 21 +-
> .../ABI/testing/sysfs-platform-asus-wmi | 1 +
> Documentation/ABI/testing/sysfs-platform-at91 | 10 +-
> .../ABI/testing/sysfs-platform-eeepc-laptop | 14 +-
> .../ABI/testing/sysfs-platform-ideapad-laptop | 9 +-
> .../sysfs-platform-intel-wmi-thunderbolt | 1 +
> .../ABI/testing/sysfs-platform-sst-atom | 13 +-
> .../ABI/testing/sysfs-platform-usbip-vudc | 11 +-
> Documentation/ABI/testing/sysfs-ptp | 2 +-
> 74 files changed, 1322 insertions(+), 865 deletions(-)
>
Hi Mauro,
[...]
>
> +What: /sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available
> +KernelVersion: 4.12
> +Contact: benjamin.gaignard@st.com
> +Description:
> + Reading returns the list possible quadrature modes.
> +
> +What: /sys/bus/iio/devices/iio:deviceX/in_count0_quadrature_mode
> +KernelVersion: 4.12
> +Contact: benjamin.gaignard@st.com
> +Description:
> + Configure the device counter quadrature modes:
> +
> + channel_A:
> + Encoder A input servers as the count input and B as
> + the UP/DOWN direction control input.
> +
> + channel_B:
> + Encoder B input serves as the count input and A as
> + the UP/DOWN direction control input.
> +
> + quadrature:
> + Encoder A and B inputs are mixed to get direction
> + and count with a scale of 0.25.
> +
I just noticed that since Jonathan question in v1.
Above ABI has been moved in the past as discussed in [1]. You can take a
look at:
b299d00 IIO: stm32: Remove quadrature related functions from trigger driver
Could you please remove the above chunk ?
With that, for the stm32 part:
Acked-by: Fabrice Gasnier <fabrice.gasnier@st.com>
[1] https://lkml.org/lkml/2019/5/7/698
Best Regards,
Fabrice
> What: /sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available
> KernelVersion: 4.12
> Contact: benjamin.gaignard@st.com
> @@ -104,6 +146,7 @@ Description:
> Configure the device counter enable modes, in all case
> counting direction is set by in_count0_count_direction
> attribute and the counter is clocked by the internal clock.
> +
> always:
> Counter is always ON.
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-intel_th-devices-msc b/Documentation/ABI/testing/sysfs-bus-intel_th-devices-msc
> index 7fd2601c2831..a74252e580a5 100644
> --- a/Documentation/ABI/testing/sysfs-bus-intel_th-devices-msc
> +++ b/Documentation/ABI/testing/sysfs-bus-intel_th-devices-msc
> @@ -9,11 +9,13 @@ Date: June 2015
> KernelVersion: 4.3
> Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Description: (RW) Configure MSC operating mode:
> +
> - "single", for contiguous buffer mode (high-order alloc);
> - "multi", for multiblock mode;
> - "ExI", for DCI handler mode;
> - "debug", for debug mode;
> - any of the currently loaded buffer sinks.
> +
> If operating mode changes, existing buffer is deallocated,
> provided there are no active users and tracing is not enabled,
> otherwise the write will fail.
> @@ -23,10 +25,12 @@ Date: June 2015
> KernelVersion: 4.3
> Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Description: (RW) Configure MSC buffer size for "single" or "multi" modes.
> +
> In single mode, this is a single number of pages, has to be
> power of 2. In multiblock mode, this is a comma-separated list
> of numbers of pages for each window to be allocated. Number of
> windows is not limited.
> +
> Writing to this file deallocates existing buffer (provided
> there are no active users and tracing is not enabled) and then
> allocates a new one.
> diff --git a/Documentation/ABI/testing/sysfs-bus-nfit b/Documentation/ABI/testing/sysfs-bus-nfit
> index e4f76e7eab93..63ef0b9ecce7 100644
> --- a/Documentation/ABI/testing/sysfs-bus-nfit
> +++ b/Documentation/ABI/testing/sysfs-bus-nfit
> @@ -1,4 +1,4 @@
> -For all of the nmem device attributes under nfit/*, see the 'NVDIMM Firmware
> +For all of the nmem device attributes under ``nfit/*``, see the 'NVDIMM Firmware
> Interface Table (NFIT)' section in the ACPI specification
> (http://www.uefi.org/specifications) for more details.
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats b/Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats
> index 3c9a8c4a25eb..860db53037a5 100644
> --- a/Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats
> +++ b/Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats
> @@ -1,6 +1,6 @@
> -==========================
> PCIe Device AER statistics
> -==========================
> +--------------------------
> +
> These attributes show up under all the devices that are AER capable. These
> statistical counters indicate the errors "as seen/reported by the device".
> Note that this may mean that if an endpoint is causing problems, the AER
> @@ -17,19 +17,18 @@ Description: List of correctable errors seen and reported by this
> PCI device using ERR_COR. Note that since multiple errors may
> be reported using a single ERR_COR message, thus
> TOTAL_ERR_COR at the end of the file may not match the actual
> - total of all the errors in the file. Sample output:
> --------------------------------------------------------------------------
> -localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable
> -Receiver Error 2
> -Bad TLP 0
> -Bad DLLP 0
> -RELAY_NUM Rollover 0
> -Replay Timer Timeout 0
> -Advisory Non-Fatal 0
> -Corrected Internal Error 0
> -Header Log Overflow 0
> -TOTAL_ERR_COR 2
> --------------------------------------------------------------------------
> + total of all the errors in the file. Sample output::
> +
> + localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable
> + Receiver Error 2
> + Bad TLP 0
> + Bad DLLP 0
> + RELAY_NUM Rollover 0
> + Replay Timer Timeout 0
> + Advisory Non-Fatal 0
> + Corrected Internal Error 0
> + Header Log Overflow 0
> + TOTAL_ERR_COR 2
>
> What: /sys/bus/pci/devices/<dev>/aer_dev_fatal
> Date: July 2018
> @@ -39,28 +38,27 @@ Description: List of uncorrectable fatal errors seen and reported by this
> PCI device using ERR_FATAL. Note that since multiple errors may
> be reported using a single ERR_FATAL message, thus
> TOTAL_ERR_FATAL at the end of the file may not match the actual
> - total of all the errors in the file. Sample output:
> --------------------------------------------------------------------------
> -localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal
> -Undefined 0
> -Data Link Protocol 0
> -Surprise Down Error 0
> -Poisoned TLP 0
> -Flow Control Protocol 0
> -Completion Timeout 0
> -Completer Abort 0
> -Unexpected Completion 0
> -Receiver Overflow 0
> -Malformed TLP 0
> -ECRC 0
> -Unsupported Request 0
> -ACS Violation 0
> -Uncorrectable Internal Error 0
> -MC Blocked TLP 0
> -AtomicOp Egress Blocked 0
> -TLP Prefix Blocked Error 0
> -TOTAL_ERR_FATAL 0
> --------------------------------------------------------------------------
> + total of all the errors in the file. Sample output::
> +
> + localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal
> + Undefined 0
> + Data Link Protocol 0
> + Surprise Down Error 0
> + Poisoned TLP 0
> + Flow Control Protocol 0
> + Completion Timeout 0
> + Completer Abort 0
> + Unexpected Completion 0
> + Receiver Overflow 0
> + Malformed TLP 0
> + ECRC 0
> + Unsupported Request 0
> + ACS Violation 0
> + Uncorrectable Internal Error 0
> + MC Blocked TLP 0
> + AtomicOp Egress Blocked 0
> + TLP Prefix Blocked Error 0
> + TOTAL_ERR_FATAL 0
>
> What: /sys/bus/pci/devices/<dev>/aer_dev_nonfatal
> Date: July 2018
> @@ -70,32 +68,31 @@ Description: List of uncorrectable nonfatal errors seen and reported by this
> PCI device using ERR_NONFATAL. Note that since multiple errors
> may be reported using a single ERR_FATAL message, thus
> TOTAL_ERR_NONFATAL at the end of the file may not match the
> - actual total of all the errors in the file. Sample output:
> --------------------------------------------------------------------------
> -localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal
> -Undefined 0
> -Data Link Protocol 0
> -Surprise Down Error 0
> -Poisoned TLP 0
> -Flow Control Protocol 0
> -Completion Timeout 0
> -Completer Abort 0
> -Unexpected Completion 0
> -Receiver Overflow 0
> -Malformed TLP 0
> -ECRC 0
> -Unsupported Request 0
> -ACS Violation 0
> -Uncorrectable Internal Error 0
> -MC Blocked TLP 0
> -AtomicOp Egress Blocked 0
> -TLP Prefix Blocked Error 0
> -TOTAL_ERR_NONFATAL 0
> --------------------------------------------------------------------------
> + actual total of all the errors in the file. Sample output::
> +
> + localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal
> + Undefined 0
> + Data Link Protocol 0
> + Surprise Down Error 0
> + Poisoned TLP 0
> + Flow Control Protocol 0
> + Completion Timeout 0
> + Completer Abort 0
> + Unexpected Completion 0
> + Receiver Overflow 0
> + Malformed TLP 0
> + ECRC 0
> + Unsupported Request 0
> + ACS Violation 0
> + Uncorrectable Internal Error 0
> + MC Blocked TLP 0
> + AtomicOp Egress Blocked 0
> + TLP Prefix Blocked Error 0
> + TOTAL_ERR_NONFATAL 0
>
> -============================
> PCIe Rootport AER statistics
> -============================
> +----------------------------
> +
> These attributes show up under only the rootports (or root complex event
> collectors) that are AER capable. These indicate the number of error messages as
> "reported to" the rootport. Please note that the rootports also transmit
> diff --git a/Documentation/ABI/testing/sysfs-bus-rapidio b/Documentation/ABI/testing/sysfs-bus-rapidio
> index 13208b27dd87..634ea207a50a 100644
> --- a/Documentation/ABI/testing/sysfs-bus-rapidio
> +++ b/Documentation/ABI/testing/sysfs-bus-rapidio
> @@ -4,24 +4,27 @@ Description:
> an individual subdirectory with the following name format of
> device_name "nn:d:iiii", where:
>
> - nn - two-digit hexadecimal ID of RapidIO network where the
> + ==== ========================================================
> + nn two-digit hexadecimal ID of RapidIO network where the
> device resides
> - d - device type: 'e' - for endpoint or 's' - for switch
> - iiii - four-digit device destID for endpoints, or switchID for
> + d device type: 'e' - for endpoint or 's' - for switch
> + iiii four-digit device destID for endpoints, or switchID for
> switches
> + ==== ========================================================
>
> For example, below is a list of device directories that
> represents a typical RapidIO network with one switch, one host,
> and two agent endpoints, as it is seen by the enumerating host
> - (with destID = 1):
> + (with destID = 1)::
>
> - /sys/bus/rapidio/devices/00:e:0000
> - /sys/bus/rapidio/devices/00:e:0002
> - /sys/bus/rapidio/devices/00:s:0001
> + /sys/bus/rapidio/devices/00:e:0000
> + /sys/bus/rapidio/devices/00:e:0002
> + /sys/bus/rapidio/devices/00:s:0001
>
> - NOTE: An enumerating or discovering endpoint does not create a
> - sysfs entry for itself, this is why an endpoint with destID=1 is
> - not shown in the list.
> + NOTE:
> + An enumerating or discovering endpoint does not create a
> + sysfs entry for itself, this is why an endpoint with destID=1
> + is not shown in the list.
>
> Attributes Common for All RapidIO Devices
> -----------------------------------------
> diff --git a/Documentation/ABI/testing/sysfs-bus-thunderbolt b/Documentation/ABI/testing/sysfs-bus-thunderbolt
> index dd565c378b40..171127294674 100644
> --- a/Documentation/ABI/testing/sysfs-bus-thunderbolt
> +++ b/Documentation/ABI/testing/sysfs-bus-thunderbolt
> @@ -37,16 +37,18 @@ Contact: thunderbolt-software@lists.01.org
> Description: This attribute holds current Thunderbolt security level
> set by the system BIOS. Possible values are:
>
> - none: All devices are automatically authorized
> - user: Devices are only authorized based on writing
> - appropriate value to the authorized attribute
> - secure: Require devices that support secure connect at
> - minimum. User needs to authorize each device.
> - dponly: Automatically tunnel Display port (and USB). No
> - PCIe tunnels are created.
> - usbonly: Automatically tunnel USB controller of the
> + ======= ==================================================
> + none All devices are automatically authorized
> + user Devices are only authorized based on writing
> + appropriate value to the authorized attribute
> + secure Require devices that support secure connect at
> + minimum. User needs to authorize each device.
> + dponly Automatically tunnel Display port (and USB). No
> + PCIe tunnels are created.
> + usbonly Automatically tunnel USB controller of the
> connected Thunderbolt dock (and Display Port). All
> PCIe links downstream of the dock are removed.
> + ======= ==================================================
>
> What: /sys/bus/thunderbolt/devices/.../authorized
> Date: Sep 2017
> @@ -61,17 +63,23 @@ Description: This attribute is used to authorize Thunderbolt devices
> yet authorized.
>
> Possible values are supported:
> - 1: The device will be authorized and connected
> +
> + == ===========================================
> + 1 The device will be authorized and connected
> + == ===========================================
>
> When key attribute contains 32 byte hex string the possible
> values are:
> - 1: The 32 byte hex string is added to the device NVM and
> - the device is authorized.
> - 2: Send a challenge based on the 32 byte hex string. If the
> - challenge response from device is valid, the device is
> - authorized. In case of failure errno will be ENOKEY if
> - the device did not contain a key at all, and
> - EKEYREJECTED if the challenge response did not match.
> +
> + == ========================================================
> + 1 The 32 byte hex string is added to the device NVM and
> + the device is authorized.
> + 2 Send a challenge based on the 32 byte hex string. If the
> + challenge response from device is valid, the device is
> + authorized. In case of failure errno will be ENOKEY if
> + the device did not contain a key at all, and
> + EKEYREJECTED if the challenge response did not match.
> + == ========================================================
>
> What: /sys/bus/thunderbolt/devices/.../boot
> Date: Jun 2018
> diff --git a/Documentation/ABI/testing/sysfs-bus-usb b/Documentation/ABI/testing/sysfs-bus-usb
> index 614d216dff1d..e449b8374f6a 100644
> --- a/Documentation/ABI/testing/sysfs-bus-usb
> +++ b/Documentation/ABI/testing/sysfs-bus-usb
> @@ -72,24 +72,27 @@ Description:
> table at compile time. The format for the device ID is:
> idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct
> The vendor ID and device ID fields are required, the
> - rest is optional. The Ref* tuple can be used to tell the
> + rest is optional. The `Ref*` tuple can be used to tell the
> driver to use the same driver_data for the new device as
> it is used for the reference device.
> Upon successfully adding an ID, the driver will probe
> - for the device and attempt to bind to it. For example:
> - # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id
> + for the device and attempt to bind to it. For example::
> +
> + # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id
>
> Here add a new device (0458:7045) using driver_data from
> - an already supported device (0458:704c):
> - # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id
> + an already supported device (0458:704c)::
> +
> + # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id
>
> Reading from this file will list all dynamically added
> device IDs in the same format, with one entry per
> - line. For example:
> - # cat /sys/bus/usb/drivers/foo/new_id
> - 8086 10f5
> - dead beef 06
> - f00d cafe
> + line. For example::
> +
> + # cat /sys/bus/usb/drivers/foo/new_id
> + 8086 10f5
> + dead beef 06
> + f00d cafe
>
> The list will be truncated at PAGE_SIZE bytes due to
> sysfs restrictions.
> @@ -209,6 +212,7 @@ Description:
> advance, and behaves well according to the specification.
> This attribute is a bit-field that controls the behavior of
> a specific port:
> +
> - Bit 0 of this field selects the "old" enumeration scheme,
> as it is considerably faster (it only causes one USB reset
> instead of 2).
> @@ -233,10 +237,10 @@ Description:
> poll() for monitoring changes to this value in user space.
>
> Any time this value changes the corresponding hub device will send a
> - udev event with the following attributes:
> + udev event with the following attributes::
>
> - OVER_CURRENT_PORT=/sys/bus/usb/devices/.../(hub interface)/portX
> - OVER_CURRENT_COUNT=[current value of this sysfs attribute]
> + OVER_CURRENT_PORT=/sys/bus/usb/devices/.../(hub interface)/portX
> + OVER_CURRENT_COUNT=[current value of this sysfs attribute]
>
> What: /sys/bus/usb/devices/.../(hub interface)/portX/usb3_lpm_permit
> Date: November 2015
> diff --git a/Documentation/ABI/testing/sysfs-bus-usb-devices-usbsevseg b/Documentation/ABI/testing/sysfs-bus-usb-devices-usbsevseg
> index 9ade80f81f96..2f86e4223bfc 100644
> --- a/Documentation/ABI/testing/sysfs-bus-usb-devices-usbsevseg
> +++ b/Documentation/ABI/testing/sysfs-bus-usb-devices-usbsevseg
> @@ -12,8 +12,11 @@ KernelVersion: 2.6.26
> Contact: Harrison Metzger <harrisonmetz@gmail.com>
> Description: Controls the devices display mode.
> For a 6 character display the values are
> +
> MSB 0x06; LSB 0x3F, and
> +
> for an 8 character display the values are
> +
> MSB 0x08; LSB 0xFF.
>
> What: /sys/bus/usb/.../textmode
> @@ -37,7 +40,7 @@ KernelVersion: 2.6.26
> Contact: Harrison Metzger <harrisonmetz@gmail.com>
> Description: Controls the decimal places on the device.
> To set the nth decimal place, give this field
> - the value of 10 ** n. Assume this field has
> + the value of ``10 ** n``. Assume this field has
> the value k and has 1 or more decimal places set,
> to set the mth place (where m is not already set),
> - change this fields value to k + 10 ** m.
> + change this fields value to ``k + 10 ** m``.
> diff --git a/Documentation/ABI/testing/sysfs-bus-vfio-mdev b/Documentation/ABI/testing/sysfs-bus-vfio-mdev
> index 452dbe39270e..59fc804265db 100644
> --- a/Documentation/ABI/testing/sysfs-bus-vfio-mdev
> +++ b/Documentation/ABI/testing/sysfs-bus-vfio-mdev
> @@ -28,8 +28,9 @@ Description:
> Writing UUID to this file will create mediated device of
> type <type-id> for parent device <device>. This is a
> write-only file.
> - For example:
> - # echo "83b8f4f2-509f-382f-3c1e-e6bfe0fa1001" > \
> + For example::
> +
> + # echo "83b8f4f2-509f-382f-3c1e-e6bfe0fa1001" > \
> /sys/devices/foo/mdev_supported_types/foo-1/create
>
> What: /sys/.../mdev_supported_types/<type-id>/devices/
> @@ -107,5 +108,6 @@ Description:
> Writing '1' to this file destroys the mediated device. The
> vendor driver can fail the remove() callback if that device
> is active and the vendor driver doesn't support hot unplug.
> - Example:
> - # echo 1 > /sys/bus/mdev/devices/<UUID>/remove
> + Example::
> +
> + # echo 1 > /sys/bus/mdev/devices/<UUID>/remove
> diff --git a/Documentation/ABI/testing/sysfs-class-cxl b/Documentation/ABI/testing/sysfs-class-cxl
> index 7970e3713e70..a6f51a104c44 100644
> --- a/Documentation/ABI/testing/sysfs-class-cxl
> +++ b/Documentation/ABI/testing/sysfs-class-cxl
> @@ -72,11 +72,16 @@ Description: read/write
> when performing the START_WORK ioctl. Only applicable when
> running under hashed page table mmu.
> Possible values:
> - none: No prefaulting (default)
> - work_element_descriptor: Treat the work element
> - descriptor as an effective address and
> - prefault what it points to.
> - all: all segments process calling START_WORK maps.
> +
> + ======================= ======================================
> + none No prefaulting (default)
> + work_element_descriptor Treat the work element
> + descriptor as an effective address and
> + prefault what it points to.
> + all all segments process calling
> + START_WORK maps.
> + ======================= ======================================
> +
> Users: https://github.com/ibm-capi/libcxl
>
> What: /sys/class/cxl/<afu>/reset
> diff --git a/Documentation/ABI/testing/sysfs-class-led b/Documentation/ABI/testing/sysfs-class-led
> index 5f67f7ab277b..65e040978f73 100644
> --- a/Documentation/ABI/testing/sysfs-class-led
> +++ b/Documentation/ABI/testing/sysfs-class-led
> @@ -50,7 +50,7 @@ Description:
> You can change triggers in a similar manner to the way an IO
> scheduler is chosen. Trigger specific parameters can appear in
> /sys/class/leds/<led> once a given trigger is selected. For
> - their documentation see sysfs-class-led-trigger-*.
> + their documentation see `sysfs-class-led-trigger-*`.
>
> What: /sys/class/leds/<led>/inverted
> Date: January 2011
> diff --git a/Documentation/ABI/testing/sysfs-class-led-driver-el15203000 b/Documentation/ABI/testing/sysfs-class-led-driver-el15203000
> index f520ece9b64c..69befe947d7e 100644
> --- a/Documentation/ABI/testing/sysfs-class-led-driver-el15203000
> +++ b/Documentation/ABI/testing/sysfs-class-led-driver-el15203000
> @@ -6,127 +6,132 @@ Description:
> The LEDs board supports only predefined patterns by firmware
> for specific LEDs.
>
> - Breathing mode for Screen frame light tube:
> - "0 4000 1 4000"
> + Breathing mode for Screen frame light tube::
>
> - ^
> - |
> - Max-| ---
> - | / \
> - | / \
> - | / \ /
> - | / \ /
> - Min-|- ---
> - |
> - 0------4------8--> time (sec)
> + "0 4000 1 4000"
>
> - Cascade mode for Pipe LED:
> - "1 800 2 800 4 800 8 800 16 800"
> + ^
> + |
> + Max-| ---
> + | / \
> + | / \
> + | / \ /
> + | / \ /
> + Min-|- ---
> + |
> + 0------4------8--> time (sec)
>
> - ^
> - |
> - 0 On -|----+ +----+ +---
> - | | | | |
> - Off-| +-------------------+ +-------------------+
> - |
> - 1 On -| +----+ +----+
> - | | | | |
> - Off |----+ +-------------------+ +------------------
> - |
> - 2 On -| +----+ +----+
> - | | | | |
> - Off-|---------+ +-------------------+ +-------------
> - |
> - 3 On -| +----+ +----+
> - | | | | |
> - Off-|--------------+ +-------------------+ +--------
> - |
> - 4 On -| +----+ +----+
> - | | | | |
> - Off-|-------------------+ +-------------------+ +---
> - |
> - 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec)
> + Cascade mode for Pipe LED::
>
> - Inverted cascade mode for Pipe LED:
> - "30 800 29 800 27 800 23 800 15 800"
> + "1 800 2 800 4 800 8 800 16 800"
>
> - ^
> - |
> - 0 On -| +-------------------+ +-------------------+
> - | | | | |
> - Off-|----+ +----+ +---
> - |
> - 1 On -|----+ +-------------------+ +------------------
> - | | | | |
> - Off | +----+ +----+
> - |
> - 2 On -|---------+ +-------------------+ +-------------
> - | | | | |
> - Off-| +----+ +----+
> - |
> - 3 On -|--------------+ +-------------------+ +--------
> - | | | | |
> - Off-| +----+ +----+
> - |
> - 4 On -|-------------------+ +-------------------+ +---
> - | | | | |
> - Off-| +----+ +----+
> - |
> - 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec)
> + ^
> + |
> + 0 On -|----+ +----+ +---
> + | | | | |
> + Off-| +-------------------+ +-------------------+
> + |
> + 1 On -| +----+ +----+
> + | | | | |
> + Off |----+ +-------------------+ +------------------
> + |
> + 2 On -| +----+ +----+
> + | | | | |
> + Off-|---------+ +-------------------+ +-------------
> + |
> + 3 On -| +----+ +----+
> + | | | | |
> + Off-|--------------+ +-------------------+ +--------
> + |
> + 4 On -| +----+ +----+
> + | | | | |
> + Off-|-------------------+ +-------------------+ +---
> + |
> + 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec)
>
> - Bounce mode for Pipe LED:
> - "1 800 2 800 4 800 8 800 16 800 16 800 8 800 4 800 2 800 1 800"
> + Inverted cascade mode for Pipe LED::
>
> - ^
> - |
> - 0 On -|----+ +--------
> - | | |
> - Off-| +---------------------------------------+
> - |
> - 1 On -| +----+ +----+
> - | | | | |
> - Off |----+ +-----------------------------+ +--------
> - |
> - 2 On -| +----+ +----+
> - | | | | |
> - Off-|---------+ +-------------------+ +-------------
> - |
> - 3 On -| +----+ +----+
> - | | | | |
> - Off-|--------------+ +---------+ +------------------
> - |
> - 4 On -| +---------+
> - | | |
> - Off-|-------------------+ +-----------------------
> - |
> - 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec)
> + "30 800 29 800 27 800 23 800 15 800"
>
> - Inverted bounce mode for Pipe LED:
> - "30 800 29 800 27 800 23 800 15 800 15 800 23 800 27 800 29 800 30 800"
> + ^
> + |
> + 0 On -| +-------------------+ +-------------------+
> + | | | | |
> + Off-|----+ +----+ +---
> + |
> + 1 On -|----+ +-------------------+ +------------------
> + | | | | |
> + Off | +----+ +----+
> + |
> + 2 On -|---------+ +-------------------+ +-------------
> + | | | | |
> + Off-| +----+ +----+
> + |
> + 3 On -|--------------+ +-------------------+ +--------
> + | | | | |
> + Off-| +----+ +----+
> + |
> + 4 On -|-------------------+ +-------------------+ +---
> + | | | | |
> + Off-| +----+ +----+
> + |
> + 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec)
>
> - ^
> - |
> - 0 On -| +---------------------------------------+
> - | | |
> - Off-|----+ +--------
> - |
> - 1 On -|----+ +-----------------------------+ +--------
> - | | | | |
> - Off | +----+ +----+
> - |
> - 2 On -|---------+ +-------------------+ +-------------
> - | | | | |
> - Off-| +----+ +----+
> - |
> - 3 On -|--------------+ +---------+ +------------------
> - | | | | |
> - Off-| +----+ +----+
> - |
> - 4 On -|-------------------+ +-----------------------
> - | | |
> - Off-| +---------+
> - |
> - 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec)
> + Bounce mode for Pipe LED::
> +
> + "1 800 2 800 4 800 8 800 16 800 16 800 8 800 4 800 2 800 1 800"
> +
> + ^
> + |
> + 0 On -|----+ +--------
> + | | |
> + Off-| +---------------------------------------+
> + |
> + 1 On -| +----+ +----+
> + | | | | |
> + Off |----+ +-----------------------------+ +--------
> + |
> + 2 On -| +----+ +----+
> + | | | | |
> + Off-|---------+ +-------------------+ +-------------
> + |
> + 3 On -| +----+ +----+
> + | | | | |
> + Off-|--------------+ +---------+ +------------------
> + |
> + 4 On -| +---------+
> + | | |
> + Off-|-------------------+ +-----------------------
> + |
> + 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec)
> +
> + Inverted bounce mode for Pipe LED::
> +
> + "30 800 29 800 27 800 23 800 15 800 15 800 23 800 27 800 29 800 30 800"
> +
> + ^
> + |
> + 0 On -| +---------------------------------------+
> + | | |
> + Off-|----+ +--------
> + |
> + 1 On -|----+ +-----------------------------+ +--------
> + | | | | |
> + Off | +----+ +----+
> + |
> + 2 On -|---------+ +-------------------+ +-------------
> + | | | | |
> + Off-| +----+ +----+
> + |
> + 3 On -|--------------+ +---------+ +------------------
> + | | | | |
> + Off-| +----+ +----+
> + |
> + 4 On -|-------------------+ +-----------------------
> + | | |
> + Off-| +---------+
> + |
> + 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec)
>
> What: /sys/class/leds/<led>/repeat
> Date: September 2019
> diff --git a/Documentation/ABI/testing/sysfs-class-led-driver-sc27xx b/Documentation/ABI/testing/sysfs-class-led-driver-sc27xx
> index 45b1e605d355..215482379580 100644
> --- a/Documentation/ABI/testing/sysfs-class-led-driver-sc27xx
> +++ b/Documentation/ABI/testing/sysfs-class-led-driver-sc27xx
> @@ -12,8 +12,8 @@ Description:
> format, we should set brightness as 0 for rise stage, fall
> stage and low stage.
>
> - Min stage duration: 125 ms
> - Max stage duration: 31875 ms
> + - Min stage duration: 125 ms
> + - Max stage duration: 31875 ms
>
> Since the stage duration step is 125 ms, the duration should be
> a multiplier of 125, like 125ms, 250ms, 375ms, 500ms ... 31875ms.
> diff --git a/Documentation/ABI/testing/sysfs-class-mic b/Documentation/ABI/testing/sysfs-class-mic
> index 6ef682603179..bd0e780c3760 100644
> --- a/Documentation/ABI/testing/sysfs-class-mic
> +++ b/Documentation/ABI/testing/sysfs-class-mic
> @@ -41,24 +41,33 @@ Description:
> When read, this entry provides the current state of an Intel
> MIC device in the context of the card OS. Possible values that
> will be read are:
> - "ready" - The MIC device is ready to boot the card OS. On
> - reading this entry after an OSPM resume, a "boot" has to be
> - written to this entry if the card was previously shutdown
> - during OSPM suspend.
> - "booting" - The MIC device has initiated booting a card OS.
> - "online" - The MIC device has completed boot and is online
> - "shutting_down" - The card OS is shutting down.
> - "resetting" - A reset has been initiated for the MIC device
> - "reset_failed" - The MIC device has failed to reset.
> +
> +
> + =============== ===============================================
> + "ready" The MIC device is ready to boot the card OS.
> + On reading this entry after an OSPM resume,
> + a "boot" has to be written to this entry if
> + the card was previously shutdown during OSPM
> + suspend.
> + "booting" The MIC device has initiated booting a card OS.
> + "online" The MIC device has completed boot and is online
> + "shutting_down" The card OS is shutting down.
> + "resetting" A reset has been initiated for the MIC device
> + "reset_failed" The MIC device has failed to reset.
> + =============== ===============================================
>
> When written, this sysfs entry triggers different state change
> operations depending upon the current state of the card OS.
> Acceptable values are:
> - "boot" - Boot the card OS image specified by the combination
> - of firmware, ramdisk, cmdline and bootmode
> - sysfs entries.
> - "reset" - Initiates device reset.
> - "shutdown" - Initiates card OS shutdown.
> +
> +
> + ========== ===================================================
> + "boot" Boot the card OS image specified by the combination
> + of firmware, ramdisk, cmdline and bootmode
> + sysfs entries.
> + "reset" Initiates device reset.
> + "shutdown" Initiates card OS shutdown.
> + ========== ===================================================
>
> What: /sys/class/mic/mic(x)/shutdown_status
> Date: October 2013
> @@ -69,12 +78,15 @@ Description:
> OS can shutdown because of various reasons. When read, this
> entry provides the status on why the card OS was shutdown.
> Possible values are:
> - "nop" - shutdown status is not applicable, when the card OS is
> - "online"
> - "crashed" - Shutdown because of a HW or SW crash.
> - "halted" - Shutdown because of a halt command.
> - "poweroff" - Shutdown because of a poweroff command.
> - "restart" - Shutdown because of a restart command.
> +
> + ========== ===================================================
> + "nop" shutdown status is not applicable, when the card OS
> + is "online"
> + "crashed" Shutdown because of a HW or SW crash.
> + "halted" Shutdown because of a halt command.
> + "poweroff" Shutdown because of a poweroff command.
> + "restart" Shutdown because of a restart command.
> + ========== ===================================================
>
> What: /sys/class/mic/mic(x)/cmdline
> Date: October 2013
> diff --git a/Documentation/ABI/testing/sysfs-class-ocxl b/Documentation/ABI/testing/sysfs-class-ocxl
> index ae1276efa45a..bf33f4fda58f 100644
> --- a/Documentation/ABI/testing/sysfs-class-ocxl
> +++ b/Documentation/ABI/testing/sysfs-class-ocxl
> @@ -11,8 +11,11 @@ Contact: linuxppc-dev@lists.ozlabs.org
> Description: read only
> Number of contexts for the AFU, in the format <n>/<max>
> where:
> +
> + ==== ===============================================
> n: number of currently active contexts, for debug
> max: maximum number of contexts supported by the AFU
> + ==== ===============================================
>
> What: /sys/class/ocxl/<afu name>/pp_mmio_size
> Date: January 2018
> diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power
> index dbccb2fcd7ce..d4319a04c302 100644
> --- a/Documentation/ABI/testing/sysfs-class-power
> +++ b/Documentation/ABI/testing/sysfs-class-power
> @@ -1,4 +1,4 @@
> -===== General Properties =====
> +**General Properties**
>
> What: /sys/class/power_supply/<supply_name>/manufacturer
> Date: May 2007
> @@ -72,6 +72,7 @@ Description:
> critically low).
>
> Access: Read, Write
> +
> Valid values: 0 - 100 (percent)
>
> What: /sys/class/power_supply/<supply_name>/capacity_error_margin
> @@ -96,7 +97,9 @@ Description:
> Coarse representation of battery capacity.
>
> Access: Read
> - Valid values: "Unknown", "Critical", "Low", "Normal", "High",
> +
> + Valid values:
> + "Unknown", "Critical", "Low", "Normal", "High",
> "Full"
>
> What: /sys/class/power_supply/<supply_name>/current_avg
> @@ -139,6 +142,7 @@ Description:
> throttling for thermal cooling or improving battery health.
>
> Access: Read, Write
> +
> Valid values: Represented in microamps
>
> What: /sys/class/power_supply/<supply_name>/charge_control_limit_max
> @@ -148,6 +152,7 @@ Description:
> Maximum legal value for the charge_control_limit property.
>
> Access: Read
> +
> Valid values: Represented in microamps
>
> What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold
> @@ -168,6 +173,7 @@ Description:
> stop.
>
> Access: Read, Write
> +
> Valid values: 0 - 100 (percent)
>
> What: /sys/class/power_supply/<supply_name>/charge_type
> @@ -183,7 +189,9 @@ Description:
> different algorithm.
>
> Access: Read, Write
> - Valid values: "Unknown", "N/A", "Trickle", "Fast", "Standard",
> +
> + Valid values:
> + "Unknown", "N/A", "Trickle", "Fast", "Standard",
> "Adaptive", "Custom"
>
> What: /sys/class/power_supply/<supply_name>/charge_term_current
> @@ -194,6 +202,7 @@ Description:
> when the battery is considered full and charging should end.
>
> Access: Read
> +
> Valid values: Represented in microamps
>
> What: /sys/class/power_supply/<supply_name>/health
> @@ -204,7 +213,9 @@ Description:
> functionality.
>
> Access: Read
> - Valid values: "Unknown", "Good", "Overheat", "Dead",
> +
> + Valid values:
> + "Unknown", "Good", "Overheat", "Dead",
> "Over voltage", "Unspecified failure", "Cold",
> "Watchdog timer expire", "Safety timer expire",
> "Over current", "Calibration required", "Warm",
> @@ -218,6 +229,7 @@ Description:
> for a battery charge cycle.
>
> Access: Read
> +
> Valid values: Represented in microamps
>
> What: /sys/class/power_supply/<supply_name>/present
> @@ -227,9 +239,13 @@ Description:
> Reports whether a battery is present or not in the system.
>
> Access: Read
> +
> Valid values:
> +
> + == =======
> 0: Absent
> 1: Present
> + == =======
>
> What: /sys/class/power_supply/<supply_name>/status
> Date: May 2007
> @@ -240,7 +256,9 @@ Description:
> used to enable/disable charging to the battery.
>
> Access: Read, Write
> - Valid values: "Unknown", "Charging", "Discharging",
> +
> + Valid values:
> + "Unknown", "Charging", "Discharging",
> "Not charging", "Full"
>
> What: /sys/class/power_supply/<supply_name>/technology
> @@ -250,7 +268,9 @@ Description:
> Describes the battery technology supported by the supply.
>
> Access: Read
> - Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
> +
> + Valid values:
> + "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
> "NiCd", "LiMn"
>
> What: /sys/class/power_supply/<supply_name>/temp
> @@ -260,6 +280,7 @@ Description:
> Reports the current TBAT battery temperature reading.
>
> Access: Read
> +
> Valid values: Represented in 1/10 Degrees Celsius
>
> What: /sys/class/power_supply/<supply_name>/temp_alert_max
> @@ -274,6 +295,7 @@ Description:
> critically high, and charging has stopped).
>
> Access: Read
> +
> Valid values: Represented in 1/10 Degrees Celsius
>
> What: /sys/class/power_supply/<supply_name>/temp_alert_min
> @@ -289,6 +311,7 @@ Description:
> remedy the situation).
>
> Access: Read
> +
> Valid values: Represented in 1/10 Degrees Celsius
>
> What: /sys/class/power_supply/<supply_name>/temp_max
> @@ -299,6 +322,7 @@ Description:
> charging.
>
> Access: Read
> +
> Valid values: Represented in 1/10 Degrees Celsius
>
> What: /sys/class/power_supply/<supply_name>/temp_min
> @@ -309,6 +333,7 @@ Description:
> charging.
>
> Access: Read
> +
> Valid values: Represented in 1/10 Degrees Celsius
>
> What: /sys/class/power_supply/<supply_name>/voltage_avg,
> @@ -320,6 +345,7 @@ Description:
> which they average readings to smooth out the reported value.
>
> Access: Read
> +
> Valid values: Represented in microvolts
>
> What: /sys/class/power_supply/<supply_name>/voltage_max,
> @@ -330,6 +356,7 @@ Description:
> during charging.
>
> Access: Read
> +
> Valid values: Represented in microvolts
>
> What: /sys/class/power_supply/<supply_name>/voltage_min,
> @@ -340,6 +367,7 @@ Description:
> during discharging.
>
> Access: Read
> +
> Valid values: Represented in microvolts
>
> What: /sys/class/power_supply/<supply_name>/voltage_now,
> @@ -350,9 +378,10 @@ Description:
> This value is not averaged/smoothed.
>
> Access: Read
> +
> Valid values: Represented in microvolts
>
> -===== USB Properties =====
> +**USB Properties**
>
> What: /sys/class/power_supply/<supply_name>/current_avg
> Date: May 2007
> @@ -363,6 +392,7 @@ Description:
> average readings to smooth out the reported value.
>
> Access: Read
> +
> Valid values: Represented in microamps
>
>
> @@ -373,6 +403,7 @@ Description:
> Reports the maximum IBUS current the supply can support.
>
> Access: Read
> +
> Valid values: Represented in microamps
>
> What: /sys/class/power_supply/<supply_name>/current_now
> @@ -385,6 +416,7 @@ Description:
> within the reported min/max range.
>
> Access: Read, Write
> +
> Valid values: Represented in microamps
>
> What: /sys/class/power_supply/<supply_name>/input_current_limit
> @@ -399,6 +431,7 @@ Description:
> solved using power limit use input_current_limit.
>
> Access: Read, Write
> +
> Valid values: Represented in microamps
>
> What: /sys/class/power_supply/<supply_name>/input_voltage_limit
> @@ -441,10 +474,14 @@ Description:
> USB supply so voltage and current can be controlled).
>
> Access: Read, Write
> +
> Valid values:
> +
> + == ==================================================
> 0: Offline
> 1: Online Fixed - Fixed Voltage Supply
> 2: Online Programmable - Programmable Voltage Supply
> + == ==================================================
>
> What: /sys/class/power_supply/<supply_name>/temp
> Date: May 2007
> @@ -455,6 +492,7 @@ Description:
> TJUNC temperature of an IC)
>
> Access: Read
> +
> Valid values: Represented in 1/10 Degrees Celsius
>
> What: /sys/class/power_supply/<supply_name>/temp_alert_max
> @@ -470,6 +508,7 @@ Description:
> remedy the situation).
>
> Access: Read
> +
> Valid values: Represented in 1/10 Degrees Celsius
>
> What: /sys/class/power_supply/<supply_name>/temp_alert_min
> @@ -485,6 +524,7 @@ Description:
> accordingly to remedy the situation).
>
> Access: Read
> +
> Valid values: Represented in 1/10 Degrees Celsius
>
> What: /sys/class/power_supply/<supply_name>/temp_max
> @@ -494,6 +534,7 @@ Description:
> Reports the maximum allowed supply temperature for operation.
>
> Access: Read
> +
> Valid values: Represented in 1/10 Degrees Celsius
>
> What: /sys/class/power_supply/<supply_name>/temp_min
> @@ -503,6 +544,7 @@ Description:
> Reports the mainimum allowed supply temperature for operation.
>
> Access: Read
> +
> Valid values: Represented in 1/10 Degrees Celsius
>
> What: /sys/class/power_supply/<supply_name>/usb_type
> @@ -514,7 +556,9 @@ Description:
> is attached.
>
> Access: Read-Only
> - Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
> +
> + Valid values:
> + "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
> "PD_DRP", "PD_PPS", "BrickID"
>
> What: /sys/class/power_supply/<supply_name>/voltage_max
> @@ -524,6 +568,7 @@ Description:
> Reports the maximum VBUS voltage the supply can support.
>
> Access: Read
> +
> Valid values: Represented in microvolts
>
> What: /sys/class/power_supply/<supply_name>/voltage_min
> @@ -533,6 +578,7 @@ Description:
> Reports the minimum VBUS voltage the supply can support.
>
> Access: Read
> +
> Valid values: Represented in microvolts
>
> What: /sys/class/power_supply/<supply_name>/voltage_now
> @@ -545,9 +591,10 @@ Description:
> within the reported min/max range.
>
> Access: Read, Write
> +
> Valid values: Represented in microvolts
>
> -===== Device Specific Properties =====
> +**Device Specific Properties**
>
> What: /sys/class/power/ds2760-battery.*/charge_now
> Date: May 2010
> @@ -581,6 +628,7 @@ Description:
> will drop to 0 A) and will trigger interrupt.
>
> Valid values:
> +
> - 5, 6 or 7 (hours),
> - 0: disabled.
>
> @@ -595,6 +643,7 @@ Description:
> will drop to 0 A) and will trigger interrupt.
>
> Valid values:
> +
> - 4 - 16 (hours), step by 2 (rounded down)
> - 0: disabled.
>
> @@ -609,6 +658,7 @@ Description:
> interrupt and start top-off charging mode.
>
> Valid values:
> +
> - 100000 - 200000 (microamps), step by 25000 (rounded down)
> - 200000 - 350000 (microamps), step by 50000 (rounded down)
> - 0: disabled.
> @@ -624,6 +674,7 @@ Description:
> will drop to 0 A) and will trigger interrupt.
>
> Valid values:
> +
> - 0 - 70 (minutes), step by 10 (rounded down)
>
> What: /sys/class/power_supply/bq24257-charger/ovp_voltage
> @@ -637,6 +688,7 @@ Description:
> device datasheet for details.
>
> Valid values:
> +
> - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
> 10500000 (all uV)
>
> @@ -652,6 +704,7 @@ Description:
> lower than the set value. See device datasheet for details.
>
> Valid values:
> +
> - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
> 4760000 (all uV)
>
> @@ -666,6 +719,7 @@ Description:
> the charger operates normally. See device datasheet for details.
>
> Valid values:
> +
> - 1: enabled
> - 0: disabled
>
> @@ -681,6 +735,7 @@ Description:
> from the system. See device datasheet for details.
>
> Valid values:
> +
> - 1: enabled
> - 0: disabled
>
> diff --git a/Documentation/ABI/testing/sysfs-class-power-twl4030 b/Documentation/ABI/testing/sysfs-class-power-twl4030
> index b4fd32d210c5..7ac36dba87bc 100644
> --- a/Documentation/ABI/testing/sysfs-class-power-twl4030
> +++ b/Documentation/ABI/testing/sysfs-class-power-twl4030
> @@ -4,18 +4,20 @@ Description:
> Writing to this can disable charging.
>
> Possible values are:
> - "auto" - draw power as appropriate for detected
> - power source and battery status.
> - "off" - do not draw any power.
> - "continuous"
> - - activate mode described as "linear" in
> - TWL data sheets. This uses whatever
> - current is available and doesn't switch off
> - when voltage drops.
>
> - This is useful for unstable power sources
> - such as bicycle dynamo, but care should
> - be taken that battery is not over-charged.
> + ============= ===========================================
> + "auto" draw power as appropriate for detected
> + power source and battery status.
> + "off" do not draw any power.
> + "continuous" activate mode described as "linear" in
> + TWL data sheets. This uses whatever
> + current is available and doesn't switch off
> + when voltage drops.
> +
> + This is useful for unstable power sources
> + such as bicycle dynamo, but care should
> + be taken that battery is not over-charged.
> + ============= ===========================================
>
> What: /sys/class/power_supply/twl4030_ac/mode
> Description:
> @@ -23,6 +25,9 @@ Description:
> Writing to this can disable charging.
>
> Possible values are:
> - "auto" - draw power as appropriate for detected
> - power source and battery status.
> - "off" - do not draw any power.
> +
> + ====== ===========================================
> + "auto" draw power as appropriate for detected
> + power source and battery status.
> + "off" do not draw any power.
> + ====== ===========================================
> diff --git a/Documentation/ABI/testing/sysfs-class-rc b/Documentation/ABI/testing/sysfs-class-rc
> index 6c0d6c8cb911..9c8ff7910858 100644
> --- a/Documentation/ABI/testing/sysfs-class-rc
> +++ b/Documentation/ABI/testing/sysfs-class-rc
> @@ -21,15 +21,22 @@ KernelVersion: 2.6.36
> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
> Description:
> Reading this file returns a list of available protocols,
> - something like:
> + something like::
> +
> "rc5 [rc6] nec jvc [sony]"
> +
> Enabled protocols are shown in [] brackets.
> +
> Writing "+proto" will add a protocol to the list of enabled
> protocols.
> +
> Writing "-proto" will remove a protocol from the list of enabled
> protocols.
> +
> Writing "proto" will enable only "proto".
> +
> Writing "none" will disable all protocols.
> +
> Write fails with EINVAL if an invalid protocol combination or
> unknown protocol name is used.
>
> @@ -39,11 +46,13 @@ KernelVersion: 3.15
> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
> Description:
> Sets the scancode filter expected value.
> +
> Use in combination with /sys/class/rc/rcN/filter_mask to set the
> expected value of the bits set in the filter mask.
> If the hardware supports it then scancodes which do not match
> the filter will be ignored. Otherwise the write will fail with
> an error.
> +
> This value may be reset to 0 if the current protocol is altered.
>
> What: /sys/class/rc/rcN/filter_mask
> @@ -56,9 +65,11 @@ Description:
> of the scancode which should be compared against the expected
> value. A value of 0 disables the filter to allow all valid
> scancodes to be processed.
> +
> If the hardware supports it then scancodes which do not match
> the filter will be ignored. Otherwise the write will fail with
> an error.
> +
> This value may be reset to 0 if the current protocol is altered.
>
> What: /sys/class/rc/rcN/wakeup_protocols
> @@ -67,15 +78,22 @@ KernelVersion: 4.11
> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
> Description:
> Reading this file returns a list of available protocols to use
> - for the wakeup filter, something like:
> + for the wakeup filter, something like::
> +
> "rc-5 nec nec-x rc-6-0 rc-6-6a-24 [rc-6-6a-32] rc-6-mce"
> +
> Note that protocol variants are listed, so "nec", "sony",
> "rc-5", "rc-6" have their different bit length encodings
> listed if available.
> +
> The enabled wakeup protocol is shown in [] brackets.
> +
> Only one protocol can be selected at a time.
> +
> Writing "proto" will use "proto" for wakeup events.
> +
> Writing "none" will disable wakeup.
> +
> Write fails with EINVAL if an invalid protocol combination or
> unknown protocol name is used, or if wakeup is not supported by
> the hardware.
> @@ -86,13 +104,17 @@ KernelVersion: 3.15
> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
> Description:
> Sets the scancode wakeup filter expected value.
> +
> Use in combination with /sys/class/rc/rcN/wakeup_filter_mask to
> set the expected value of the bits set in the wakeup filter mask
> to trigger a system wake event.
> +
> If the hardware supports it and wakeup_filter_mask is not 0 then
> scancodes which match the filter will wake the system from e.g.
> suspend to RAM or power off.
> +
> Otherwise the write will fail with an error.
> +
> This value may be reset to 0 if the wakeup protocol is altered.
>
> What: /sys/class/rc/rcN/wakeup_filter_mask
> @@ -101,11 +123,15 @@ KernelVersion: 3.15
> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
> Description:
> Sets the scancode wakeup filter mask of bits to compare.
> +
> Use in combination with /sys/class/rc/rcN/wakeup_filter to set
> the bits of the scancode which should be compared against the
> expected value to trigger a system wake event.
> +
> If the hardware supports it and wakeup_filter_mask is not 0 then
> scancodes which match the filter will wake the system from e.g.
> suspend to RAM or power off.
> +
> Otherwise the write will fail with an error.
> +
> This value may be reset to 0 if the wakeup protocol is altered.
> diff --git a/Documentation/ABI/testing/sysfs-class-scsi_host b/Documentation/ABI/testing/sysfs-class-scsi_host
> index bafc59fd7b69..7c98d8f43c45 100644
> --- a/Documentation/ABI/testing/sysfs-class-scsi_host
> +++ b/Documentation/ABI/testing/sysfs-class-scsi_host
> @@ -56,8 +56,9 @@ Description:
> management) on top, which makes it match the Windows IRST (Intel
> Rapid Storage Technology) driver settings. This setting is also
> close to min_power, except that:
> +
> a) It does not use host-initiated slumber mode, but it does
> - allow device-initiated slumber
> + allow device-initiated slumber
> b) It does not enable low power device sleep mode (DevSlp).
>
> What: /sys/class/scsi_host/hostX/em_message
> @@ -70,8 +71,8 @@ Description:
> protocol, writes and reads correspond to the LED message format
> as defined in the AHCI spec.
>
> - The user must turn sw_activity (under /sys/block/*/device/) OFF
> - it they wish to control the activity LED via the em_message
> + The user must turn sw_activity (under `/sys/block/*/device/`)
> + OFF it they wish to control the activity LED via the em_message
> file.
>
> em_message_type: (RO) Displays the current enclosure management
> diff --git a/Documentation/ABI/testing/sysfs-class-typec b/Documentation/ABI/testing/sysfs-class-typec
> index b834671522d6..b7794e02ad20 100644
> --- a/Documentation/ABI/testing/sysfs-class-typec
> +++ b/Documentation/ABI/testing/sysfs-class-typec
> @@ -40,10 +40,13 @@ Description:
> attribute will not return until the operation has finished.
>
> Valid values:
> - - source (The port will behave as source only DFP port)
> - - sink (The port will behave as sink only UFP port)
> - - dual (The port will behave as dual-role-data and
> +
> + ====== ==============================================
> + source (The port will behave as source only DFP port)
> + sink (The port will behave as sink only UFP port)
> + dual (The port will behave as dual-role-data and
> dual-role-power port)
> + ====== ==============================================
>
> What: /sys/class/typec/<port>/vconn_source
> Date: April 2017
> @@ -59,6 +62,7 @@ Description:
> generates uevent KOBJ_CHANGE.
>
> Valid values:
> +
> - "no" when the port is not the VCONN Source
> - "yes" when the port is the VCONN Source
>
> @@ -72,6 +76,7 @@ Description:
> power operation mode should show "usb_power_delivery".
>
> Valid values:
> +
> - default
> - 1.5A
> - 3.0A
> @@ -191,6 +196,7 @@ Date: April 2017
> Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> Description:
> Shows type of the plug on the cable:
> +
> - type-a - Standard A
> - type-b - Standard B
> - type-c
> diff --git a/Documentation/ABI/testing/sysfs-devices-platform-ACPI-TAD b/Documentation/ABI/testing/sysfs-devices-platform-ACPI-TAD
> index 7e43cdce9a52..f7b360a61b21 100644
> --- a/Documentation/ABI/testing/sysfs-devices-platform-ACPI-TAD
> +++ b/Documentation/ABI/testing/sysfs-devices-platform-ACPI-TAD
> @@ -7,6 +7,7 @@ Description:
> (RO) Hexadecimal bitmask of the TAD attributes are reported by
> the platform firmware (see ACPI 6.2, section 9.18.2):
>
> + ======= ======================================================
> BIT(0): AC wakeup implemented if set
> BIT(1): DC wakeup implemented if set
> BIT(2): Get/set real time features implemented if set
> @@ -16,6 +17,7 @@ Description:
> BIT(6): The AC timer wakes up from S5 if set
> BIT(7): The DC timer wakes up from S4 if set
> BIT(8): The DC timer wakes up from S5 if set
> + ======= ======================================================
>
> The other bits are reserved.
>
> @@ -62,9 +64,11 @@ Description:
> timer status with the following meaning of bits (see ACPI 6.2,
> Section 9.18.5):
>
> + ======= ======================================================
> Bit(0): The timer has expired if set.
> Bit(1): The timer has woken up the system from a sleep state
> (S3 or S4/S5 if supported) if set.
> + ======= ======================================================
>
> The other bits are reserved.
>
> diff --git a/Documentation/ABI/testing/sysfs-devices-platform-docg3 b/Documentation/ABI/testing/sysfs-devices-platform-docg3
> index 8aa36716882f..378c42694bfb 100644
> --- a/Documentation/ABI/testing/sysfs-devices-platform-docg3
> +++ b/Documentation/ABI/testing/sysfs-devices-platform-docg3
> @@ -9,8 +9,10 @@ Description:
> The protection has information embedded whether it blocks reads,
> writes or both.
> The result is:
> - 0 -> the DPS is not keylocked
> - 1 -> the DPS is keylocked
> +
> + - 0 -> the DPS is not keylocked
> + - 1 -> the DPS is keylocked
> +
> Users: None identified so far.
>
> What: /sys/devices/platform/docg3/f[0-3]_dps[01]_protection_key
> @@ -27,8 +29,12 @@ Description:
> Entering the correct value toggle the lock, and can be observed
> through f[0-3]_dps[01]_is_keylocked.
> Possible values are:
> +
> - 8 bytes
> +
> Typical values are:
> +
> - "00000000"
> - "12345678"
> +
> Users: None identified so far.
> diff --git a/Documentation/ABI/testing/sysfs-devices-platform-sh_mobile_lcdc_fb b/Documentation/ABI/testing/sysfs-devices-platform-sh_mobile_lcdc_fb
> index 2107082426da..e45ac2e865d5 100644
> --- a/Documentation/ABI/testing/sysfs-devices-platform-sh_mobile_lcdc_fb
> +++ b/Documentation/ABI/testing/sysfs-devices-platform-sh_mobile_lcdc_fb
> @@ -17,10 +17,10 @@ Description:
> to overlay planes.
>
> Selects the composition mode for the overlay. Possible values
> - are
> + are:
>
> - 0 - Alpha Blending
> - 1 - ROP3
> + - 0 - Alpha Blending
> + - 1 - ROP3
>
> What: /sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_position
> Date: May 2012
> @@ -30,7 +30,7 @@ Description:
> to overlay planes.
>
> Stores the x,y overlay position on the display in pixels. The
> - position format is `[0-9]+,[0-9]+'.
> + position format is `[0-9]+,[0-9]+`.
>
> What: /sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_rop3
> Date: May 2012
> diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu b/Documentation/ABI/testing/sysfs-devices-system-cpu
> index b555df825447..274c337ec6a9 100644
> --- a/Documentation/ABI/testing/sysfs-devices-system-cpu
> +++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
> @@ -151,23 +151,28 @@ Description:
> The processor idle states which are available for use have the
> following attributes:
>
> - name: (RO) Name of the idle state (string).
> + ======== ==== =================================================
> + name: (RO) Name of the idle state (string).
>
> latency: (RO) The latency to exit out of this idle state (in
> - microseconds).
> + microseconds).
>
> - power: (RO) The power consumed while in this idle state (in
> - milliwatts).
> + power: (RO) The power consumed while in this idle state (in
> + milliwatts).
>
> - time: (RO) The total time spent in this idle state (in microseconds).
> + time: (RO) The total time spent in this idle state
> + (in microseconds).
>
> - usage: (RO) Number of times this state was entered (a count).
> + usage: (RO) Number of times this state was entered (a count).
>
> - above: (RO) Number of times this state was entered, but the
> - observed CPU idle duration was too short for it (a count).
> + above: (RO) Number of times this state was entered, but the
> + observed CPU idle duration was too short for it
> + (a count).
>
> - below: (RO) Number of times this state was entered, but the
> - observed CPU idle duration was too long for it (a count).
> + below: (RO) Number of times this state was entered, but the
> + observed CPU idle duration was too long for it
> + (a count).
> + ======== ==== =================================================
>
> What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/desc
> Date: February 2008
> @@ -290,6 +295,7 @@ Description: Processor frequency boosting control
> This switch controls the boost setting for the whole system.
> Boosting allows the CPU and the firmware to run at a frequency
> beyound it's nominal limit.
> +
> More details can be found in
> Documentation/admin-guide/pm/cpufreq.rst
>
> @@ -337,43 +343,57 @@ Contact: Sudeep Holla <sudeep.holla@arm.com>
> Description: Parameters for the CPU cache attributes
>
> allocation_policy:
> - - WriteAllocate: allocate a memory location to a cache line
> - on a cache miss because of a write
> - - ReadAllocate: allocate a memory location to a cache line
> + - WriteAllocate:
> + allocate a memory location to a cache line
> + on a cache miss because of a write
> + - ReadAllocate:
> + allocate a memory location to a cache line
> on a cache miss because of a read
> - - ReadWriteAllocate: both writeallocate and readallocate
> + - ReadWriteAllocate:
> + both writeallocate and readallocate
>
> - attributes: LEGACY used only on IA64 and is same as write_policy
> + attributes:
> + LEGACY used only on IA64 and is same as write_policy
>
> - coherency_line_size: the minimum amount of data in bytes that gets
> + coherency_line_size:
> + the minimum amount of data in bytes that gets
> transferred from memory to cache
>
> - level: the cache hierarchy in the multi-level cache configuration
> + level:
> + the cache hierarchy in the multi-level cache configuration
>
> - number_of_sets: total number of sets in the cache, a set is a
> + number_of_sets:
> + total number of sets in the cache, a set is a
> collection of cache lines with the same cache index
>
> - physical_line_partition: number of physical cache line per cache tag
> + physical_line_partition:
> + number of physical cache line per cache tag
>
> - shared_cpu_list: the list of logical cpus sharing the cache
> + shared_cpu_list:
> + the list of logical cpus sharing the cache
>
> - shared_cpu_map: logical cpu mask containing the list of cpus sharing
> + shared_cpu_map:
> + logical cpu mask containing the list of cpus sharing
> the cache
>
> - size: the total cache size in kB
> + size:
> + the total cache size in kB
>
> type:
> - Instruction: cache that only holds instructions
> - Data: cache that only caches data
> - Unified: cache that holds both data and instructions
>
> - ways_of_associativity: degree of freedom in placing a particular block
> - of memory in the cache
> + ways_of_associativity:
> + degree of freedom in placing a particular block
> + of memory in the cache
>
> write_policy:
> - - WriteThrough: data is written to both the cache line
> + - WriteThrough:
> + data is written to both the cache line
> and to the block in the lower-level memory
> - - WriteBack: data is written only to the cache line and
> + - WriteBack:
> + data is written only to the cache line and
> the modified cache line is written to main
> memory only when it is replaced
>
> @@ -414,30 +434,30 @@ Description: POWERNV CPUFreq driver's frequency throttle stats directory and
> throttle attributes exported in the 'throttle_stats' directory:
>
> - turbo_stat : This file gives the total number of times the max
> - frequency is throttled to lower frequency in turbo (at and above
> - nominal frequency) range of frequencies.
> + frequency is throttled to lower frequency in turbo (at and above
> + nominal frequency) range of frequencies.
>
> - sub_turbo_stat : This file gives the total number of times the
> - max frequency is throttled to lower frequency in sub-turbo(below
> - nominal frequency) range of frequencies.
> + max frequency is throttled to lower frequency in sub-turbo(below
> + nominal frequency) range of frequencies.
>
> - unthrottle : This file gives the total number of times the max
> - frequency is unthrottled after being throttled.
> + frequency is unthrottled after being throttled.
>
> - powercap : This file gives the total number of times the max
> - frequency is throttled due to 'Power Capping'.
> + frequency is throttled due to 'Power Capping'.
>
> - overtemp : This file gives the total number of times the max
> - frequency is throttled due to 'CPU Over Temperature'.
> + frequency is throttled due to 'CPU Over Temperature'.
>
> - supply_fault : This file gives the total number of times the
> - max frequency is throttled due to 'Power Supply Failure'.
> + max frequency is throttled due to 'Power Supply Failure'.
>
> - overcurrent : This file gives the total number of times the
> - max frequency is throttled due to 'Overcurrent'.
> + max frequency is throttled due to 'Overcurrent'.
>
> - occ_reset : This file gives the total number of times the max
> - frequency is throttled due to 'OCC Reset'.
> + frequency is throttled due to 'OCC Reset'.
>
> The sysfs attributes representing different throttle reasons like
> powercap, overtemp, supply_fault, overcurrent and occ_reset map to
> @@ -469,8 +489,9 @@ What: /sys/devices/system/cpu/cpuX/regs/
> Date: June 2016
> Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
> Description: AArch64 CPU registers
> +
> 'identification' directory exposes the CPU ID registers for
> - identifying model and revision of the CPU.
> + identifying model and revision of the CPU.
>
> What: /sys/devices/system/cpu/cpu#/cpu_capacity
> Date: December 2016
> @@ -497,9 +518,11 @@ Description: Information about CPU vulnerabilities
> vulnerabilities. The output of those files reflects the
> state of the CPUs in the system. Possible output values:
>
> + ================ ==============================================
> "Not affected" CPU is not affected by the vulnerability
> "Vulnerable" CPU is affected and no mitigation in effect
> "Mitigation: $M" CPU is affected and mitigation $M is in effect
> + ================ ==============================================
>
> See also: Documentation/admin-guide/hw-vuln/index.rst
>
> @@ -515,12 +538,14 @@ Description: Control Symetric Multi Threading (SMT)
> control: Read/write interface to control SMT. Possible
> values:
>
> + ================ =========================================
> "on" SMT is enabled
> "off" SMT is disabled
> "forceoff" SMT is force disabled. Cannot be changed.
> "notsupported" SMT is not supported by the CPU
> "notimplemented" SMT runtime toggling is not
> implemented for the architecture
> + ================ =========================================
>
> If control status is "forceoff" or "notsupported" writes
> are rejected.
> diff --git a/Documentation/ABI/testing/sysfs-devices-system-ibm-rtl b/Documentation/ABI/testing/sysfs-devices-system-ibm-rtl
> index 470def06ab0a..1a8ee26e92ae 100644
> --- a/Documentation/ABI/testing/sysfs-devices-system-ibm-rtl
> +++ b/Documentation/ABI/testing/sysfs-devices-system-ibm-rtl
> @@ -5,8 +5,10 @@ Contact: Vernon Mauery <vernux@us.ibm.com>
> Description: The state file allows a means by which to change in and
> out of Premium Real-Time Mode (PRTM), as well as the
> ability to query the current state.
> - 0 => PRTM off
> - 1 => PRTM enabled
> +
> + - 0 => PRTM off
> + - 1 => PRTM enabled
> +
> Users: The ibm-prtm userspace daemon uses this interface.
>
>
> diff --git a/Documentation/ABI/testing/sysfs-driver-bd9571mwv-regulator b/Documentation/ABI/testing/sysfs-driver-bd9571mwv-regulator
> index 4d63a7904b94..42214b4ff14a 100644
> --- a/Documentation/ABI/testing/sysfs-driver-bd9571mwv-regulator
> +++ b/Documentation/ABI/testing/sysfs-driver-bd9571mwv-regulator
> @@ -6,11 +6,13 @@ Description: Read/write the current state of DDR Backup Mode, which controls
> if DDR power rails will be kept powered during system suspend.
> ("on"/"1" = enabled, "off"/"0" = disabled).
> Two types of power switches (or control signals) can be used:
> +
> A. With a momentary power switch (or pulse signal), DDR
> Backup Mode is enabled by default when available, as the
> PMIC will be configured only during system suspend.
> B. With a toggle power switch (or level signal), the
> following steps must be followed exactly:
> +
> 1. Configure PMIC for backup mode, to change the role of
> the accessory power switch from a power switch to a
> wake-up switch,
> @@ -20,8 +22,10 @@ Description: Read/write the current state of DDR Backup Mode, which controls
> 3. Suspend system,
> 4. Switch accessory power switch on, to resume the
> system.
> +
> DDR Backup Mode must be explicitly enabled by the user,
> to invoke step 1.
> +
> See also Documentation/devicetree/bindings/mfd/bd9571mwv.txt.
> Users: User space applications for embedded boards equipped with a
> BD9571MWV PMIC.
> diff --git a/Documentation/ABI/testing/sysfs-driver-genwqe b/Documentation/ABI/testing/sysfs-driver-genwqe
> index 64ac6d567c4b..69d855dc4c47 100644
> --- a/Documentation/ABI/testing/sysfs-driver-genwqe
> +++ b/Documentation/ABI/testing/sysfs-driver-genwqe
> @@ -29,8 +29,12 @@ What: /sys/class/genwqe/genwqe<n>_card/reload_bitstream
> Date: May 2014
> Contact: klebers@linux.vnet.ibm.com
> Description: Interface to trigger a PCIe card reset to reload the bitstream.
> +
> + ::
> +
> sudo sh -c 'echo 1 > \
> /sys/class/genwqe/genwqe0_card/reload_bitstream'
> +
> If successfully, the card will come back with the bitstream set
> on 'next_bitstream'.
>
> @@ -64,8 +68,11 @@ Description: Base clock frequency of the card.
> What: /sys/class/genwqe/genwqe<n>_card/device/sriov_numvfs
> Date: Oct 2013
> Contact: haver@linux.vnet.ibm.com
> -Description: Enable VFs (1..15):
> +Description: Enable VFs (1..15)::
> +
> sudo sh -c 'echo 15 > \
> /sys/bus/pci/devices/0000\:1b\:00.0/sriov_numvfs'
> - Disable VFs:
> +
> + Disable VFs::
> +
> Write a 0 into the same sysfs entry.
> diff --git a/Documentation/ABI/testing/sysfs-driver-hid-logitech-lg4ff b/Documentation/ABI/testing/sysfs-driver-hid-logitech-lg4ff
> index 305dffd229a8..de07be314efc 100644
> --- a/Documentation/ABI/testing/sysfs-driver-hid-logitech-lg4ff
> +++ b/Documentation/ABI/testing/sysfs-driver-hid-logitech-lg4ff
> @@ -12,7 +12,9 @@ KernelVersion: 4.1
> Contact: Michal Malý <madcatxster@devoid-pointer.net>
> Description: Displays a set of alternate modes supported by a wheel. Each
> mode is listed as follows:
> +
> Tag: Mode Name
> +
> Currently active mode is marked with an asterisk. List also
> contains an abstract item "native" which always denotes the
> native mode of the wheel. Echoing the mode tag switches the
> @@ -24,24 +26,30 @@ Description: Displays a set of alternate modes supported by a wheel. Each
> This entry is not created for devices that have only one mode.
>
> Currently supported mode switches:
> - Driving Force Pro:
> +
> + Driving Force Pro::
> +
> DF-EX --> DFP
>
> - G25:
> + G25::
> +
> DF-EX --> DFP --> G25
>
> - G27:
> + G27::
> +
> DF-EX <*> DFP <-> G25 <-> G27
> DF-EX <*--------> G25 <-> G27
> DF-EX <*----------------> G27
>
> - G29:
> + G29::
> +
> DF-EX <*> DFP <-> G25 <-> G27 <-> G29
> DF-EX <*--------> G25 <-> G27 <-> G29
> DF-EX <*----------------> G27 <-> G29
> DF-EX <*------------------------> G29
>
> - DFGT:
> + DFGT::
> +
> DF-EX <*> DFP <-> DFGT
> DF-EX <*--------> DFGT
>
> diff --git a/Documentation/ABI/testing/sysfs-driver-hid-wiimote b/Documentation/ABI/testing/sysfs-driver-hid-wiimote
> index 39dfa5cb1cc5..cd7b82a5c27d 100644
> --- a/Documentation/ABI/testing/sysfs-driver-hid-wiimote
> +++ b/Documentation/ABI/testing/sysfs-driver-hid-wiimote
> @@ -39,9 +39,13 @@ Description: While a device is initialized by the wiimote driver, we perform
> Other strings for each device-type are available and may be
> added if new device-specific detections are added.
> Currently supported are:
> - gen10: First Wii Remote generation
> - gen20: Second Wii Remote Plus generation (builtin MP)
> +
> + ============= =======================================
> + gen10: First Wii Remote generation
> + gen20: Second Wii Remote Plus generation
> + (builtin MP)
> balanceboard: Wii Balance Board
> + ============= =======================================
>
> What: /sys/bus/hid/drivers/wiimote/<dev>/bboard_calib
> Date: May 2013
> @@ -54,6 +58,7 @@ Description: This attribute is only provided if the device was detected as a
> First, 0kg values for all 4 sensors are written, followed by the
> 17kg values for all 4 sensors and last the 34kg values for all 4
> sensors.
> +
> Calibration data is already applied by the kernel to all input
> values but may be used by user-space to perform other
> transformations.
> @@ -68,9 +73,11 @@ Description: This attribute is only provided if the device was detected as a
> is prefixed with a +/-. Each value is a signed 16bit number.
> Data is encoded as decimal numbers and specifies the offsets of
> the analog sticks of the pro-controller.
> +
> Calibration data is already applied by the kernel to all input
> values but may be used by user-space to perform other
> transformations.
> +
> Calibration data is detected by the kernel during device setup.
> You can write "scan\n" into this file to re-trigger calibration.
> You can also write data directly in the form "x1:y1 x2:y2" to
> diff --git a/Documentation/ABI/testing/sysfs-driver-samsung-laptop b/Documentation/ABI/testing/sysfs-driver-samsung-laptop
> index 34d3a3359cf4..28c9c040de5d 100644
> --- a/Documentation/ABI/testing/sysfs-driver-samsung-laptop
> +++ b/Documentation/ABI/testing/sysfs-driver-samsung-laptop
> @@ -9,10 +9,12 @@ Description: Some Samsung laptops have different "performance levels"
> their fans quiet at all costs. Reading from this file
> will show the current performance level. Writing to the
> file can change this value.
> +
> Valid options:
> - "silent"
> - "normal"
> - "overclock"
> + - "silent"
> + - "normal"
> + - "overclock"
> +
> Note that not all laptops support all of these options.
> Specifically, not all support the "overclock" option,
> and it's still unknown if this value even changes
> @@ -25,8 +27,9 @@ Contact: Corentin Chary <corentin.chary@gmail.com>
> Description: Max battery charge level can be modified, battery cycle
> life can be extended by reducing the max battery charge
> level.
> - 0 means normal battery mode (100% charge)
> - 1 means battery life extender mode (80% charge)
> +
> + - 0 means normal battery mode (100% charge)
> + - 1 means battery life extender mode (80% charge)
>
> What: /sys/devices/platform/samsung/usb_charge
> Date: December 1, 2011
> diff --git a/Documentation/ABI/testing/sysfs-driver-toshiba_acpi b/Documentation/ABI/testing/sysfs-driver-toshiba_acpi
> index f34221b52b14..e5a438d84e1f 100644
> --- a/Documentation/ABI/testing/sysfs-driver-toshiba_acpi
> +++ b/Documentation/ABI/testing/sysfs-driver-toshiba_acpi
> @@ -4,10 +4,12 @@ KernelVersion: 3.15
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file controls the keyboard backlight operation mode, valid
> values are:
> +
> * 0x1 -> FN-Z
> * 0x2 -> AUTO (also called TIMER)
> * 0x8 -> ON
> * 0x10 -> OFF
> +
> Note that from kernel 3.16 onwards this file accepts all listed
> parameters, kernel 3.15 only accepts the first two (FN-Z and
> AUTO).
> @@ -41,8 +43,10 @@ KernelVersion: 3.15
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This files controls the status of the touchpad and pointing
> stick (if available), valid values are:
> +
> * 0 -> OFF
> * 1 -> ON
> +
> Users: KToshiba
>
> What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/available_kbd_modes
> @@ -51,10 +55,12 @@ KernelVersion: 3.16
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file shows the supported keyboard backlight modes
> the system supports, which can be:
> +
> * 0x1 -> FN-Z
> * 0x2 -> AUTO (also called TIMER)
> * 0x8 -> ON
> * 0x10 -> OFF
> +
> Note that not all keyboard types support the listed modes.
> See the entry named "available_kbd_modes"
> Users: KToshiba
> @@ -65,6 +71,7 @@ KernelVersion: 3.16
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file shows the current keyboard backlight type,
> which can be:
> +
> * 1 -> Type 1, supporting modes FN-Z and AUTO
> * 2 -> Type 2, supporting modes TIMER, ON and OFF
> Users: KToshiba
> @@ -75,10 +82,12 @@ KernelVersion: 4.0
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file controls the USB Sleep & Charge charging mode, which
> can be:
> +
> * 0 -> Disabled (0x00)
> * 1 -> Alternate (0x09)
> * 2 -> Auto (0x21)
> * 3 -> Typical (0x11)
> +
> Note that from kernel 4.1 onwards this file accepts all listed
> values, kernel 4.0 only supports the first three.
> Note that this feature only works when connected to power, if
> @@ -93,8 +102,10 @@ Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file controls the USB Sleep Functions under battery, and
> set the level at which point they will be disabled, accepted
> values can be:
> +
> * 0 -> Disabled
> * 1-100 -> Battery level to disable sleep functions
> +
> Currently it prints two values, the first one indicates if the
> feature is enabled or disabled, while the second one shows the
> current battery level set.
> @@ -107,8 +118,10 @@ Date: January 23, 2015
> KernelVersion: 4.0
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file controls the USB Rapid Charge state, which can be:
> +
> * 0 -> Disabled
> * 1 -> Enabled
> +
> Note that toggling this value requires a reboot for changes to
> take effect.
> Users: KToshiba
> @@ -118,8 +131,10 @@ Date: January 23, 2015
> KernelVersion: 4.0
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file controls the Sleep & Music state, which values can be:
> +
> * 0 -> Disabled
> * 1 -> Enabled
> +
> Note that this feature only works when connected to power, if
> you want to use it under battery, see the entry named
> "sleep_functions_on_battery"
> @@ -138,6 +153,7 @@ KernelVersion: 4.0
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file controls the state of the internal fan, valid
> values are:
> +
> * 0 -> OFF
> * 1 -> ON
>
> @@ -147,8 +163,10 @@ KernelVersion: 4.0
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file controls the Special Functions (hotkeys) operation
> mode, valid values are:
> +
> * 0 -> Normal Operation
> * 1 -> Special Functions
> +
> In the "Normal Operation" mode, the F{1-12} keys are as usual
> and the hotkeys are accessed via FN-F{1-12}.
> In the "Special Functions" mode, the F{1-12} keys trigger the
> @@ -163,8 +181,10 @@ KernelVersion: 4.0
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file controls whether the laptop should turn ON whenever
> the LID is opened, valid values are:
> +
> * 0 -> Disabled
> * 1 -> Enabled
> +
> Note that toggling this value requires a reboot for changes to
> take effect.
> Users: KToshiba
> @@ -174,8 +194,10 @@ Date: February 12, 2015
> KernelVersion: 4.0
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file controls the USB 3 functionality, valid values are:
> +
> * 0 -> Disabled (Acts as a regular USB 2)
> * 1 -> Enabled (Full USB 3 functionality)
> +
> Note that toggling this value requires a reboot for changes to
> take effect.
> Users: KToshiba
> @@ -188,10 +210,14 @@ Description: This file controls the Cooling Method feature.
> Reading this file prints two values, the first is the actual cooling method
> and the second is the maximum cooling method supported.
> When the maximum cooling method is ONE, valid values are:
> +
> * 0 -> Maximum Performance
> * 1 -> Battery Optimized
> +
> When the maximum cooling method is TWO, valid values are:
> +
> * 0 -> Maximum Performance
> * 1 -> Performance
> * 2 -> Battery Optimized
> +
> Users: KToshiba
> diff --git a/Documentation/ABI/testing/sysfs-driver-toshiba_haps b/Documentation/ABI/testing/sysfs-driver-toshiba_haps
> index a662370b4dbf..c938690ce10d 100644
> --- a/Documentation/ABI/testing/sysfs-driver-toshiba_haps
> +++ b/Documentation/ABI/testing/sysfs-driver-toshiba_haps
> @@ -4,10 +4,12 @@ KernelVersion: 3.17
> Contact: Azael Avalos <coproscefalo@gmail.com>
> Description: This file controls the built-in accelerometer protection level,
> valid values are:
> +
> * 0 -> Disabled
> * 1 -> Low
> * 2 -> Medium
> * 3 -> High
> +
> The default potection value is set to 2 (Medium).
> Users: KToshiba
>
> diff --git a/Documentation/ABI/testing/sysfs-driver-wacom b/Documentation/ABI/testing/sysfs-driver-wacom
> index afc48fc163b5..16acaa5712ec 100644
> --- a/Documentation/ABI/testing/sysfs-driver-wacom
> +++ b/Documentation/ABI/testing/sysfs-driver-wacom
> @@ -79,7 +79,9 @@ Description:
> When the Wacom Intuos 4 is connected over Bluetooth, the
> image has to contain 256 bytes (64x32 px 1 bit colour).
> The format is also scrambled, like in the USB mode, and it can
> - be summarized by converting 76543210 into GECA6420.
> + be summarized by converting::
> +
> + 76543210 into GECA6420.
> HGFEDCBA HFDB7531
>
> What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/unpair_remote
> diff --git a/Documentation/ABI/testing/sysfs-firmware-acpi b/Documentation/ABI/testing/sysfs-firmware-acpi
> index 613f42a9d5cd..e4afc2538210 100644
> --- a/Documentation/ABI/testing/sysfs-firmware-acpi
> +++ b/Documentation/ABI/testing/sysfs-firmware-acpi
> @@ -12,11 +12,14 @@ Description:
> image: The image bitmap. Currently a 32-bit BMP.
> status: 1 if the image is valid, 0 if firmware invalidated it.
> type: 0 indicates image is in BMP format.
> +
> + ======== ===================================================
> version: The version of the BGRT. Currently 1.
> xoffset: The number of pixels between the left of the screen
> and the left edge of the image.
> yoffset: The number of pixels between the top of the screen
> and the top edge of the image.
> + ======== ===================================================
>
> What: /sys/firmware/acpi/hotplug/
> Date: February 2013
> @@ -33,12 +36,14 @@ Description:
> The following setting is available to user space for each
> hotplug profile:
>
> + ======== =======================================================
> enabled: If set, the ACPI core will handle notifications of
> - hotplug events associated with the given class of
> - devices and will allow those devices to be ejected with
> - the help of the _EJ0 control method. Unsetting it
> - effectively disables hotplug for the correspoinding
> - class of devices.
> + hotplug events associated with the given class of
> + devices and will allow those devices to be ejected with
> + the help of the _EJ0 control method. Unsetting it
> + effectively disables hotplug for the correspoinding
> + class of devices.
> + ======== =======================================================
>
> The value of the above attribute is an integer number: 1 (set)
> or 0 (unset). Attempts to write any other values to it will
> @@ -71,86 +76,90 @@ Description:
> To figure out where all the SCI's are coming from,
> /sys/firmware/acpi/interrupts contains a file listing
> every possible source, and the count of how many
> - times it has triggered.
> -
> - $ cd /sys/firmware/acpi/interrupts
> - $ grep . *
> - error: 0
> - ff_gbl_lock: 0 enable
> - ff_pmtimer: 0 invalid
> - ff_pwr_btn: 0 enable
> - ff_rt_clk: 2 disable
> - ff_slp_btn: 0 invalid
> - gpe00: 0 invalid
> - gpe01: 0 enable
> - gpe02: 108 enable
> - gpe03: 0 invalid
> - gpe04: 0 invalid
> - gpe05: 0 invalid
> - gpe06: 0 enable
> - gpe07: 0 enable
> - gpe08: 0 invalid
> - gpe09: 0 invalid
> - gpe0A: 0 invalid
> - gpe0B: 0 invalid
> - gpe0C: 0 invalid
> - gpe0D: 0 invalid
> - gpe0E: 0 invalid
> - gpe0F: 0 invalid
> - gpe10: 0 invalid
> - gpe11: 0 invalid
> - gpe12: 0 invalid
> - gpe13: 0 invalid
> - gpe14: 0 invalid
> - gpe15: 0 invalid
> - gpe16: 0 invalid
> - gpe17: 1084 enable
> - gpe18: 0 enable
> - gpe19: 0 invalid
> - gpe1A: 0 invalid
> - gpe1B: 0 invalid
> - gpe1C: 0 invalid
> - gpe1D: 0 invalid
> - gpe1E: 0 invalid
> - gpe1F: 0 invalid
> - gpe_all: 1192
> - sci: 1194
> - sci_not: 0
> -
> - sci - The number of times the ACPI SCI
> - has been called and claimed an interrupt.
> -
> - sci_not - The number of times the ACPI SCI
> - has been called and NOT claimed an interrupt.
> -
> - gpe_all - count of SCI caused by GPEs.
> -
> - gpeXX - count for individual GPE source
> -
> - ff_gbl_lock - Global Lock
> -
> - ff_pmtimer - PM Timer
> -
> - ff_pwr_btn - Power Button
> -
> - ff_rt_clk - Real Time Clock
> -
> - ff_slp_btn - Sleep Button
> -
> - error - an interrupt that can't be accounted for above.
> -
> - invalid: it's either a GPE or a Fixed Event that
> - doesn't have an event handler.
> -
> - disable: the GPE/Fixed Event is valid but disabled.
> -
> - enable: the GPE/Fixed Event is valid and enabled.
> -
> - Root has permission to clear any of these counters. Eg.
> - # echo 0 > gpe11
> -
> - All counters can be cleared by clearing the total "sci":
> - # echo 0 > sci
> + times it has triggered::
> +
> + $ cd /sys/firmware/acpi/interrupts
> + $ grep . *
> + error: 0
> + ff_gbl_lock: 0 enable
> + ff_pmtimer: 0 invalid
> + ff_pwr_btn: 0 enable
> + ff_rt_clk: 2 disable
> + ff_slp_btn: 0 invalid
> + gpe00: 0 invalid
> + gpe01: 0 enable
> + gpe02: 108 enable
> + gpe03: 0 invalid
> + gpe04: 0 invalid
> + gpe05: 0 invalid
> + gpe06: 0 enable
> + gpe07: 0 enable
> + gpe08: 0 invalid
> + gpe09: 0 invalid
> + gpe0A: 0 invalid
> + gpe0B: 0 invalid
> + gpe0C: 0 invalid
> + gpe0D: 0 invalid
> + gpe0E: 0 invalid
> + gpe0F: 0 invalid
> + gpe10: 0 invalid
> + gpe11: 0 invalid
> + gpe12: 0 invalid
> + gpe13: 0 invalid
> + gpe14: 0 invalid
> + gpe15: 0 invalid
> + gpe16: 0 invalid
> + gpe17: 1084 enable
> + gpe18: 0 enable
> + gpe19: 0 invalid
> + gpe1A: 0 invalid
> + gpe1B: 0 invalid
> + gpe1C: 0 invalid
> + gpe1D: 0 invalid
> + gpe1E: 0 invalid
> + gpe1F: 0 invalid
> + gpe_all: 1192
> + sci: 1194
> + sci_not: 0
> +
> + =========== ==================================================
> + sci The number of times the ACPI SCI
> + has been called and claimed an interrupt.
> +
> + sci_not The number of times the ACPI SCI
> + has been called and NOT claimed an interrupt.
> +
> + gpe_all count of SCI caused by GPEs.
> +
> + gpeXX count for individual GPE source
> +
> + ff_gbl_lock Global Lock
> +
> + ff_pmtimer PM Timer
> +
> + ff_pwr_btn Power Button
> +
> + ff_rt_clk Real Time Clock
> +
> + ff_slp_btn Sleep Button
> +
> + error an interrupt that can't be accounted for above.
> +
> + invalid it's either a GPE or a Fixed Event that
> + doesn't have an event handler.
> +
> + disable the GPE/Fixed Event is valid but disabled.
> +
> + enable the GPE/Fixed Event is valid and enabled.
> + =========== ==================================================
> +
> + Root has permission to clear any of these counters. Eg.::
> +
> + # echo 0 > gpe11
> +
> + All counters can be cleared by clearing the total "sci"::
> +
> + # echo 0 > sci
>
> None of these counters has an effect on the function
> of the system, they are simply statistics.
> @@ -165,32 +174,34 @@ Description:
>
> Let's take power button fixed event for example, please kill acpid
> and other user space applications so that the machine won't shutdown
> - when pressing the power button.
> - # cat ff_pwr_btn
> - 0 enabled
> - # press the power button for 3 times;
> - # cat ff_pwr_btn
> - 3 enabled
> - # echo disable > ff_pwr_btn
> - # cat ff_pwr_btn
> - 3 disabled
> - # press the power button for 3 times;
> - # cat ff_pwr_btn
> - 3 disabled
> - # echo enable > ff_pwr_btn
> - # cat ff_pwr_btn
> - 4 enabled
> - /*
> - * this is because the status bit is set even if the enable bit is cleared,
> - * and it triggers an ACPI fixed event when the enable bit is set again
> - */
> - # press the power button for 3 times;
> - # cat ff_pwr_btn
> - 7 enabled
> - # echo disable > ff_pwr_btn
> - # press the power button for 3 times;
> - # echo clear > ff_pwr_btn /* clear the status bit */
> - # echo disable > ff_pwr_btn
> - # cat ff_pwr_btn
> - 7 enabled
> + when pressing the power button::
> +
> + # cat ff_pwr_btn
> + 0 enabled
> + # press the power button for 3 times;
> + # cat ff_pwr_btn
> + 3 enabled
> + # echo disable > ff_pwr_btn
> + # cat ff_pwr_btn
> + 3 disabled
> + # press the power button for 3 times;
> + # cat ff_pwr_btn
> + 3 disabled
> + # echo enable > ff_pwr_btn
> + # cat ff_pwr_btn
> + 4 enabled
> + /*
> + * this is because the status bit is set even if the enable
> + * bit is cleared, and it triggers an ACPI fixed event when
> + * the enable bit is set again
> + */
> + # press the power button for 3 times;
> + # cat ff_pwr_btn
> + 7 enabled
> + # echo disable > ff_pwr_btn
> + # press the power button for 3 times;
> + # echo clear > ff_pwr_btn /* clear the status bit */
> + # echo disable > ff_pwr_btn
> + # cat ff_pwr_btn
> + 7 enabled
>
> diff --git a/Documentation/ABI/testing/sysfs-firmware-dmi-entries b/Documentation/ABI/testing/sysfs-firmware-dmi-entries
> index 210ad44b95a5..fe0289c87768 100644
> --- a/Documentation/ABI/testing/sysfs-firmware-dmi-entries
> +++ b/Documentation/ABI/testing/sysfs-firmware-dmi-entries
> @@ -33,7 +33,7 @@ Description:
> doesn't matter), they will be represented in sysfs as
> entries "T-0" through "T-(N-1)":
>
> - Example entry directories:
> + Example entry directories::
>
> /sys/firmware/dmi/entries/17-0
> /sys/firmware/dmi/entries/17-1
> @@ -50,61 +50,65 @@ Description:
> Each DMI entry in sysfs has the common header values
> exported as attributes:
>
> - handle : The 16bit 'handle' that is assigned to this
> + ======== =================================================
> + handle The 16bit 'handle' that is assigned to this
> entry by the firmware. This handle may be
> referred to by other entries.
> - length : The length of the entry, as presented in the
> + length The length of the entry, as presented in the
> entry itself. Note that this is _not the
> total count of bytes associated with the
> - entry_. This value represents the length of
> + entry. This value represents the length of
> the "formatted" portion of the entry. This
> "formatted" region is sometimes followed by
> the "unformatted" region composed of nul
> terminated strings, with termination signalled
> by a two nul characters in series.
> - raw : The raw bytes of the entry. This includes the
> + raw The raw bytes of the entry. This includes the
> "formatted" portion of the entry, the
> "unformatted" strings portion of the entry,
> and the two terminating nul characters.
> - type : The type of the entry. This value is the same
> + type The type of the entry. This value is the same
> as found in the directory name. It indicates
> how the rest of the entry should be interpreted.
> - instance: The instance ordinal of the entry for the
> + instance The instance ordinal of the entry for the
> given type. This value is the same as found
> in the parent directory name.
> - position: The ordinal position (zero-based) of the entry
> + position The ordinal position (zero-based) of the entry
> within the entirety of the DMI entry table.
> + ======== =================================================
>
> - === Entry Specialization ===
> + **Entry Specialization**
>
> Some entry types may have other information available in
> sysfs. Not all types are specialized.
>
> - --- Type 15 - System Event Log ---
> + **Type 15 - System Event Log**
>
> This entry allows the firmware to export a log of
> events the system has taken. This information is
> typically backed by nvram, but the implementation
> details are abstracted by this table. This entry's data
> - is exported in the directory:
> + is exported in the directory::
>
> - /sys/firmware/dmi/entries/15-0/system_event_log
> + /sys/firmware/dmi/entries/15-0/system_event_log
>
> and has the following attributes (documented in the
> SMBIOS / DMI specification under "System Event Log (Type 15)":
>
> - area_length
> - header_start_offset
> - data_start_offset
> - access_method
> - status
> - change_token
> - access_method_address
> - header_format
> - per_log_type_descriptor_length
> - type_descriptors_supported_count
> + - area_length
> + - header_start_offset
> + - data_start_offset
> + - access_method
> + - status
> + - change_token
> + - access_method_address
> + - header_format
> + - per_log_type_descriptor_length
> + - type_descriptors_supported_count
>
> As well, the kernel exports the binary attribute:
>
> - raw_event_log : The raw binary bits of the event log
> + ============= ====================================
> + raw_event_log The raw binary bits of the event log
> as described by the DMI entry.
> + ============= ====================================
> diff --git a/Documentation/ABI/testing/sysfs-firmware-gsmi b/Documentation/ABI/testing/sysfs-firmware-gsmi
> index 0faa0aaf4b6a..7a558354c1ee 100644
> --- a/Documentation/ABI/testing/sysfs-firmware-gsmi
> +++ b/Documentation/ABI/testing/sysfs-firmware-gsmi
> @@ -20,7 +20,7 @@ Description:
>
> This directory has the same layout (and
> underlying implementation as /sys/firmware/efi/vars.
> - See Documentation/ABI/*/sysfs-firmware-efi-vars
> + See `Documentation/ABI/*/sysfs-firmware-efi-vars`
> for more information on how to interact with
> this structure.
>
> diff --git a/Documentation/ABI/testing/sysfs-firmware-memmap b/Documentation/ABI/testing/sysfs-firmware-memmap
> index eca0d65087dc..1f6f4d3a32c0 100644
> --- a/Documentation/ABI/testing/sysfs-firmware-memmap
> +++ b/Documentation/ABI/testing/sysfs-firmware-memmap
> @@ -20,7 +20,7 @@ Description:
> the raw memory map to userspace.
>
> The structure is as follows: Under /sys/firmware/memmap there
> - are subdirectories with the number of the entry as their name:
> + are subdirectories with the number of the entry as their name::
>
> /sys/firmware/memmap/0
> /sys/firmware/memmap/1
> @@ -34,14 +34,16 @@ Description:
>
> Each directory contains three files:
>
> - start : The start address (as hexadecimal number with the
> + ======== =====================================================
> + start The start address (as hexadecimal number with the
> '0x' prefix).
> - end : The end address, inclusive (regardless whether the
> + end The end address, inclusive (regardless whether the
> firmware provides inclusive or exclusive ranges).
> - type : Type of the entry as string. See below for a list of
> + type Type of the entry as string. See below for a list of
> valid types.
> + ======== =====================================================
>
> - So, for example:
> + So, for example::
>
> /sys/firmware/memmap/0/start
> /sys/firmware/memmap/0/end
> @@ -57,9 +59,8 @@ Description:
> - reserved
>
> Following shell snippet can be used to display that memory
> - map in a human-readable format:
> + map in a human-readable format::
>
> - -------------------- 8< ----------------------------------------
> #!/bin/bash
> cd /sys/firmware/memmap
> for dir in * ; do
> @@ -68,4 +69,3 @@ Description:
> type=$(cat $dir/type)
> printf "%016x-%016x (%s)\n" $start $[ $end +1] "$type"
> done
> - -------------------- >8 ----------------------------------------
> diff --git a/Documentation/ABI/testing/sysfs-fs-ext4 b/Documentation/ABI/testing/sysfs-fs-ext4
> index 78604db56279..99e3d92f8299 100644
> --- a/Documentation/ABI/testing/sysfs-fs-ext4
> +++ b/Documentation/ABI/testing/sysfs-fs-ext4
> @@ -45,8 +45,8 @@ Description:
> parameter will have their blocks allocated out of a
> block group specific preallocation pool, so that small
> files are packed closely together. Each large file
> - will have its blocks allocated out of its own unique
> - preallocation pool.
> + will have its blocks allocated out of its own unique
> + preallocation pool.
>
> What: /sys/fs/ext4/<disk>/inode_readahead_blks
> Date: March 2008
> diff --git a/Documentation/ABI/testing/sysfs-hypervisor-xen b/Documentation/ABI/testing/sysfs-hypervisor-xen
> index 53b7b2ea7515..4dbe0c49b393 100644
> --- a/Documentation/ABI/testing/sysfs-hypervisor-xen
> +++ b/Documentation/ABI/testing/sysfs-hypervisor-xen
> @@ -15,14 +15,17 @@ KernelVersion: 4.3
> Contact: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Description: If running under Xen:
> Describes mode that Xen's performance-monitoring unit (PMU)
> - uses. Accepted values are
> - "off" -- PMU is disabled
> - "self" -- The guest can profile itself
> - "hv" -- The guest can profile itself and, if it is
> + uses. Accepted values are:
> +
> + ====== ============================================
> + "off" PMU is disabled
> + "self" The guest can profile itself
> + "hv" The guest can profile itself and, if it is
> privileged (e.g. dom0), the hypervisor
> - "all" -- The guest can profile itself, the hypervisor
> + "all" The guest can profile itself, the hypervisor
> and all other guests. Only available to
> privileged guests.
> + ====== ============================================
>
> What: /sys/hypervisor/pmu/pmu_features
> Date: August 2015
> diff --git a/Documentation/ABI/testing/sysfs-kernel-boot_params b/Documentation/ABI/testing/sysfs-kernel-boot_params
> index eca38ce2852d..7f9bda453c4d 100644
> --- a/Documentation/ABI/testing/sysfs-kernel-boot_params
> +++ b/Documentation/ABI/testing/sysfs-kernel-boot_params
> @@ -23,16 +23,17 @@ Description: The /sys/kernel/boot_params directory contains two
> representation of setup_data type. "data" file is the binary
> representation of setup_data payload.
>
> - The whole boot_params directory structure is like below:
> - /sys/kernel/boot_params
> - |__ data
> - |__ setup_data
> - | |__ 0
> - | | |__ data
> - | | |__ type
> - | |__ 1
> - | |__ data
> - | |__ type
> - |__ version
> + The whole boot_params directory structure is like below::
> +
> + /sys/kernel/boot_params
> + |__ data
> + |__ setup_data
> + | |__ 0
> + | | |__ data
> + | | |__ type
> + | |__ 1
> + | |__ data
> + | |__ type
> + |__ version
>
> Users: Kexec
> diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-hugepages b/Documentation/ABI/testing/sysfs-kernel-mm-hugepages
> index fdaa2162fae1..294387e2c7fb 100644
> --- a/Documentation/ABI/testing/sysfs-kernel-mm-hugepages
> +++ b/Documentation/ABI/testing/sysfs-kernel-mm-hugepages
> @@ -7,9 +7,11 @@ Description:
> of the hugepages supported by the kernel/CPU combination.
>
> Under these directories are a number of files:
> - nr_hugepages
> - nr_overcommit_hugepages
> - free_hugepages
> - surplus_hugepages
> - resv_hugepages
> +
> + - nr_hugepages
> + - nr_overcommit_hugepages
> + - free_hugepages
> + - surplus_hugepages
> + - resv_hugepages
> +
> See Documentation/admin-guide/mm/hugetlbpage.rst for details.
> diff --git a/Documentation/ABI/testing/sysfs-platform-asus-laptop b/Documentation/ABI/testing/sysfs-platform-asus-laptop
> index 8b0e8205a6a2..c78d358dbdbe 100644
> --- a/Documentation/ABI/testing/sysfs-platform-asus-laptop
> +++ b/Documentation/ABI/testing/sysfs-platform-asus-laptop
> @@ -4,13 +4,16 @@ KernelVersion: 2.6.20
> Contact: "Corentin Chary" <corentincj@iksaif.net>
> Description:
> This file allows display switching. The value
> - is composed by 4 bits and defined as follow:
> - 4321
> - |||`- LCD
> - ||`-- CRT
> - |`--- TV
> - `---- DVI
> - Ex: - 0 (0000b) means no display
> + is composed by 4 bits and defined as follow::
> +
> + 4321
> + |||`- LCD
> + ||`-- CRT
> + |`--- TV
> + `---- DVI
> +
> + Ex:
> + - 0 (0000b) means no display
> - 3 (0011b) CRT+LCD.
>
> What: /sys/devices/platform/asus_laptop/gps
> @@ -28,8 +31,10 @@ Contact: "Corentin Chary" <corentincj@iksaif.net>
> Description:
> Some models like the W1N have a LED display that can be
> used to display several items of information.
> - To control the LED display, use the following :
> + To control the LED display, use the following::
> +
> echo 0x0T000DDD > /sys/devices/platform/asus_laptop/
> +
> where T control the 3 letters display, and DDD the 3 digits display.
> The DDD table can be found in Documentation/admin-guide/laptops/asus-laptop.rst
>
> diff --git a/Documentation/ABI/testing/sysfs-platform-asus-wmi b/Documentation/ABI/testing/sysfs-platform-asus-wmi
> index 1efac0ddb417..04885738cf15 100644
> --- a/Documentation/ABI/testing/sysfs-platform-asus-wmi
> +++ b/Documentation/ABI/testing/sysfs-platform-asus-wmi
> @@ -5,6 +5,7 @@ Contact: "Corentin Chary" <corentincj@iksaif.net>
> Description:
> Change CPU clock configuration (write-only).
> There are three available clock configuration:
> +
> * 0 -> Super Performance Mode
> * 1 -> High Performance Mode
> * 2 -> Power Saving Mode
> diff --git a/Documentation/ABI/testing/sysfs-platform-at91 b/Documentation/ABI/testing/sysfs-platform-at91
> index 4cc6a865ae66..b146be74b8e0 100644
> --- a/Documentation/ABI/testing/sysfs-platform-at91
> +++ b/Documentation/ABI/testing/sysfs-platform-at91
> @@ -18,8 +18,10 @@ Description:
> In order to use an extended can_id add the
> CAN_EFF_FLAG (0x80000000U) to the can_id. Example:
>
> - - standard id 0x7ff:
> - echo 0x7ff > /sys/class/net/can0/mb0_id
> + - standard id 0x7ff::
>
> - - extended id 0x1fffffff:
> - echo 0x9fffffff > /sys/class/net/can0/mb0_id
> + echo 0x7ff > /sys/class/net/can0/mb0_id
> +
> + - extended id 0x1fffffff::
> +
> + echo 0x9fffffff > /sys/class/net/can0/mb0_id
> diff --git a/Documentation/ABI/testing/sysfs-platform-eeepc-laptop b/Documentation/ABI/testing/sysfs-platform-eeepc-laptop
> index 5b026c69587a..70dbe0733cf6 100644
> --- a/Documentation/ABI/testing/sysfs-platform-eeepc-laptop
> +++ b/Documentation/ABI/testing/sysfs-platform-eeepc-laptop
> @@ -4,9 +4,11 @@ KernelVersion: 2.6.26
> Contact: "Corentin Chary" <corentincj@iksaif.net>
> Description:
> This file allows display switching.
> +
> - 1 = LCD
> - 2 = CRT
> - 3 = LCD+CRT
> +
> If you run X11, you should use xrandr instead.
>
> What: /sys/devices/platform/eeepc/camera
> @@ -30,16 +32,20 @@ Contact: "Corentin Chary" <corentincj@iksaif.net>
> Description:
> Change CPU clock configuration.
> On the Eee PC 1000H there are three available clock configuration:
> +
> * 0 -> Super Performance Mode
> * 1 -> High Performance Mode
> * 2 -> Power Saving Mode
> +
> On Eee PC 701 there is only 2 available clock configurations.
> Available configuration are listed in available_cpufv file.
> Reading this file will show the raw hexadecimal value which
> - is defined as follow:
> - | 8 bit | 8 bit |
> - | `---- Current mode
> - `------------ Availables modes
> + is defined as follow::
> +
> + | 8 bit | 8 bit |
> + | `---- Current mode
> + `------------ Availables modes
> +
> For example, 0x301 means: mode 1 selected, 3 available modes.
>
> What: /sys/devices/platform/eeepc/available_cpufv
> diff --git a/Documentation/ABI/testing/sysfs-platform-ideapad-laptop b/Documentation/ABI/testing/sysfs-platform-ideapad-laptop
> index 1b31be3f996a..fd2ac02bc5bd 100644
> --- a/Documentation/ABI/testing/sysfs-platform-ideapad-laptop
> +++ b/Documentation/ABI/testing/sysfs-platform-ideapad-laptop
> @@ -12,6 +12,7 @@ Contact: "Maxim Mikityanskiy <maxtram95@gmail.com>"
> Description:
> Change fan mode
> There are four available modes:
> +
> * 0 -> Super Silent Mode
> * 1 -> Standard Mode
> * 2 -> Dust Cleaning
> @@ -32,9 +33,11 @@ KernelVersion: 4.18
> Contact: "Oleg Keri <ezhi99@gmail.com>"
> Description:
> Control fn-lock mode.
> +
> * 1 -> Switched On
> * 0 -> Switched Off
>
> - For example:
> - # echo "0" > \
> - /sys/bus/pci/devices/0000:00:1f.0/PNP0C09:00/VPC2004:00/fn_lock
> + For example::
> +
> + # echo "0" > \
> + /sys/bus/pci/devices/0000:00:1f.0/PNP0C09:00/VPC2004:00/fn_lock
> diff --git a/Documentation/ABI/testing/sysfs-platform-intel-wmi-thunderbolt b/Documentation/ABI/testing/sysfs-platform-intel-wmi-thunderbolt
> index 8af65059d519..e19144fd5d86 100644
> --- a/Documentation/ABI/testing/sysfs-platform-intel-wmi-thunderbolt
> +++ b/Documentation/ABI/testing/sysfs-platform-intel-wmi-thunderbolt
> @@ -7,5 +7,6 @@ Description:
> Thunderbolt controllers to turn on or off when no
> devices are connected (write-only)
> There are two available states:
> +
> * 0 -> Force power disabled
> * 1 -> Force power enabled
> diff --git a/Documentation/ABI/testing/sysfs-platform-sst-atom b/Documentation/ABI/testing/sysfs-platform-sst-atom
> index 0d07c0395660..d5f6e21f0e42 100644
> --- a/Documentation/ABI/testing/sysfs-platform-sst-atom
> +++ b/Documentation/ABI/testing/sysfs-platform-sst-atom
> @@ -5,13 +5,22 @@ Contact: "Sebastien Guiriec" <sebastien.guiriec@intel.com>
> Description:
> LPE Firmware version for SST driver on all atom
> plaforms (BYT/CHT/Merrifield/BSW).
> - If the FW has never been loaded it will display:
> + If the FW has never been loaded it will display::
> +
> "FW not yet loaded"
> - If FW has been loaded it will display:
> +
> + If FW has been loaded it will display::
> +
> "v01.aa.bb.cc"
> +
> aa: Major version is reflecting SoC version:
> +
> + === =============
> 0d: BYT FW
> 0b: BSW FW
> 07: Merrifield FW
> + === =============
> +
> bb: Minor version
> +
> cc: Build version
> diff --git a/Documentation/ABI/testing/sysfs-platform-usbip-vudc b/Documentation/ABI/testing/sysfs-platform-usbip-vudc
> index 81fcfb454913..53622d3ba27c 100644
> --- a/Documentation/ABI/testing/sysfs-platform-usbip-vudc
> +++ b/Documentation/ABI/testing/sysfs-platform-usbip-vudc
> @@ -16,10 +16,13 @@ Contact: Krzysztof Opasiak <k.opasiak@samsung.com>
> Description:
> Current status of the device.
> Allowed values:
> - 1 - Device is available and can be exported
> - 2 - Device is currently exported
> - 3 - Fatal error occurred during communication
> - with peer
> +
> + == ==========================================
> + 1 Device is available and can be exported
> + 2 Device is currently exported
> + 3 Fatal error occurred during communication
> + with peer
> + == ==========================================
>
> What: /sys/devices/platform/usbip-vudc.%d/usbip_sockfd
> Date: April 2016
> diff --git a/Documentation/ABI/testing/sysfs-ptp b/Documentation/ABI/testing/sysfs-ptp
> index a17f817a9309..2363ad810ddb 100644
> --- a/Documentation/ABI/testing/sysfs-ptp
> +++ b/Documentation/ABI/testing/sysfs-ptp
> @@ -69,7 +69,7 @@ Description:
> pin offered by the PTP hardware clock. The file name
> is the hardware dependent pin name. Reading from this
> file produces two numbers, the assigned function (see
> - the PTP_PF_ enumeration values in linux/ptp_clock.h)
> + the `PTP_PF_` enumeration values in linux/ptp_clock.h)
> and the channel number. The function and channel
> assignment may be changed by two writing numbers into
> the file.
>
^ permalink raw reply
* Re: [PATCH v2 31/39] docs: ABI: cleanup several ABI documents
From: Suzuki K Poulose @ 2020-10-30 9:49 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linux Doc Mailing List
Cc: Andrew Lunn, Peter Chen, Linus Walleij, Jerry Snitselaar,
dri-devel, Pavel Machek, Christian Gromm, ceph-devel,
Bart Van Assche, linux-acpi, Danil Kipnis, Samuel Thibault,
Guenter Roeck, Ohad Ben-Cohen, linux-pm, Alexander Antonov,
Dan Murphy, Thomas Gleixner, Stefan Achatz, Konstantin Khlebnikov,
Jingoo Han, Rafael J. Wysocki, linux-kernel, Greg Kroah-Hartman,
Hans Verkuil, Wu Hao, Vineela Tummalapalli,
Peter Meerwald-Stadler, Srinivas Kandagatla, Hanjun Guo,
Oleh Kravchenko, Lars-Peter Clausen, Andy Shevchenko,
Saravana Kannan, Anton Vorontsov, Marek Marczykowski-Górecki,
linux-stm32, Bartosz Golaszewski, Len Brown, Alexandre Torgue,
Michael Hennerich, coresight, linux-media, Frederic Barrat,
Bjorn Helgaas, Jaegeuk Kim, Boris Ostrovsky, Mika Westerberg,
linux-arm-kernel, Oded Gabbay, Tony Luck, Mathieu Poirier,
Boris Brezillon, PrasannaKumar Muralidharan, linux-gpio,
Dongsheng Yang, linux-f2fs-devel, Jarkko Sakkinen,
Maxime Coquelin, Vaibhav Jain, Pali Rohár, Jonathan Cameron,
Heiner Kallweit, Gautham R. Shenoy, Cezary Rojewski,
Mario Limonciello, Alexander Shishkin, Tom Rix, linux-fpga,
Rasmus Villemoes, Jonas Meurer, Daniel Thompson, Florian Fainelli,
Mark Gross, Jonathan Corbet, Ilya Dryomov, Jack Wang, Kees Cook,
Dan Williams, Kranthi Kuntala, Dmitry Torokhov, Sebastian Reichel,
Colin Cross, Enric Balletbo i Serra, Roman Sudarikov,
Roger Pau Monné, Peter Zijlstra (Intel), linux-remoteproc,
Bjorn Andersson, linux-i3c, Lee Jones, Russell King,
Marek Behún, Jason Gunthorpe, Pawan Gupta, Mike Leach,
Andrew Donnellan, Kajol Jain, Chao Yu, Johan Hovold,
Andreas Klinger, Jonathan Cameron, David Sterba, Jens Axboe,
netdev, linux-iio, Asutosh Das, linuxppc-dev
In-Reply-To: <5bc78e5b68ed1e9e39135173857cb2e753be868f.1604042072.git.mchehab+huawei@kernel.org>
On 10/30/20 7:40 AM, Mauro Carvalho Chehab wrote:
> There are some ABI documents that, while they don't generate
> any warnings, they have issues when parsed by get_abi.pl script
> on its output result.
>
> Address them, in order to provide a clean output.
>
> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for IIO
> Reviewed-by: Tom Rix <trix@redhat.com> # for fpga-manager
> Reviewed-By: Kajol Jain<kjain@linux.ibm.com> # for sysfs-bus-event_source-devices-hv_gpci and sysfs-bus-event_source-devices-hv_24x7
> Acked-by: Oded Gabbay <oded.gabbay@gmail.com> # for Habanalabs
> Acked-by: Vaibhav Jain <vaibhav@linux.ibm.com> # for sysfs-bus-papr-pmem
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> .../testing/sysfs-bus-coresight-devices-etb10 | 5 +-
For the above,
Acked-by: Suzuki K Poulose <suzuki.poulose@arm.com>
^ permalink raw reply
* RE: [PATCH v2 31/39] docs: ABI: cleanup several ABI documents
From: Rojewski, Cezary @ 2020-10-30 8:27 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linux Doc Mailing List
Cc: Andrew Lunn, Peter Chen, Linus Walleij, Jerry Snitselaar,
dri-devel@lists.freedesktop.org, Pavel Machek, Christian Gromm,
ceph-devel@vger.kernel.org, Bart Van Assche,
linux-acpi@vger.kernel.org, Danil Kipnis, Samuel Thibault,
Guenter Roeck, Ohad Ben-Cohen, linux-pm@vger.kernel.org,
Alexander Antonov, Dan Murphy, Thomas Gleixner, Stefan Achatz,
Konstantin Khlebnikov, Jingoo Han, Rafael J. Wysocki,
linux-kernel@vger.kernel.org, Greg Kroah-Hartman, Hans Verkuil,
Wu, Hao, Tummalapalli, Vineela, Peter Meerwald-Stadler,
Srinivas Kandagatla, Hanjun Guo, Oleh Kravchenko,
Lars-Peter Clausen, Shevchenko, Andriy, Saravana Kannan,
Anton Vorontsov, Marek Marczykowski-Górecki,
linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski,
Len Brown, Alexandre Torgue, Michael Hennerich, Suzuki K Poulose,
coresight@lists.linaro.org, linux-media@vger.kernel.org,
Frederic Barrat, Bjorn Helgaas, Jaegeuk Kim, Boris Ostrovsky,
Mika Westerberg, linux-arm-kernel@lists.infradead.org,
Oded Gabbay, Luck, Tony, Mathieu Poirier, Boris Brezillon,
PrasannaKumar Muralidharan, linux-gpio@vger.kernel.org,
Dongsheng Yang, linux-f2fs-devel@lists.sourceforge.net,
Jarkko Sakkinen, Maxime Coquelin, Vaibhav Jain, Pali Rohár,
Jonathan Cameron, Heiner Kallweit, Gautham R. Shenoy,
Mario Limonciello, Alexander Shishkin, Tom Rix,
linux-fpga@vger.kernel.org, Rasmus Villemoes, Jonas Meurer,
Daniel Thompson, Florian Fainelli, Mark Gross, Jonathan Corbet,
Ilya Dryomov, Jack Wang, Kees Cook, Williams, Dan J,
Kuntala, Kranthi, Dmitry Torokhov, Sebastian Reichel, Colin Cross,
Enric Balletbo i Serra, Roman Sudarikov, Roger Pau Monné,
Peter Zijlstra (Intel), linux-remoteproc@vger.kernel.org,
Bjorn Andersson, linux-i3c@lists.infradead.org, Lee Jones,
Russell King, Marek Behún, Jason Gunthorpe, Pawan Gupta,
Mike Leach, Andrew Donnellan, Kajol Jain, Chao Yu, Johan Hovold,
Andreas Klinger, Jonathan Cameron, David Sterba, Jens Axboe,
netdev@vger.kernel.org, linux-iio@vger.kernel.org, Asutosh Das,
linuxppc-dev@lists.ozlabs.org
In-Reply-To: <5bc78e5b68ed1e9e39135173857cb2e753be868f.1604042072.git.mchehab+huawei@kernel.org>
On 2020-10-30 8:40 AM, Mauro Carvalho Chehab wrote:
> There are some ABI documents that, while they don't generate
> any warnings, they have issues when parsed by get_abi.pl script
> on its output result.
>
> Address them, in order to provide a clean output.
>
> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for IIO
> Reviewed-by: Tom Rix <trix@redhat.com> # for fpga-manager
> Reviewed-By: Kajol Jain<kjain@linux.ibm.com> # for sysfs-bus-event_source-devices-hv_gpci and sysfs-bus-event_source-devices-hv_24x7
> Acked-by: Oded Gabbay <oded.gabbay@gmail.com> # for Habanalabs
> Acked-by: Vaibhav Jain <vaibhav@linux.ibm.com> # for sysfs-bus-papr-pmem
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
sysfs-bus-pci-devices-catpt changes LGTM, thanks.
Acked-by: Cezary Rojewski <cezary.rojewski@intel.com> # for catpt
Regards,
Czarek
> Documentation/ABI/obsolete/sysfs-class-dax | 8 +-
> .../ABI/obsolete/sysfs-driver-hid-roccat-pyra | 3 +
> Documentation/ABI/removed/devfs | 1 +
> Documentation/ABI/removed/raw1394 | 1 +
> Documentation/ABI/removed/sysfs-class-rfkill | 2 +-
> Documentation/ABI/removed/video1394 | 1 +
> Documentation/ABI/stable/firewire-cdev | 63 ++---
> Documentation/ABI/stable/sysfs-acpi-pmprofile | 4 +-
> Documentation/ABI/stable/sysfs-bus-w1 | 1 +
> Documentation/ABI/stable/sysfs-class-tpm | 4 +-
> Documentation/ABI/stable/sysfs-driver-speakup | 4 +
> Documentation/ABI/testing/configfs-most | 135 +++++++----
> .../ABI/testing/configfs-usb-gadget-ecm | 12 +-
> .../ABI/testing/configfs-usb-gadget-eem | 10 +-
> .../ABI/testing/configfs-usb-gadget-loopback | 6 +-
> .../testing/configfs-usb-gadget-mass-storage | 18 +-
> .../ABI/testing/configfs-usb-gadget-midi | 14 +-
> .../ABI/testing/configfs-usb-gadget-printer | 6 +-
> .../testing/configfs-usb-gadget-sourcesink | 18 +-
> .../ABI/testing/configfs-usb-gadget-subset | 10 +-
> .../ABI/testing/configfs-usb-gadget-uac2 | 14 +-
> .../ABI/testing/configfs-usb-gadget-uvc | 2 +-
> .../ABI/testing/debugfs-cec-error-inj | 2 +-
> .../ABI/testing/debugfs-driver-habanalabs | 12 +-
> .../ABI/testing/debugfs-pfo-nx-crypto | 28 +--
> Documentation/ABI/testing/debugfs-pktcdvd | 2 +-
> .../ABI/testing/debugfs-turris-mox-rwtm | 10 +-
> Documentation/ABI/testing/debugfs-wilco-ec | 21 +-
> Documentation/ABI/testing/dell-smbios-wmi | 32 +--
> Documentation/ABI/testing/gpio-cdev | 13 +-
> Documentation/ABI/testing/procfs-diskstats | 6 +-
> Documentation/ABI/testing/procfs-smaps_rollup | 48 ++--
> Documentation/ABI/testing/pstore | 19 +-
> Documentation/ABI/testing/sysfs-block-rnbd | 4 +-
> Documentation/ABI/testing/sysfs-bus-acpi | 1 +
> .../testing/sysfs-bus-coresight-devices-etb10 | 5 +-
> Documentation/ABI/testing/sysfs-bus-css | 3 +
> Documentation/ABI/testing/sysfs-bus-dfl | 2 +
> .../sysfs-bus-event_source-devices-hv_24x7 | 6 +-
> .../sysfs-bus-event_source-devices-hv_gpci | 7 +-
> Documentation/ABI/testing/sysfs-bus-fcoe | 68 ++++--
> Documentation/ABI/testing/sysfs-bus-fsl-mc | 12 +-
> .../ABI/testing/sysfs-bus-i2c-devices-fsa9480 | 26 +-
> Documentation/ABI/testing/sysfs-bus-i3c | 2 +
> Documentation/ABI/testing/sysfs-bus-iio | 19 +-
> .../ABI/testing/sysfs-bus-iio-adc-hi8435 | 5 +
> .../ABI/testing/sysfs-bus-iio-adc-stm32 | 3 +
> .../ABI/testing/sysfs-bus-iio-distance-srf08 | 7 +-
> .../testing/sysfs-bus-iio-frequency-ad9523 | 2 +
> .../testing/sysfs-bus-iio-frequency-adf4371 | 10 +-
> .../ABI/testing/sysfs-bus-iio-health-afe440x | 12 +-
> .../ABI/testing/sysfs-bus-iio-light-isl29018 | 6 +-
> .../testing/sysfs-bus-intel_th-devices-gth | 11 +-
> Documentation/ABI/testing/sysfs-bus-papr-pmem | 23 +-
> Documentation/ABI/testing/sysfs-bus-pci | 22 +-
> .../ABI/testing/sysfs-bus-pci-devices-catpt | 1 +
> .../testing/sysfs-bus-pci-drivers-ehci_hcd | 4 +-
> Documentation/ABI/testing/sysfs-bus-rbd | 37 ++-
> Documentation/ABI/testing/sysfs-bus-siox | 3 +
> .../ABI/testing/sysfs-bus-thunderbolt | 18 +-
> Documentation/ABI/testing/sysfs-bus-usb | 2 +
> .../sysfs-class-backlight-driver-lm3533 | 26 +-
> Documentation/ABI/testing/sysfs-class-bdi | 1 -
> .../ABI/testing/sysfs-class-chromeos | 15 +-
> Documentation/ABI/testing/sysfs-class-cxl | 8 +-
> Documentation/ABI/testing/sysfs-class-devlink | 30 ++-
> Documentation/ABI/testing/sysfs-class-extcon | 34 +--
> .../ABI/testing/sysfs-class-fpga-manager | 5 +-
> Documentation/ABI/testing/sysfs-class-gnss | 2 +
> Documentation/ABI/testing/sysfs-class-led | 1 +
> .../testing/sysfs-class-led-driver-el15203000 | 30 +--
> .../ABI/testing/sysfs-class-led-driver-lm3533 | 44 ++--
> .../ABI/testing/sysfs-class-led-flash | 27 ++-
> .../testing/sysfs-class-led-trigger-netdev | 7 +
> .../testing/sysfs-class-led-trigger-usbport | 1 +
> .../ABI/testing/sysfs-class-leds-gt683r | 8 +-
> Documentation/ABI/testing/sysfs-class-net | 61 +++--
> .../ABI/testing/sysfs-class-net-cdc_ncm | 6 +-
> .../ABI/testing/sysfs-class-net-phydev | 2 +
> Documentation/ABI/testing/sysfs-class-pktcdvd | 36 +--
> Documentation/ABI/testing/sysfs-class-power | 12 +-
> .../ABI/testing/sysfs-class-power-mp2629 | 1 +
> .../ABI/testing/sysfs-class-power-twl4030 | 4 +-
> Documentation/ABI/testing/sysfs-class-rapidio | 46 ++--
> .../ABI/testing/sysfs-class-regulator | 36 +--
> .../ABI/testing/sysfs-class-remoteproc | 14 +-
> ...ysfs-class-rtc-rtc0-device-rtc_calibration | 1 +
> Documentation/ABI/testing/sysfs-class-uwb_rc | 13 +-
> .../ABI/testing/sysfs-class-watchdog | 7 +-
> Documentation/ABI/testing/sysfs-dev | 7 +-
> .../ABI/testing/sysfs-devices-mapping | 41 ++--
> .../ABI/testing/sysfs-devices-memory | 15 +-
> .../sysfs-devices-platform-_UDC_-gadget | 10 +-
> .../ABI/testing/sysfs-devices-platform-ipmi | 52 ++--
> .../ABI/testing/sysfs-devices-system-cpu | 4 +-
> .../ABI/testing/sysfs-driver-hid-lenovo | 10 +
> .../ABI/testing/sysfs-driver-hid-ntrig | 13 +-
> .../ABI/testing/sysfs-driver-hid-roccat-kone | 19 ++
> .../ABI/testing/sysfs-driver-hid-wiimote | 1 +
> .../ABI/testing/sysfs-driver-input-exc3000 | 2 +
> .../ABI/testing/sysfs-driver-jz4780-efuse | 6 +-
> .../ABI/testing/sysfs-driver-pciback | 6 +-
> Documentation/ABI/testing/sysfs-driver-ufs | 228 ++++++++++++++----
> .../ABI/testing/sysfs-driver-w1_ds28e17 | 3 +
> Documentation/ABI/testing/sysfs-firmware-acpi | 16 +-
> .../ABI/testing/sysfs-firmware-efi-esrt | 28 ++-
> .../testing/sysfs-firmware-efi-runtime-map | 14 +-
> .../ABI/testing/sysfs-firmware-qemu_fw_cfg | 20 +-
> Documentation/ABI/testing/sysfs-firmware-sfi | 6 +-
> .../ABI/testing/sysfs-firmware-sgi_uv | 6 +-
> Documentation/ABI/testing/sysfs-fs-f2fs | 48 ++--
> Documentation/ABI/testing/sysfs-kernel-mm-ksm | 5 +-
> Documentation/ABI/testing/sysfs-kernel-slab | 3 +
> Documentation/ABI/testing/sysfs-module | 17 +-
> .../ABI/testing/sysfs-platform-dell-laptop | 10 +-
> .../ABI/testing/sysfs-platform-dell-smbios | 4 +-
> .../testing/sysfs-platform-i2c-demux-pinctrl | 4 +-
> Documentation/ABI/testing/sysfs-platform-kim | 1 +
> .../testing/sysfs-platform-phy-rcar-gen3-usb2 | 10 +-
> .../ABI/testing/sysfs-platform-renesas_usb3 | 10 +-
> Documentation/ABI/testing/sysfs-power | 21 +-
> Documentation/ABI/testing/sysfs-profiling | 2 +-
> Documentation/ABI/testing/sysfs-wusb_cbaf | 3 +-
> Documentation/ABI/testing/usb-charger-uevent | 82 ++++---
> Documentation/ABI/testing/usb-uevent | 32 +--
> scripts/get_abi.pl | 2 -
> 126 files changed, 1323 insertions(+), 767 deletions(-)
>
^ permalink raw reply
* Re: [PATCH 30/33] docs: ABI: cleanup several ABI documents
From: Jinpu Wang @ 2020-10-30 7:52 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Andrew Lunn, Peter Chen, Linus Walleij, Jerry Snitselaar,
dri-devel, Pavel Machek, Christian Gromm, ceph-devel, Kan Liang,
Bart Van Assche, linux-acpi, Danil Kipnis, Samuel Thibault,
Guenter Roeck, Ohad Ben-Cohen, linux-pm, Simon Gaiser,
Avri Altman, Alexander Antonov, Dan Murphy, Thomas Gleixner,
Stefan Achatz, Konstantin Khlebnikov, Mathieu Malaterre,
Jingoo Han, Rafael J. Wysocki, linux-kernel, Greg Kroah-Hartman,
Hans Verkuil, Andrew Morton, Wu Hao, Peter Meerwald-Stadler,
Linux Doc Mailing List, Mimi Zohar, Srinivas Kandagatla,
Hanjun Guo, Oleh Kravchenko, Lars-Peter Clausen, Andy Shevchenko,
Saravana Kannan, Gregory CLEMENT, Anton Vorontsov,
Marek Marczykowski-Górecki, linux-stm32, Bartosz Golaszewski,
Len Brown, Alexandre Torgue, Michael Hennerich, Suzuki K Poulose,
coresight, linux-media, Frederic Barrat, Bjorn Helgaas,
Jaegeuk Kim, Boris Ostrovsky, Mika Westerberg, linux-arm-kernel,
Oded Gabbay, Tony Luck, Mathieu Poirier, Boris Brezillon,
PrasannaKumar Muralidharan, linux-gpio, Dongsheng Yang,
Roman Sudarikov, Jarkko Sakkinen, Maxime Coquelin, Vaibhav Jain,
Pali Rohár, Jonathan Cameron, Heiner Kallweit,
Gautham R. Shenoy, Cezary Rojewski, Mario Limonciello, linux-iio,
Tom Rix, linux-fpga, Rasmus Villemoes, Jonas Meurer,
Daniel Thompson, Florian Fainelli, Mark Gross, Jonathan Corbet,
Ilya Dryomov, Kees Cook, Mark Brown, Dan Williams,
Kranthi Kuntala, Martin K. Petersen, Dmitry Torokhov,
Sebastian Reichel, Colin Cross, Enric Balletbo i Serra,
David S. Miller, Roger Pau Monné, Peter Zijlstra (Intel),
linux-remoteproc, Bjorn Andersson, Paul Cercueil, linux-i3c,
linux-f2fs-devel, Lee Jones, Russell King, Marek Behún,
Pawan Gupta, Mike Leach, Andrew Donnellan, Kajol Jain, Chao Yu,
Johan Hovold, Madhavan Srinivasan, Andreas Klinger,
Josh Poimboeuf, David Sterba, Wim Van Sebroeck, Jens Axboe,
netdev, Asutosh Das, linuxppc-dev
In-Reply-To: <95ef2cf3a58f4e50f17d9e58e0d9440ad14d0427.1603893146.git.mchehab+huawei@kernel.org>
On Wed, Oct 28, 2020 at 3:23 PM Mauro Carvalho Chehab
<mchehab+huawei@kernel.org> wrote:
>
> There are some ABI documents that, while they don't generate
> any warnings, they have issues when parsed by get_abi.pl script
> on its output result.
>
> Address them, in order to provide a clean output.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
> Documentation/ABI/obsolete/sysfs-class-dax | 8 +-
> .../ABI/obsolete/sysfs-driver-hid-roccat-pyra | 3 +
> Documentation/ABI/removed/devfs | 1 +
> Documentation/ABI/removed/raw1394 | 1 +
> Documentation/ABI/removed/sysfs-class-rfkill | 2 +-
> Documentation/ABI/removed/video1394 | 1 +
> Documentation/ABI/stable/firewire-cdev | 63 ++---
> Documentation/ABI/stable/sysfs-acpi-pmprofile | 4 +-
> Documentation/ABI/stable/sysfs-bus-w1 | 1 +
> Documentation/ABI/stable/sysfs-class-tpm | 4 +-
> Documentation/ABI/stable/sysfs-driver-speakup | 4 +
> Documentation/ABI/testing/configfs-most | 135 +++++++----
> .../ABI/testing/configfs-usb-gadget-ecm | 12 +-
> .../ABI/testing/configfs-usb-gadget-eem | 10 +-
> .../ABI/testing/configfs-usb-gadget-loopback | 6 +-
> .../testing/configfs-usb-gadget-mass-storage | 18 +-
> .../ABI/testing/configfs-usb-gadget-midi | 14 +-
> .../ABI/testing/configfs-usb-gadget-printer | 6 +-
> .../testing/configfs-usb-gadget-sourcesink | 18 +-
> .../ABI/testing/configfs-usb-gadget-subset | 10 +-
> .../ABI/testing/configfs-usb-gadget-uac2 | 14 +-
> .../ABI/testing/configfs-usb-gadget-uvc | 2 +-
> .../ABI/testing/debugfs-cec-error-inj | 2 +-
> .../ABI/testing/debugfs-driver-habanalabs | 12 +-
> .../ABI/testing/debugfs-pfo-nx-crypto | 28 +--
> Documentation/ABI/testing/debugfs-pktcdvd | 2 +-
> .../ABI/testing/debugfs-turris-mox-rwtm | 10 +-
> Documentation/ABI/testing/debugfs-wilco-ec | 21 +-
> Documentation/ABI/testing/dell-smbios-wmi | 32 +--
> Documentation/ABI/testing/gpio-cdev | 13 +-
> Documentation/ABI/testing/procfs-diskstats | 6 +-
> Documentation/ABI/testing/procfs-smaps_rollup | 48 ++--
> Documentation/ABI/testing/pstore | 19 +-
> Documentation/ABI/testing/sysfs-block-rnbd | 4 +-
For rnbd change looks good to me, thanks!
Acked-by: Jack Wang <jinpu.wang@cloud.ionos.com> #rnbd
> index 171127294674..0b4ab9e4b8f4 100644
> --- a/Documentation/ABI/testing/sysfs-bus-thunderbolt
> +++ b/Documentation/ABI/testing/sysfs-bus-thunderbolt
> @@ -193,10 +193,11 @@ Description: When new NVM image is written to the non-active NVM
> verification fails an error code is returned instead.
>
> This file will accept writing values "1" or "2"
> +
> - Writing "1" will flush the image to the storage
> - area and authenticate the image in one action.
> + area and authenticate the image in one action.
> - Writing "2" will run some basic validation on the image
> - and flush it to the storage area.
> + and flush it to the storage area.
>
> When read holds status of the last authentication
> operation if an error occurred during the process. This
> @@ -213,9 +214,11 @@ Description: This contains name of the property directory the XDomain
> question. Following directories are already reserved by
> the Apple XDomain specification:
>
> - network: IP/ethernet over Thunderbolt
> - targetdm: Target disk mode protocol over Thunderbolt
> - extdisp: External display mode protocol over Thunderbolt
> + ======== ===============================================
> + network IP/ethernet over Thunderbolt
> + targetdm Target disk mode protocol over Thunderbolt
> + extdisp External display mode protocol over Thunderbolt
> + ======== ===============================================
>
> What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
> Date: Jan 2018
> @@ -293,7 +296,8 @@ Description: For supported devices, automatically authenticate the new Thunderbo
> image when the device is disconnected from the host system.
>
> This file will accept writing values "1" or "2"
> +
> - Writing "1" will flush the image to the storage
> - area and prepare the device for authentication on disconnect.
> + area and prepare the device for authentication on disconnect.
> - Writing "2" will run some basic validation on the image
> - and flush it to the storage area.
> + and flush it to the storage area.
> diff --git a/Documentation/ABI/testing/sysfs-bus-usb b/Documentation/ABI/testing/sysfs-bus-usb
> index e449b8374f6a..bf2c1968525f 100644
> --- a/Documentation/ABI/testing/sysfs-bus-usb
> +++ b/Documentation/ABI/testing/sysfs-bus-usb
> @@ -9,6 +9,7 @@ Description:
> by writing INTERFACE to /sys/bus/usb/drivers_probe
> This allows to avoid side-effects with drivers
> that need multiple interfaces.
> +
> A deauthorized interface cannot be probed or claimed.
>
> What: /sys/bus/usb/devices/usbX/interface_authorized_default
> @@ -216,6 +217,7 @@ Description:
> - Bit 0 of this field selects the "old" enumeration scheme,
> as it is considerably faster (it only causes one USB reset
> instead of 2).
> +
> The old enumeration scheme can also be selected globally
> using /sys/module/usbcore/parameters/old_scheme_first, but
> it is often not desirable as the new scheme was introduced to
> diff --git a/Documentation/ABI/testing/sysfs-class-backlight-driver-lm3533 b/Documentation/ABI/testing/sysfs-class-backlight-driver-lm3533
> index c0e0a9ae7b3d..8251e78abc49 100644
> --- a/Documentation/ABI/testing/sysfs-class-backlight-driver-lm3533
> +++ b/Documentation/ABI/testing/sysfs-class-backlight-driver-lm3533
> @@ -6,8 +6,10 @@ Description:
> Get the ALS output channel used as input in
> ALS-current-control mode (0, 1), where:
>
> - 0 - out_current0 (backlight 0)
> - 1 - out_current1 (backlight 1)
> + == ==========================
> + 0 out_current0 (backlight 0)
> + 1 out_current1 (backlight 1)
> + == ==========================
>
> What: /sys/class/backlight/<backlight>/als_en
> Date: May 2012
> @@ -30,8 +32,10 @@ Contact: Johan Hovold <jhovold@gmail.com>
> Description:
> Set the brightness-mapping mode (0, 1), where:
>
> - 0 - exponential mode
> - 1 - linear mode
> + == ================
> + 0 exponential mode
> + 1 linear mode
> + == ================
>
> What: /sys/class/backlight/<backlight>/pwm
> Date: April 2012
> @@ -40,9 +44,11 @@ Contact: Johan Hovold <jhovold@gmail.com>
> Description:
> Set the PWM-input control mask (5 bits), where:
>
> - bit 5 - PWM-input enabled in Zone 4
> - bit 4 - PWM-input enabled in Zone 3
> - bit 3 - PWM-input enabled in Zone 2
> - bit 2 - PWM-input enabled in Zone 1
> - bit 1 - PWM-input enabled in Zone 0
> - bit 0 - PWM-input enabled
> + ===== ===========================
> + bit 5 PWM-input enabled in Zone 4
> + bit 4 PWM-input enabled in Zone 3
> + bit 3 PWM-input enabled in Zone 2
> + bit 2 PWM-input enabled in Zone 1
> + bit 1 PWM-input enabled in Zone 0
> + bit 0 PWM-input enabled
> + ===== ===========================
> diff --git a/Documentation/ABI/testing/sysfs-class-bdi b/Documentation/ABI/testing/sysfs-class-bdi
> index d773d5697cf5..5402bd74ba43 100644
> --- a/Documentation/ABI/testing/sysfs-class-bdi
> +++ b/Documentation/ABI/testing/sysfs-class-bdi
> @@ -24,7 +24,6 @@ default
> filesystems which do not provide their own BDI.
>
> Files under /sys/class/bdi/<bdi>/
> ----------------------------------
>
> read_ahead_kb (read-write)
>
> diff --git a/Documentation/ABI/testing/sysfs-class-chromeos b/Documentation/ABI/testing/sysfs-class-chromeos
> index 5819699d66ec..74ece942722e 100644
> --- a/Documentation/ABI/testing/sysfs-class-chromeos
> +++ b/Documentation/ABI/testing/sysfs-class-chromeos
> @@ -17,13 +17,14 @@ Date: August 2015
> KernelVersion: 4.2
> Description:
> Tell the EC to reboot in various ways. Options are:
> - "cancel": Cancel a pending reboot.
> - "ro": Jump to RO without rebooting.
> - "rw": Jump to RW without rebooting.
> - "cold": Cold reboot.
> - "disable-jump": Disable jump until next reboot.
> - "hibernate": Hibernate the EC.
> - "at-shutdown": Reboot after an AP shutdown.
> +
> + - "cancel": Cancel a pending reboot.
> + - "ro": Jump to RO without rebooting.
> + - "rw": Jump to RW without rebooting.
> + - "cold": Cold reboot.
> + - "disable-jump": Disable jump until next reboot.
> + - "hibernate": Hibernate the EC.
> + - "at-shutdown": Reboot after an AP shutdown.
>
> What: /sys/class/chromeos/<ec-device-name>/version
> Date: August 2015
> diff --git a/Documentation/ABI/testing/sysfs-class-cxl b/Documentation/ABI/testing/sysfs-class-cxl
> index a6f51a104c44..818f55970efb 100644
> --- a/Documentation/ABI/testing/sysfs-class-cxl
> +++ b/Documentation/ABI/testing/sysfs-class-cxl
> @@ -217,6 +217,7 @@ Description: read/write
> card. A power cycle is required to load the image.
> "none" could be useful for debugging because the trace arrays
> are preserved.
> +
> "user" and "factory" means PERST will cause either the user or
> user or factory image to be loaded.
> Default is to reload on PERST whichever image the card has
> @@ -240,8 +241,11 @@ Contact: linuxppc-dev@lists.ozlabs.org
> Description: read/write
> Trust that when an image is reloaded via PERST, it will not
> have changed.
> - 0 = don't trust, the image may be different (default)
> - 1 = trust that the image will not change.
> +
> + == =================================================
> + 0 don't trust, the image may be different (default)
> + 1 trust that the image will not change.
> + == =================================================
> Users: https://github.com/ibm-capi/libcxl
>
> What: /sys/class/cxl/<card>/psl_timebase_synced
> diff --git a/Documentation/ABI/testing/sysfs-class-devlink b/Documentation/ABI/testing/sysfs-class-devlink
> index 64791b65c9a3..b662f747c83e 100644
> --- a/Documentation/ABI/testing/sysfs-class-devlink
> +++ b/Documentation/ABI/testing/sysfs-class-devlink
> @@ -18,9 +18,9 @@ Description:
>
> This will be one of the following strings:
>
> - 'consumer unbind'
> - 'supplier unbind'
> - 'never'
> + - 'consumer unbind'
> + - 'supplier unbind'
> + - 'never'
>
> 'consumer unbind' means the device link will be removed when
> the consumer's driver is unbound from the consumer device.
> @@ -49,8 +49,10 @@ Description:
>
> This will be one of the following strings:
>
> - '0' - Does not affect runtime power management
> - '1' - Affects runtime power management
> + === ========================================
> + '0' Does not affect runtime power management
> + '1' Affects runtime power management
> + === ========================================
>
> What: /sys/class/devlink/.../status
> Date: May 2020
> @@ -68,13 +70,13 @@ Description:
>
> This will be one of the following strings:
>
> - 'not tracked'
> - 'dormant'
> - 'available'
> - 'consumer probing'
> - 'active'
> - 'supplier unbinding'
> - 'unknown'
> + - 'not tracked'
> + - 'dormant'
> + - 'available'
> + - 'consumer probing'
> + - 'active'
> + - 'supplier unbinding'
> + - 'unknown'
>
> 'not tracked' means this device link does not track the status
> and has no impact on the binding, unbinding and syncing the
> @@ -114,8 +116,10 @@ Description:
>
> This will be one of the following strings:
>
> + === ================================
> '0'
> - '1' - Affects runtime power management
> + '1' Affects runtime power management
> + === ================================
>
> '0' means the device link can affect other device behaviors
> like binding/unbinding, suspend/resume, runtime power
> diff --git a/Documentation/ABI/testing/sysfs-class-extcon b/Documentation/ABI/testing/sysfs-class-extcon
> index 57a726232912..fde0fecd5de9 100644
> --- a/Documentation/ABI/testing/sysfs-class-extcon
> +++ b/Documentation/ABI/testing/sysfs-class-extcon
> @@ -39,19 +39,22 @@ Description:
> callback.
>
> If the default callback for showing function is used, the
> - format is like this:
> - # cat state
> - USB_OTG=1
> - HDMI=0
> - TA=1
> - EAR_JACK=0
> - #
> + format is like this::
> +
> + # cat state
> + USB_OTG=1
> + HDMI=0
> + TA=1
> + EAR_JACK=0
> + #
> +
> In this example, the extcon device has USB_OTG and TA
> cables attached and HDMI and EAR_JACK cables detached.
>
> In order to update the state of an extcon device, enter a hex
> - state number starting with 0x:
> - # echo 0xHEX > state
> + state number starting with 0x::
> +
> + # echo 0xHEX > state
>
> This updates the whole state of the extcon device.
> Inputs of all the methods are required to meet the
> @@ -84,12 +87,13 @@ Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
> Description:
> Shows the relations of mutually exclusiveness. For example,
> if the mutually_exclusive array of extcon device is
> - {0x3, 0x5, 0xC, 0x0}, then the output is:
> - # ls mutually_exclusive/
> - 0x3
> - 0x5
> - 0xc
> - #
> + {0x3, 0x5, 0xC, 0x0}, then the output is::
> +
> + # ls mutually_exclusive/
> + 0x3
> + 0x5
> + 0xc
> + #
>
> Note that mutually_exclusive is a sub-directory of the extcon
> device and the file names under the mutually_exclusive
> diff --git a/Documentation/ABI/testing/sysfs-class-fpga-manager b/Documentation/ABI/testing/sysfs-class-fpga-manager
> index 5284fa33d4c5..d78689c357a5 100644
> --- a/Documentation/ABI/testing/sysfs-class-fpga-manager
> +++ b/Documentation/ABI/testing/sysfs-class-fpga-manager
> @@ -28,8 +28,7 @@ Description: Read fpga manager state as a string.
> * firmware request = firmware class request in progress
> * firmware request error = firmware request failed
> * write init = preparing FPGA for programming
> - * write init error = Error while preparing FPGA for
> - programming
> + * write init error = Error while preparing FPGA for programming
> * write = FPGA ready to receive image data
> * write error = Error while programming
> * write complete = Doing post programming steps
> @@ -47,7 +46,7 @@ Description: Read fpga manager status as a string.
> programming errors to userspace. This is a list of strings for
> the supported status.
>
> - * reconfig operation error - invalid operations detected by
> + * reconfig operation error - invalid operations detected by
> reconfiguration hardware.
> e.g. start reconfiguration
> with errors not cleared
> diff --git a/Documentation/ABI/testing/sysfs-class-gnss b/Documentation/ABI/testing/sysfs-class-gnss
> index 2467b6900eae..c8553d972edd 100644
> --- a/Documentation/ABI/testing/sysfs-class-gnss
> +++ b/Documentation/ABI/testing/sysfs-class-gnss
> @@ -6,9 +6,11 @@ Description:
> The GNSS receiver type. The currently identified types reflect
> the protocol(s) supported by the receiver:
>
> + ====== ===========
> "NMEA" NMEA 0183
> "SiRF" SiRF Binary
> "UBX" UBX
> + ====== ===========
>
> Note that also non-"NMEA" type receivers typically support a
> subset of NMEA 0183 with vendor extensions (e.g. to allow
> diff --git a/Documentation/ABI/testing/sysfs-class-led b/Documentation/ABI/testing/sysfs-class-led
> index 65e040978f73..0ed5c2629c6f 100644
> --- a/Documentation/ABI/testing/sysfs-class-led
> +++ b/Documentation/ABI/testing/sysfs-class-led
> @@ -47,6 +47,7 @@ Contact: Richard Purdie <rpurdie@rpsys.net>
> Description:
> Set the trigger for this LED. A trigger is a kernel based source
> of LED events.
> +
> You can change triggers in a similar manner to the way an IO
> scheduler is chosen. Trigger specific parameters can appear in
> /sys/class/leds/<led> once a given trigger is selected. For
> diff --git a/Documentation/ABI/testing/sysfs-class-led-driver-el15203000 b/Documentation/ABI/testing/sysfs-class-led-driver-el15203000
> index 69befe947d7e..da546e86deb5 100644
> --- a/Documentation/ABI/testing/sysfs-class-led-driver-el15203000
> +++ b/Documentation/ABI/testing/sysfs-class-led-driver-el15203000
> @@ -27,23 +27,23 @@ Description:
>
> ^
> |
> - 0 On -|----+ +----+ +---
> + 0 On -|----+ +----+ +---
> | | | | |
> Off-| +-------------------+ +-------------------+
> |
> - 1 On -| +----+ +----+
> + 1 On -| +----+ +----+
> | | | | |
> Off |----+ +-------------------+ +------------------
> |
> - 2 On -| +----+ +----+
> + 2 On -| +----+ +----+
> | | | | |
> Off-|---------+ +-------------------+ +-------------
> |
> - 3 On -| +----+ +----+
> + 3 On -| +----+ +----+
> | | | | |
> Off-|--------------+ +-------------------+ +--------
> |
> - 4 On -| +----+ +----+
> + 4 On -| +----+ +----+
> | | | | |
> Off-|-------------------+ +-------------------+ +---
> |
> @@ -55,23 +55,23 @@ Description:
>
> ^
> |
> - 0 On -| +-------------------+ +-------------------+
> + 0 On -| +-------------------+ +-------------------+
> | | | | |
> Off-|----+ +----+ +---
> |
> - 1 On -|----+ +-------------------+ +------------------
> + 1 On -|----+ +-------------------+ +------------------
> | | | | |
> Off | +----+ +----+
> |
> - 2 On -|---------+ +-------------------+ +-------------
> + 2 On -|---------+ +-------------------+ +-------------
> | | | | |
> Off-| +----+ +----+
> |
> - 3 On -|--------------+ +-------------------+ +--------
> + 3 On -|--------------+ +-------------------+ +--------
> | | | | |
> Off-| +----+ +----+
> |
> - 4 On -|-------------------+ +-------------------+ +---
> + 4 On -|-------------------+ +-------------------+ +---
> | | | | |
> Off-| +----+ +----+
> |
> @@ -83,23 +83,23 @@ Description:
>
> ^
> |
> - 0 On -|----+ +--------
> + 0 On -|----+ +--------
> | | |
> Off-| +---------------------------------------+
> |
> - 1 On -| +----+ +----+
> + 1 On -| +----+ +----+
> | | | | |
> Off |----+ +-----------------------------+ +--------
> |
> - 2 On -| +----+ +----+
> + 2 On -| +----+ +----+
> | | | | |
> Off-|---------+ +-------------------+ +-------------
> |
> - 3 On -| +----+ +----+
> + 3 On -| +----+ +----+
> | | | | |
> Off-|--------------+ +---------+ +------------------
> |
> - 4 On -| +---------+
> + 4 On -| +---------+
> | | |
> Off-|-------------------+ +-----------------------
> |
> diff --git a/Documentation/ABI/testing/sysfs-class-led-driver-lm3533 b/Documentation/ABI/testing/sysfs-class-led-driver-lm3533
> index e4c89b261546..e38a835d0a85 100644
> --- a/Documentation/ABI/testing/sysfs-class-led-driver-lm3533
> +++ b/Documentation/ABI/testing/sysfs-class-led-driver-lm3533
> @@ -6,8 +6,10 @@ Description:
> Set the ALS output channel to use as input in
> ALS-current-control mode (1, 2), where:
>
> - 1 - out_current1
> - 2 - out_current2
> + == ============
> + 1 out_current1
> + 2 out_current2
> + == ============
>
> What: /sys/class/leds/<led>/als_en
> Date: May 2012
> @@ -24,14 +26,16 @@ Contact: Johan Hovold <jhovold@gmail.com>
> Description:
> Set the pattern generator fall and rise times (0..7), where:
>
> - 0 - 2048 us
> - 1 - 262 ms
> - 2 - 524 ms
> - 3 - 1.049 s
> - 4 - 2.097 s
> - 5 - 4.194 s
> - 6 - 8.389 s
> - 7 - 16.78 s
> + == =======
> + 0 2048 us
> + 1 262 ms
> + 2 524 ms
> + 3 1.049 s
> + 4 2.097 s
> + 5 4.194 s
> + 6 8.389 s
> + 7 16.78 s
> + == =======
>
> What: /sys/class/leds/<led>/id
> Date: April 2012
> @@ -47,8 +51,10 @@ Contact: Johan Hovold <jhovold@gmail.com>
> Description:
> Set the brightness-mapping mode (0, 1), where:
>
> - 0 - exponential mode
> - 1 - linear mode
> + == ================
> + 0 exponential mode
> + 1 linear mode
> + == ================
>
> What: /sys/class/leds/<led>/pwm
> Date: April 2012
> @@ -57,9 +63,11 @@ Contact: Johan Hovold <jhovold@gmail.com>
> Description:
> Set the PWM-input control mask (5 bits), where:
>
> - bit 5 - PWM-input enabled in Zone 4
> - bit 4 - PWM-input enabled in Zone 3
> - bit 3 - PWM-input enabled in Zone 2
> - bit 2 - PWM-input enabled in Zone 1
> - bit 1 - PWM-input enabled in Zone 0
> - bit 0 - PWM-input enabled
> + ===== ===========================
> + bit 5 PWM-input enabled in Zone 4
> + bit 4 PWM-input enabled in Zone 3
> + bit 3 PWM-input enabled in Zone 2
> + bit 2 PWM-input enabled in Zone 1
> + bit 1 PWM-input enabled in Zone 0
> + bit 0 PWM-input enabled
> + ===== ===========================
> diff --git a/Documentation/ABI/testing/sysfs-class-led-flash b/Documentation/ABI/testing/sysfs-class-led-flash
> index 220a0270b47b..11e5677c3672 100644
> --- a/Documentation/ABI/testing/sysfs-class-led-flash
> +++ b/Documentation/ABI/testing/sysfs-class-led-flash
> @@ -55,26 +55,35 @@ Description: read only
> Flash faults are re-read after strobing the flash. Possible
> flash faults:
>
> - * led-over-voltage - flash controller voltage to the flash LED
> + * led-over-voltage
> + flash controller voltage to the flash LED
> has exceeded the limit specific to the flash controller
> - * flash-timeout-exceeded - the flash strobe was still on when
> + * flash-timeout-exceeded
> + the flash strobe was still on when
> the timeout set by the user has expired; not all flash
> controllers may set this in all such conditions
> - * controller-over-temperature - the flash controller has
> + * controller-over-temperature
> + the flash controller has
> overheated
> - * controller-short-circuit - the short circuit protection
> + * controller-short-circuit
> + the short circuit protection
> of the flash controller has been triggered
> - * led-power-supply-over-current - current in the LED power
> + * led-power-supply-over-current
> + current in the LED power
> supply has exceeded the limit specific to the flash
> controller
> - * indicator-led-fault - the flash controller has detected
> + * indicator-led-fault
> + the flash controller has detected
> a short or open circuit condition on the indicator LED
> - * led-under-voltage - flash controller voltage to the flash
> + * led-under-voltage
> + flash controller voltage to the flash
> LED has been below the minimum limit specific to
> the flash
> - * controller-under-voltage - the input voltage of the flash
> + * controller-under-voltage
> + the input voltage of the flash
> controller is below the limit under which strobing the
> flash at full current will not be possible;
> the condition persists until this flag is no longer set
> - * led-over-temperature - the temperature of the LED has exceeded
> + * led-over-temperature
> + the temperature of the LED has exceeded
> its allowed upper limit
> diff --git a/Documentation/ABI/testing/sysfs-class-led-trigger-netdev b/Documentation/ABI/testing/sysfs-class-led-trigger-netdev
> index 451af6d6768c..646540950e38 100644
> --- a/Documentation/ABI/testing/sysfs-class-led-trigger-netdev
> +++ b/Documentation/ABI/testing/sysfs-class-led-trigger-netdev
> @@ -19,18 +19,23 @@ KernelVersion: 4.16
> Contact: linux-leds@vger.kernel.org
> Description:
> Signal the link state of the named network device.
> +
> If set to 0 (default), the LED's normal state is off.
> +
> If set to 1, the LED's normal state reflects the link state
> of the named network device.
> Setting this value also immediately changes the LED state.
>
> +
> What: /sys/class/leds/<led>/tx
> Date: Dec 2017
> KernelVersion: 4.16
> Contact: linux-leds@vger.kernel.org
> Description:
> Signal transmission of data on the named network device.
> +
> If set to 0 (default), the LED will not blink on transmission.
> +
> If set to 1, the LED will blink for the milliseconds specified
> in interval to signal transmission.
>
> @@ -40,6 +45,8 @@ KernelVersion: 4.16
> Contact: linux-leds@vger.kernel.org
> Description:
> Signal reception of data on the named network device.
> +
> If set to 0 (default), the LED will not blink on reception.
> +
> If set to 1, the LED will blink for the milliseconds specified
> in interval to signal reception.
> diff --git a/Documentation/ABI/testing/sysfs-class-led-trigger-usbport b/Documentation/ABI/testing/sysfs-class-led-trigger-usbport
> index f440e690daef..eb81152b8348 100644
> --- a/Documentation/ABI/testing/sysfs-class-led-trigger-usbport
> +++ b/Documentation/ABI/testing/sysfs-class-led-trigger-usbport
> @@ -8,5 +8,6 @@ Description:
> selected for the USB port trigger. Selecting ports makes trigger
> observing them for any connected devices and lighting on LED if
> there are any.
> +
> Echoing "1" value selects USB port. Echoing "0" unselects it.
> Current state can be also read.
> diff --git a/Documentation/ABI/testing/sysfs-class-leds-gt683r b/Documentation/ABI/testing/sysfs-class-leds-gt683r
> index 6adab27f646e..b57ffb26e722 100644
> --- a/Documentation/ABI/testing/sysfs-class-leds-gt683r
> +++ b/Documentation/ABI/testing/sysfs-class-leds-gt683r
> @@ -7,9 +7,11 @@ Description:
> of one LED will update the mode of its two sibling devices as
> well. Possible values are:
>
> - 0 - normal
> - 1 - audio
> - 2 - breathing
> + == =========
> + 0 normal
> + 1 audio
> + 2 breathing
> + == =========
>
> Normal: LEDs are fully on when enabled
> Audio: LEDs brightness depends on sound level
> diff --git a/Documentation/ABI/testing/sysfs-class-net b/Documentation/ABI/testing/sysfs-class-net
> index 3b404577f380..7670012ae9b6 100644
> --- a/Documentation/ABI/testing/sysfs-class-net
> +++ b/Documentation/ABI/testing/sysfs-class-net
> @@ -4,10 +4,13 @@ KernelVersion: 3.17
> Contact: netdev@vger.kernel.org
> Description:
> Indicates the name assignment type. Possible values are:
> - 1: enumerated by the kernel, possibly in an unpredictable way
> - 2: predictably named by the kernel
> - 3: named by userspace
> - 4: renamed
> +
> + == ==========================================================
> + 1 enumerated by the kernel, possibly in an unpredictable way
> + 2 predictably named by the kernel
> + 3 named by userspace
> + 4 renamed
> + == ==========================================================
>
> What: /sys/class/net/<iface>/addr_assign_type
> Date: July 2010
> @@ -15,10 +18,13 @@ KernelVersion: 3.2
> Contact: netdev@vger.kernel.org
> Description:
> Indicates the address assignment type. Possible values are:
> - 0: permanent address
> - 1: randomly generated
> - 2: stolen from another device
> - 3: set using dev_set_mac_address
> +
> + == =============================
> + 0 permanent address
> + 1 randomly generated
> + 2 stolen from another device
> + 3 set using dev_set_mac_address
> + == =============================
>
> What: /sys/class/net/<iface>/addr_len
> Date: April 2005
> @@ -51,9 +57,12 @@ Description:
> Default value 0 does not forward any link local frames.
>
> Restricted bits:
> - 0: 01-80-C2-00-00-00 Bridge Group Address used for STP
> - 1: 01-80-C2-00-00-01 (MAC Control) 802.3 used for MAC PAUSE
> - 2: 01-80-C2-00-00-02 (Link Aggregation) 802.3ad
> +
> + == ========================================================
> + 0 01-80-C2-00-00-00 Bridge Group Address used for STP
> + 1 01-80-C2-00-00-01 (MAC Control) 802.3 used for MAC PAUSE
> + 2 01-80-C2-00-00-02 (Link Aggregation) 802.3ad
> + == ========================================================
>
> Any values not setting these bits can be used. Take special
> care when forwarding control frames e.g. 802.1X-PAE or LLDP.
> @@ -74,8 +83,11 @@ Contact: netdev@vger.kernel.org
> Description:
> Indicates the current physical link state of the interface.
> Posssible values are:
> - 0: physical link is down
> - 1: physical link is up
> +
> + == =====================
> + 0 physical link is down
> + 1 physical link is up
> + == =====================
>
> Note: some special devices, e.g: bonding and team drivers will
> allow this attribute to be written to force a link state for
> @@ -131,8 +143,11 @@ Contact: netdev@vger.kernel.org
> Description:
> Indicates whether the interface is under test. Possible
> values are:
> - 0: interface is not being tested
> - 1: interface is being tested
> +
> + == =============================
> + 0 interface is not being tested
> + 1 interface is being tested
> + == =============================
>
> When an interface is under test, it cannot be expected
> to pass packets as normal.
> @@ -144,8 +159,11 @@ Contact: netdev@vger.kernel.org
> Description:
> Indicates the interface latest or current duplex value. Possible
> values are:
> - half: half duplex
> - full: full duplex
> +
> + ==== ===========
> + half half duplex
> + full full duplex
> + ==== ===========
>
> Note: This attribute is only valid for interfaces that implement
> the ethtool get_link_ksettings method (mostly Ethernet).
> @@ -196,8 +214,11 @@ Description:
> Indicates the interface link mode, as a decimal number. This
> attribute should be used in conjunction with 'dormant' attribute
> to determine the interface usability. Possible values:
> - 0: default link mode
> - 1: dormant link mode
> +
> + == =================
> + 0 default link mode
> + 1 dormant link mode
> + == =================
>
> What: /sys/class/net/<iface>/mtu
> Date: April 2005
> @@ -226,7 +247,9 @@ KernelVersion: 2.6.17
> Contact: netdev@vger.kernel.org
> Description:
> Indicates the interface RFC2863 operational state as a string.
> +
> Possible values are:
> +
> "unknown", "notpresent", "down", "lowerlayerdown", "testing",
> "dormant", "up".
>
> diff --git a/Documentation/ABI/testing/sysfs-class-net-cdc_ncm b/Documentation/ABI/testing/sysfs-class-net-cdc_ncm
> index f7be0e88b139..06416d0e163d 100644
> --- a/Documentation/ABI/testing/sysfs-class-net-cdc_ncm
> +++ b/Documentation/ABI/testing/sysfs-class-net-cdc_ncm
> @@ -91,9 +91,9 @@ Date: May 2014
> KernelVersion: 3.16
> Contact: Bjørn Mork <bjorn@mork.no>
> Description:
> - Bit 0: 16-bit NTB supported (set to 1)
> - Bit 1: 32-bit NTB supported
> - Bits 2 – 15: reserved (reset to zero; must be ignored by host)
> + - Bit 0: 16-bit NTB supported (set to 1)
> + - Bit 1: 32-bit NTB supported
> + - Bits 2 – 15: reserved (reset to zero; must be ignored by host)
>
> What: /sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize
> Date: May 2014
> diff --git a/Documentation/ABI/testing/sysfs-class-net-phydev b/Documentation/ABI/testing/sysfs-class-net-phydev
> index 206cbf538b59..40ced0ea4316 100644
> --- a/Documentation/ABI/testing/sysfs-class-net-phydev
> +++ b/Documentation/ABI/testing/sysfs-class-net-phydev
> @@ -35,7 +35,9 @@ Description:
> Ethernet driver during bus enumeration, encoded in string.
> This interface mode is used to configure the Ethernet MAC with the
> appropriate mode for its data lines to the PHY hardware.
> +
> Possible values are:
> +
> <empty> (not available), mii, gmii, sgmii, tbi, rev-mii,
> rmii, rgmii, rgmii-id, rgmii-rxid, rgmii-txid, rtbi, smii
> xgmii, moca, qsgmii, trgmii, 1000base-x, 2500base-x, rxaui,
> diff --git a/Documentation/ABI/testing/sysfs-class-pktcdvd b/Documentation/ABI/testing/sysfs-class-pktcdvd
> index dde4f26d0780..ba1ce626591d 100644
> --- a/Documentation/ABI/testing/sysfs-class-pktcdvd
> +++ b/Documentation/ABI/testing/sysfs-class-pktcdvd
> @@ -11,15 +11,17 @@ KernelVersion: 2.6.20
> Contact: Thomas Maier <balagi@justmail.de>
> Description:
>
> - add: (WO) Write a block device id (major:minor) to
> + ========== ==============================================
> + add (WO) Write a block device id (major:minor) to
> create a new pktcdvd device and map it to the
> block device.
>
> - remove: (WO) Write the pktcdvd device id (major:minor)
> + remove (WO) Write the pktcdvd device id (major:minor)
> to remove the pktcdvd device.
>
> - device_map: (RO) Shows the device mapping in format:
> + device_map (RO) Shows the device mapping in format:
> pktcdvd[0-7] <pktdevid> <blkdevid>
> + ========== ==============================================
>
>
> What: /sys/class/pktcdvd/pktcdvd[0-7]/dev
> @@ -65,29 +67,31 @@ Date: Oct. 2006
> KernelVersion: 2.6.20
> Contact: Thomas Maier <balagi@justmail.de>
> Description:
> - size: (RO) Contains the size of the bio write queue.
> + ============== ================================================
> + size (RO) Contains the size of the bio write queue.
>
> - congestion_off: (RW) If bio write queue size is below this mark,
> + congestion_off (RW) If bio write queue size is below this mark,
> accept new bio requests from the block layer.
>
> - congestion_on: (RW) If bio write queue size is higher as this
> + congestion_on (RW) If bio write queue size is higher as this
> mark, do no longer accept bio write requests
> from the block layer and wait till the pktcdvd
> device has processed enough bio's so that bio
> write queue size is below congestion off mark.
> A value of <= 0 disables congestion control.
> + ============== ================================================
>
>
> Example:
> --------
> -To use the pktcdvd sysfs interface directly, you can do:
> +To use the pktcdvd sysfs interface directly, you can do::
>
> -# create a new pktcdvd device mapped to /dev/hdc
> -echo "22:0" >/sys/class/pktcdvd/add
> -cat /sys/class/pktcdvd/device_map
> -# assuming device pktcdvd0 was created, look at stat's
> -cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written
> -# print the device id of the mapped block device
> -fgrep pktcdvd0 /sys/class/pktcdvd/device_map
> -# remove device, using pktcdvd0 device id 253:0
> -echo "253:0" >/sys/class/pktcdvd/remove
> + # create a new pktcdvd device mapped to /dev/hdc
> + echo "22:0" >/sys/class/pktcdvd/add
> + cat /sys/class/pktcdvd/device_map
> + # assuming device pktcdvd0 was created, look at stat's
> + cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written
> + # print the device id of the mapped block device
> + fgrep pktcdvd0 /sys/class/pktcdvd/device_map
> + # remove device, using pktcdvd0 device id 253:0
> + echo "253:0" >/sys/class/pktcdvd/remove
> diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power
> index d4319a04c302..d68ad528a8e5 100644
> --- a/Documentation/ABI/testing/sysfs-class-power
> +++ b/Documentation/ABI/testing/sysfs-class-power
> @@ -43,7 +43,9 @@ Date: May 2007
> Contact: linux-pm@vger.kernel.org
> Description:
> Fine grain representation of battery capacity.
> +
> Access: Read
> +
> Valid values: 0 - 100 (percent)
>
> What: /sys/class/power_supply/<supply_name>/capacity_alert_max
> @@ -58,6 +60,7 @@ Description:
> low).
>
> Access: Read, Write
> +
> Valid values: 0 - 100 (percent)
>
> What: /sys/class/power_supply/<supply_name>/capacity_alert_min
> @@ -88,6 +91,7 @@ Description:
> completely useless.
>
> Access: Read
> +
> Valid values: 0 - 100 (percent)
>
> What: /sys/class/power_supply/<supply_name>/capacity_level
> @@ -111,6 +115,7 @@ Description:
> which they average readings to smooth out the reported value.
>
> Access: Read
> +
> Valid values: Represented in microamps. Negative values are used
> for discharging batteries, positive values for charging batteries.
>
> @@ -131,6 +136,7 @@ Description:
> This value is not averaged/smoothed.
>
> Access: Read
> +
> Valid values: Represented in microamps. Negative values are used
> for discharging batteries, positive values for charging batteries.
>
> @@ -383,7 +389,7 @@ Description:
>
> **USB Properties**
>
> -What: /sys/class/power_supply/<supply_name>/current_avg
> +What: /sys/class/power_supply/<supply_name>/current_avg
> Date: May 2007
> Contact: linux-pm@vger.kernel.org
> Description:
> @@ -449,6 +455,7 @@ Description:
> solved using power limit use input_voltage_limit.
>
> Access: Read, Write
> +
> Valid values: Represented in microvolts
>
> What: /sys/class/power_supply/<supply_name>/input_power_limit
> @@ -462,6 +469,7 @@ Description:
> limit only for problems that can be solved using power limit.
>
> Access: Read, Write
> +
> Valid values: Represented in microwatts
>
> What: /sys/class/power_supply/<supply_name>/online,
> @@ -747,6 +755,7 @@ Description:
> manufactured.
>
> Access: Read
> +
> Valid values: Reported as integer
>
> What: /sys/class/power_supply/<supply_name>/manufacture_month
> @@ -756,6 +765,7 @@ Description:
> Reports the month when the device has been manufactured.
>
> Access: Read
> +
> Valid values: 1-12
>
> What: /sys/class/power_supply/<supply_name>/manufacture_day
> diff --git a/Documentation/ABI/testing/sysfs-class-power-mp2629 b/Documentation/ABI/testing/sysfs-class-power-mp2629
> index 327a07e22805..914d67caac0d 100644
> --- a/Documentation/ABI/testing/sysfs-class-power-mp2629
> +++ b/Documentation/ABI/testing/sysfs-class-power-mp2629
> @@ -5,4 +5,5 @@ Description:
> Represents a battery impedance compensation to accelerate charging.
>
> Access: Read, Write
> +
> Valid values: Represented in milli-ohms. Valid range is [0, 140].
> diff --git a/Documentation/ABI/testing/sysfs-class-power-twl4030 b/Documentation/ABI/testing/sysfs-class-power-twl4030
> index 7ac36dba87bc..b52f7023f8ba 100644
> --- a/Documentation/ABI/testing/sysfs-class-power-twl4030
> +++ b/Documentation/ABI/testing/sysfs-class-power-twl4030
> @@ -6,9 +6,9 @@ Description:
> Possible values are:
>
> ============= ===========================================
> - "auto" draw power as appropriate for detected
> + "auto" draw power as appropriate for detected
> power source and battery status.
> - "off" do not draw any power.
> + "off" do not draw any power.
> "continuous" activate mode described as "linear" in
> TWL data sheets. This uses whatever
> current is available and doesn't switch off
> diff --git a/Documentation/ABI/testing/sysfs-class-rapidio b/Documentation/ABI/testing/sysfs-class-rapidio
> index 8716beeb16c1..19aefb21b639 100644
> --- a/Documentation/ABI/testing/sysfs-class-rapidio
> +++ b/Documentation/ABI/testing/sysfs-class-rapidio
> @@ -6,6 +6,7 @@ Description:
> The /sys/class/rapidio_port subdirectory contains individual
> subdirectories named as "rapidioN" where N = mport ID registered
> with RapidIO subsystem.
> +
> NOTE: An mport ID is not a RapidIO destination ID assigned to a
> given local mport device.
>
> @@ -16,7 +17,9 @@ Contact: Matt Porter <mporter@kernel.crashing.org>,
> Alexandre Bounine <alexandre.bounine@idt.com>
> Description:
> (RO) reports RapidIO common transport system size:
> +
> 0 = small (8-bit destination ID, max. 256 devices),
> +
> 1 = large (16-bit destination ID, max. 65536 devices).
>
> What: /sys/class/rapidio_port/rapidioN/port_destid
> @@ -25,31 +28,32 @@ KernelVersion: v3.15
> Contact: Matt Porter <mporter@kernel.crashing.org>,
> Alexandre Bounine <alexandre.bounine@idt.com>
> Description:
> - (RO) reports RapidIO destination ID assigned to the given
> - RapidIO mport device. If value 0xFFFFFFFF is returned this means
> - that no valid destination ID have been assigned to the mport
> - (yet). Normally, before enumeration/discovery have been executed
> - only fabric enumerating mports have a valid destination ID
> - assigned to them using "hdid=..." rapidio module parameter.
> +
> +(RO) reports RapidIO destination ID assigned to the given
> +RapidIO mport device. If value 0xFFFFFFFF is returned this means
> +that no valid destination ID have been assigned to the mport
> +(yet). Normally, before enumeration/discovery have been executed
> +only fabric enumerating mports have a valid destination ID
> +assigned to them using "hdid=..." rapidio module parameter.
>
> After enumeration or discovery was performed for a given mport device,
> the corresponding subdirectory will also contain subdirectories for each
> child RapidIO device connected to the mport.
>
> The example below shows mport device subdirectory with several child RapidIO
> -devices attached to it.
> +devices attached to it::
>
> -[rio@rapidio ~]$ ls /sys/class/rapidio_port/rapidio0/ -l
> -total 0
> -drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0001
> -drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0004
> -drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0007
> -drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0002
> -drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0003
> -drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0005
> -lrwxrwxrwx 1 root root 0 Feb 11 15:11 device -> ../../../0000:01:00.0
> --r--r--r-- 1 root root 4096 Feb 11 15:11 port_destid
> -drwxr-xr-x 2 root root 0 Feb 11 15:11 power
> -lrwxrwxrwx 1 root root 0 Feb 11 15:04 subsystem -> ../../../../../../class/rapidio_port
> --r--r--r-- 1 root root 4096 Feb 11 15:11 sys_size
> --rw-r--r-- 1 root root 4096 Feb 11 15:04 uevent
> + [rio@rapidio ~]$ ls /sys/class/rapidio_port/rapidio0/ -l
> + total 0
> + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0001
> + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0004
> + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0007
> + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0002
> + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0003
> + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0005
> + lrwxrwxrwx 1 root root 0 Feb 11 15:11 device -> ../../../0000:01:00.0
> + -r--r--r-- 1 root root 4096 Feb 11 15:11 port_destid
> + drwxr-xr-x 2 root root 0 Feb 11 15:11 power
> + lrwxrwxrwx 1 root root 0 Feb 11 15:04 subsystem -> ../../../../../../class/rapidio_port
> + -r--r--r-- 1 root root 4096 Feb 11 15:11 sys_size
> + -rw-r--r-- 1 root root 4096 Feb 11 15:04 uevent
> diff --git a/Documentation/ABI/testing/sysfs-class-regulator b/Documentation/ABI/testing/sysfs-class-regulator
> index bc578bc60628..8516f08806dd 100644
> --- a/Documentation/ABI/testing/sysfs-class-regulator
> +++ b/Documentation/ABI/testing/sysfs-class-regulator
> @@ -35,13 +35,13 @@ Description:
>
> This will be one of the following strings:
>
> - off
> - on
> - error
> - fast
> - normal
> - idle
> - standby
> + - off
> + - on
> + - error
> + - fast
> + - normal
> + - idle
> + - standby
>
> "off" means the regulator is not supplying power to the
> system.
> @@ -74,9 +74,9 @@ Description:
>
> This will be one of the following strings:
>
> - 'voltage'
> - 'current'
> - 'unknown'
> + - 'voltage'
> + - 'current'
> + - 'unknown'
>
> 'voltage' means the regulator output voltage can be controlled
> by software.
> @@ -129,11 +129,11 @@ Description:
>
> The opmode value can be one of the following strings:
>
> - 'fast'
> - 'normal'
> - 'idle'
> - 'standby'
> - 'unknown'
> + - 'fast'
> + - 'normal'
> + - 'idle'
> + - 'standby'
> + - 'unknown'
>
> The modes are described in include/linux/regulator/consumer.h
>
> @@ -360,9 +360,9 @@ Description:
>
> This will be one of the following strings:
>
> - 'enabled'
> - 'disabled'
> - 'unknown'
> + - 'enabled'
> + - 'disabled'
> + - 'unknown'
>
> 'enabled' means the regulator is in bypass mode.
>
> diff --git a/Documentation/ABI/testing/sysfs-class-remoteproc b/Documentation/ABI/testing/sysfs-class-remoteproc
> index 066b9b6f4924..0c9ee55098b8 100644
> --- a/Documentation/ABI/testing/sysfs-class-remoteproc
> +++ b/Documentation/ABI/testing/sysfs-class-remoteproc
> @@ -16,11 +16,11 @@ Description: Remote processor state
>
> Reports the state of the remote processor, which will be one of:
>
> - "offline"
> - "suspended"
> - "running"
> - "crashed"
> - "invalid"
> + - "offline"
> + - "suspended"
> + - "running"
> + - "crashed"
> + - "invalid"
>
> "offline" means the remote processor is powered off.
>
> @@ -38,8 +38,8 @@ Description: Remote processor state
> Writing this file controls the state of the remote processor.
> The following states can be written:
>
> - "start"
> - "stop"
> + - "start"
> + - "stop"
>
> Writing "start" will attempt to start the processor running the
> firmware indicated by, or written to,
> diff --git a/Documentation/ABI/testing/sysfs-class-rtc-rtc0-device-rtc_calibration b/Documentation/ABI/testing/sysfs-class-rtc-rtc0-device-rtc_calibration
> index ec950c93e5c6..ee8ed6494a01 100644
> --- a/Documentation/ABI/testing/sysfs-class-rtc-rtc0-device-rtc_calibration
> +++ b/Documentation/ABI/testing/sysfs-class-rtc-rtc0-device-rtc_calibration
> @@ -7,6 +7,7 @@ Description: Attribute for calibrating ST-Ericsson AB8500 Real Time Clock
> calibrate the AB8500.s 32KHz Real Time Clock.
> Every 60 seconds the AB8500 will correct the RTC's value
> by adding to it the value of this attribute.
> +
> The range of the attribute is -127 to +127 in units of
> 30.5 micro-seconds (half-parts-per-million of the 32KHz clock)
> Users: The /vendor/st-ericsson/base_utilities/core/rtc_calibration
> diff --git a/Documentation/ABI/testing/sysfs-class-uwb_rc b/Documentation/ABI/testing/sysfs-class-uwb_rc
> index a0578751c1e3..6c5dcad21e19 100644
> --- a/Documentation/ABI/testing/sysfs-class-uwb_rc
> +++ b/Documentation/ABI/testing/sysfs-class-uwb_rc
> @@ -66,11 +66,14 @@ Description:
> <channel> <type> [<bpst offset>]
>
> to start (or stop) scanning on a channel. <type> is one of:
> - 0 - scan
> - 1 - scan outside BP
> - 2 - scan while inactive
> - 3 - scanning disabled
> - 4 - scan (with start time of <bpst offset>)
> +
> + == =======================================
> + 0 scan
> + 1 scan outside BP
> + 2 scan while inactive
> + 3 scanning disabled
> + 4 scan (with start time of <bpst offset>)
> + == =======================================
>
> What: /sys/class/uwb_rc/uwbN/mac_address
> Date: July 2008
> diff --git a/Documentation/ABI/testing/sysfs-class-watchdog b/Documentation/ABI/testing/sysfs-class-watchdog
> index 9860a8b2ba75..585caecda3a5 100644
> --- a/Documentation/ABI/testing/sysfs-class-watchdog
> +++ b/Documentation/ABI/testing/sysfs-class-watchdog
> @@ -91,10 +91,13 @@ Description:
> h/w strapping (for WDT2 only).
>
> At alternate flash the 'access_cs0' sysfs node provides:
> - ast2400: a way to get access to the primary SPI flash
> +
> + ast2400:
> + a way to get access to the primary SPI flash
> chip at CS0 after booting from the alternate
> chip at CS1.
> - ast2500: a way to restore the normal address mapping
> + ast2500:
> + a way to restore the normal address mapping
> from (CS0->CS1, CS1->CS0) to (CS0->CS0,
> CS1->CS1).
>
> diff --git a/Documentation/ABI/testing/sysfs-dev b/Documentation/ABI/testing/sysfs-dev
> index a9f2b8b0530f..d1739063e762 100644
> --- a/Documentation/ABI/testing/sysfs-dev
> +++ b/Documentation/ABI/testing/sysfs-dev
> @@ -9,9 +9,10 @@ Description: The /sys/dev tree provides a method to look up the sysfs
> the form "<major>:<minor>". These links point to the
> corresponding sysfs path for the given device.
>
> - Example:
> - $ readlink /sys/dev/block/8:32
> - ../../block/sdc
> + Example::
> +
> + $ readlink /sys/dev/block/8:32
> + ../../block/sdc
>
> Entries in /sys/dev/char and /sys/dev/block will be
> dynamically created and destroyed as devices enter and
> diff --git a/Documentation/ABI/testing/sysfs-devices-mapping b/Documentation/ABI/testing/sysfs-devices-mapping
> index 490ccfd67f12..8d202bac9394 100644
> --- a/Documentation/ABI/testing/sysfs-devices-mapping
> +++ b/Documentation/ABI/testing/sysfs-devices-mapping
> @@ -8,26 +8,27 @@ Description:
> block.
> For example, on 4-die Xeon platform with up to 6 IIO stacks per
> die and, therefore, 6 IIO PMON blocks per die, the mapping of
> - IIO PMON block 0 exposes as the following:
> + IIO PMON block 0 exposes as the following::
>
> - $ ls /sys/devices/uncore_iio_0/die*
> - -r--r--r-- /sys/devices/uncore_iio_0/die0
> - -r--r--r-- /sys/devices/uncore_iio_0/die1
> - -r--r--r-- /sys/devices/uncore_iio_0/die2
> - -r--r--r-- /sys/devices/uncore_iio_0/die3
> + $ ls /sys/devices/uncore_iio_0/die*
> + -r--r--r-- /sys/devices/uncore_iio_0/die0
> + -r--r--r-- /sys/devices/uncore_iio_0/die1
> + -r--r--r-- /sys/devices/uncore_iio_0/die2
> + -r--r--r-- /sys/devices/uncore_iio_0/die3
>
> - $ tail /sys/devices/uncore_iio_0/die*
> - ==> /sys/devices/uncore_iio_0/die0 <==
> - 0000:00
> - ==> /sys/devices/uncore_iio_0/die1 <==
> - 0000:40
> - ==> /sys/devices/uncore_iio_0/die2 <==
> - 0000:80
> - ==> /sys/devices/uncore_iio_0/die3 <==
> - 0000:c0
> + $ tail /sys/devices/uncore_iio_0/die*
> + ==> /sys/devices/uncore_iio_0/die0 <==
> + 0000:00
> + ==> /sys/devices/uncore_iio_0/die1 <==
> + 0000:40
> + ==> /sys/devices/uncore_iio_0/die2 <==
> + 0000:80
> + ==> /sys/devices/uncore_iio_0/die3 <==
> + 0000:c0
>
> - Which means:
> - IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000
> - IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000
> - IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000
> - IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000
> + Which means::
> +
> + IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000
> + IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000
> + IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000
> + IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000
> diff --git a/Documentation/ABI/testing/sysfs-devices-memory b/Documentation/ABI/testing/sysfs-devices-memory
> index deef3b5723cf..2da2b1fba2c1 100644
> --- a/Documentation/ABI/testing/sysfs-devices-memory
> +++ b/Documentation/ABI/testing/sysfs-devices-memory
> @@ -47,16 +47,19 @@ Description:
> online/offline state of the memory section. When written,
> root can toggle the the online/offline state of a removable
> memory section (see removable file description above)
> - using the following commands.
> - # echo online > /sys/devices/system/memory/memoryX/state
> - # echo offline > /sys/devices/system/memory/memoryX/state
> + using the following commands::
> +
> + # echo online > /sys/devices/system/memory/memoryX/state
> + # echo offline > /sys/devices/system/memory/memoryX/state
>
> For example, if /sys/devices/system/memory/memory22/removable
> contains a value of 1 and
> /sys/devices/system/memory/memory22/state contains the
> string "online" the following command can be executed by
> - by root to offline that section.
> - # echo offline > /sys/devices/system/memory/memory22/state
> + by root to offline that section::
> +
> + # echo offline > /sys/devices/system/memory/memory22/state
> +
> Users: hotplug memory remove tools
> http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
>
> @@ -78,6 +81,7 @@ Description:
>
> For example, the following symbolic link is created for
> memory section 9 on node0:
> +
> /sys/devices/system/memory/memory9/node0 -> ../../node/node0
>
>
> @@ -90,4 +94,5 @@ Description:
> points to the corresponding /sys/devices/system/memory/memoryY
> memory section directory. For example, the following symbolic
> link is created for memory section 9 on node0.
> +
> /sys/devices/system/node/node0/memory9 -> ../../memory/memory9
> diff --git a/Documentation/ABI/testing/sysfs-devices-platform-_UDC_-gadget b/Documentation/ABI/testing/sysfs-devices-platform-_UDC_-gadget
> index d548eaac230a..40f29a01fd14 100644
> --- a/Documentation/ABI/testing/sysfs-devices-platform-_UDC_-gadget
> +++ b/Documentation/ABI/testing/sysfs-devices-platform-_UDC_-gadget
> @@ -3,8 +3,9 @@ Date: April 2010
> Contact: Fabien Chouteau <fabien.chouteau@barco.com>
> Description:
> Show the suspend state of an USB composite gadget.
> - 1 -> suspended
> - 0 -> resumed
> +
> + - 1 -> suspended
> + - 0 -> resumed
>
> (_UDC_ is the name of the USB Device Controller driver)
>
> @@ -17,5 +18,6 @@ Description:
> Storage mode.
>
> Possible values are:
> - 1 -> ignore the FUA flag
> - 0 -> obey the FUA flag
> +
> + - 1 -> ignore the FUA flag
> + - 0 -> obey the FUA flag
> diff --git a/Documentation/ABI/testing/sysfs-devices-platform-ipmi b/Documentation/ABI/testing/sysfs-devices-platform-ipmi
> index afb5db856e1c..07df0ddc0b69 100644
> --- a/Documentation/ABI/testing/sysfs-devices-platform-ipmi
> +++ b/Documentation/ABI/testing/sysfs-devices-platform-ipmi
> @@ -123,38 +123,40 @@ KernelVersion: v4.15
> Contact: openipmi-developer@lists.sourceforge.net
> Description:
>
> - idles: (RO) Number of times the interface was
> + ====================== ========================================
> + idles (RO) Number of times the interface was
> idle while being polled.
>
> - watchdog_pretimeouts: (RO) Number of watchdog pretimeouts.
> + watchdog_pretimeouts (RO) Number of watchdog pretimeouts.
>
> - complete_transactions: (RO) Number of completed messages.
> + complete_transactions (RO) Number of completed messages.
>
> - events: (RO) Number of IPMI events received from
> + events (RO) Number of IPMI events received from
> the hardware.
>
> - interrupts: (RO) Number of interrupts the driver
> + interrupts (RO) Number of interrupts the driver
> handled.
>
> - hosed_count: (RO) Number of times the hardware didn't
> + hosed_count (RO) Number of times the hardware didn't
> follow the state machine.
>
> - long_timeouts: (RO) Number of times the driver
> + long_timeouts (RO) Number of times the driver
> requested a timer while nothing was in
> progress.
>
> - flag_fetches: (RO) Number of times the driver
> + flag_fetches (RO) Number of times the driver
> requested flags from the hardware.
>
> - attentions: (RO) Number of time the driver got an
> + attentions (RO) Number of time the driver got an
> ATTN from the hardware.
>
> - incoming_messages: (RO) Number of asynchronous messages
> + incoming_messages (RO) Number of asynchronous messages
> received.
>
> - short_timeouts: (RO) Number of times the driver
> + short_timeouts (RO) Number of times the driver
> requested a timer while an operation was
> in progress.
> + ====================== ========================================
>
>
> What: /sys/devices/platform/ipmi_si.*/interrupts_enabled
> @@ -201,38 +203,40 @@ Date: Sep, 2017
> KernelVersion: v4.15
> Contact: openipmi-developer@lists.sourceforge.net
> Description:
> - hosed: (RO) Number of times the hardware didn't
> + ====================== ========================================
> + hosed (RO) Number of times the hardware didn't
> follow the state machine.
>
> - alerts: (RO) Number of alerts received.
> + alerts (RO) Number of alerts received.
>
> - sent_messages: (RO) Number of total messages sent.
> + sent_messages (RO) Number of total messages sent.
>
> - sent_message_parts: (RO) Number of message parts sent.
> + sent_message_parts (RO) Number of message parts sent.
> Messages may be broken into parts if
> they are long.
>
> - received_messages: (RO) Number of message responses
> + received_messages (RO) Number of message responses
> received.
>
> - received_message_parts: (RO) Number of message fragments
> + received_message_parts (RO) Number of message fragments
> received.
>
> - events: (RO) Number of received events.
> + events (RO) Number of received events.
>
> - watchdog_pretimeouts: (RO) Number of watchdog pretimeouts.
> + watchdog_pretimeouts (RO) Number of watchdog pretimeouts.
>
> - flag_fetches: (RO) Number of times a flag fetch was
> + flag_fetches (RO) Number of times a flag fetch was
> requested.
>
> - send_retries: (RO) Number of time a message was
> + send_retries (RO) Number of time a message was
> retried.
>
> - receive_retries: (RO) Number of times the receive of a
> + receive_retries (RO) Number of times the receive of a
> message was retried.
>
> - send_errors: (RO) Number of times the send of a
> + send_errors (RO) Number of times the send of a
> message failed.
>
> - receive_errors: (RO) Number of errors in receiving
> + receive_errors (RO) Number of errors in receiving
> messages.
> + ====================== ========================================
> diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu b/Documentation/ABI/testing/sysfs-devices-system-cpu
> index 274c337ec6a9..1a04ca8162ad 100644
> --- a/Documentation/ABI/testing/sysfs-devices-system-cpu
> +++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
> @@ -169,7 +169,7 @@ Description:
> observed CPU idle duration was too short for it
> (a count).
>
> - below: (RO) Number of times this state was entered, but the
> + below: (RO) Number of times this state was entered, but the
> observed CPU idle duration was too long for it
> (a count).
> ======== ==== =================================================
> @@ -601,7 +601,7 @@ Description: Secure Virtual Machine
> Facility in POWER9 and newer processors. i.e., it is a Secure
> Virtual Machine.
>
> -What: /sys/devices/system/cpu/cpuX/purr
> +What: /sys/devices/system/cpu/cpuX/purr
> Date: Apr 2005
> Contact: Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
> Description: PURR ticks for this CPU since the system boot.
> diff --git a/Documentation/ABI/testing/sysfs-driver-hid-lenovo b/Documentation/ABI/testing/sysfs-driver-hid-lenovo
> index 53a0725962e1..aee85ca1f6be 100644
> --- a/Documentation/ABI/testing/sysfs-driver-hid-lenovo
> +++ b/Documentation/ABI/testing/sysfs-driver-hid-lenovo
> @@ -3,14 +3,18 @@ Date: July 2011
> Contact: linux-input@vger.kernel.org
> Description: This controls if mouse clicks should be generated if the trackpoint is quickly pressed. How fast this press has to be
> is being controlled by press_speed.
> +
> Values are 0 or 1.
> +
> Applies to Thinkpad USB Keyboard with TrackPoint.
>
> What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/dragging
> Date: July 2011
> Contact: linux-input@vger.kernel.org
> Description: If this setting is enabled, it is possible to do dragging by pressing the trackpoint. This requires press_to_select to be enabled.
> +
> Values are 0 or 1.
> +
> Applies to Thinkpad USB Keyboard with TrackPoint.
>
> What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/release_to_select
> @@ -25,7 +29,9 @@ Date: July 2011
> Contact: linux-input@vger.kernel.org
> Description: This setting controls if the mouse click events generated by pressing the trackpoint (if press_to_select is enabled) generate
> a left or right mouse button click.
> +
> Values are 0 or 1.
> +
> Applies to Thinkpad USB Keyboard with TrackPoint.
>
> What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/sensitivity
> @@ -39,12 +45,16 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-
> Date: July 2011
> Contact: linux-input@vger.kernel.org
> Description: This setting controls how fast the trackpoint needs to be pressed to generate a mouse click if press_to_select is enabled.
> +
> Values are decimal integers from 1 (slowest) to 255 (fastest).
> +
> Applies to Thinkpad USB Keyboard with TrackPoint.
>
> What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fn_lock
> Date: July 2014
> Contact: linux-input@vger.kernel.org
> Description: This setting controls whether Fn Lock is enabled on the keyboard (i.e. if F1 is Mute or F1)
> +
> Values are 0 or 1
> +
> Applies to ThinkPad Compact (USB|Bluetooth) Keyboard with TrackPoint.
> diff --git a/Documentation/ABI/testing/sysfs-driver-hid-ntrig b/Documentation/ABI/testing/sysfs-driver-hid-ntrig
> index e574a5625efe..0e323a5cec6c 100644
> --- a/Documentation/ABI/testing/sysfs-driver-hid-ntrig
> +++ b/Documentation/ABI/testing/sysfs-driver-hid-ntrig
> @@ -29,12 +29,13 @@ Contact: linux-input@vger.kernel.org
> Description:
> Threholds to override activation slack.
>
> - activation_width: (RW) Width threshold to immediately
> + ================= =====================================
> + activation_width (RW) Width threshold to immediately
> start processing touch events.
>
> - activation_height: (RW) Height threshold to immediately
> + activation_height (RW) Height threshold to immediately
> start processing touch events.
> -
> + ================= =====================================
>
> What: /sys/bus/hid/drivers/ntrig/<dev>/min_width
> What: /sys/bus/hid/drivers/ntrig/<dev>/min_height
> @@ -44,11 +45,13 @@ Contact: linux-input@vger.kernel.org
> Description:
> Minimum size contact accepted.
>
> - min_width: (RW) Minimum touch contact width to decide
> + ========== ===========================================
> + min_width (RW) Minimum touch contact width to decide
> activation and activity.
>
> - min_height: (RW) Minimum touch contact height to decide
> + min_height (RW) Minimum touch contact height to decide
> activation and activity.
> + ========== ===========================================
>
>
> What: /sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_width
> diff --git a/Documentation/ABI/testing/sysfs-driver-hid-roccat-kone b/Documentation/ABI/testing/sysfs-driver-hid-roccat-kone
> index 8f7982c70d72..11cd9bf0ad18 100644
> --- a/Documentation/ABI/testing/sysfs-driver-hid-roccat-kone
> +++ b/Documentation/ABI/testing/sysfs-driver-hid-roccat-kone
> @@ -3,17 +3,21 @@ Date: March 2010
> Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
> Description: It is possible to switch the dpi setting of the mouse with the
> press of a button.
> +
> When read, this file returns the raw number of the actual dpi
> setting reported by the mouse. This number has to be further
> processed to receive the real dpi value:
>
> + ===== =====
> VALUE DPI
> + ===== =====
> 1 800
> 2 1200
> 3 1600
> 4 2000
> 5 2400
> 6 3200
> + ===== =====
>
> This file is readonly.
> Users: http://roccat.sourceforge.net
> @@ -22,6 +26,7 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-
> Date: March 2010
> Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
> Description: When read, this file returns the number of the actual profile.
> +
> This file is readonly.
> Users: http://roccat.sourceforge.net
>
> @@ -33,6 +38,7 @@ Description: When read, this file returns the raw integer version number of the
> further usage in other programs. To receive the real version
> number the decimal point has to be shifted 2 positions to the
> left. E.g. a returned value of 138 means 1.38
> +
> This file is readonly.
> Users: http://roccat.sourceforge.net
>
> @@ -43,10 +49,13 @@ Description: The mouse can store 5 profiles which can be switched by the
> press of a button. A profile holds information like button
> mappings, sensitivity, the colors of the 5 leds and light
> effects.
> +
> When read, these files return the respective profile. The
> returned data is 975 bytes in size.
> +
> When written, this file lets one write the respective profile
> data back to the mouse. The data has to be 975 bytes long.
> +
> The mouse will reject invalid data, whereas the profile number
> stored in the profile doesn't need to fit the number of the
> store.
> @@ -58,6 +67,7 @@ Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
> Description: When read, this file returns the settings stored in the mouse.
> The size of the data is 36 bytes and holds information like the
> startup_profile, tcu state and calibration_data.
> +
> When written, this file lets write settings back to the mouse.
> The data has to be 36 bytes long. The mouse will reject invalid
> data.
> @@ -67,8 +77,10 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-
> Date: March 2010
> Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
> Description: The integer value of this attribute ranges from 1 to 5.
> +
> When read, this attribute returns the number of the profile
> that's active when the mouse is powered on.
> +
> When written, this file sets the number of the startup profile
> and the mouse activates this profile immediately.
> Users: http://roccat.sourceforge.net
> @@ -80,9 +92,12 @@ Description: The mouse has a "Tracking Control Unit" which lets the user
> calibrate the laser power to fit the mousepad surface.
> When read, this file returns the current state of the TCU,
> where 0 means off and 1 means on.
> +
> Writing 0 in this file will switch the TCU off.
> +
> Writing 1 in this file will start the calibration which takes
> around 6 seconds to complete and activates the TCU.
> +
> Users: http://roccat.sourceforge.net
>
> What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/weight
> @@ -93,14 +108,18 @@ Description: The mouse can be equipped with one of four supplied weights
> and its value can be read out. When read, this file returns the
> raw value returned by the mouse which eases further processing
> in other software.
> +
> The values map to the weights as follows:
>
> + ===== ======
> VALUE WEIGHT
> + ===== ======
> 0 none
> 1 5g
> 2 10g
> 3 15g
> 4 20g
> + ===== ======
>
> This file is readonly.
> Users: http://roccat.sourceforge.net
> diff --git a/Documentation/ABI/testing/sysfs-driver-hid-wiimote b/Documentation/ABI/testing/sysfs-driver-hid-wiimote
> index cd7b82a5c27d..3bf43d9dcdfe 100644
> --- a/Documentation/ABI/testing/sysfs-driver-hid-wiimote
> +++ b/Documentation/ABI/testing/sysfs-driver-hid-wiimote
> @@ -20,6 +20,7 @@ Description: This file contains the currently connected and initialized
> the official Nintendo Nunchuck extension and classic is the
> Nintendo Classic Controller extension. The motionp extension can
> be combined with the other two.
> +
> Starting with kernel-version 3.11 Motion Plus hotplugging is
> supported and if detected, it's no longer reported as static
> extension. You will get uevent notifications for the motion-plus
> diff --git a/Documentation/ABI/testing/sysfs-driver-input-exc3000 b/Documentation/ABI/testing/sysfs-driver-input-exc3000
> index 3d316d54f81c..cd7c578aef2c 100644
> --- a/Documentation/ABI/testing/sysfs-driver-input-exc3000
> +++ b/Documentation/ABI/testing/sysfs-driver-input-exc3000
> @@ -4,6 +4,7 @@ Contact: linux-input@vger.kernel.org
> Description: Reports the firmware version provided by the touchscreen, for example "00_T6" on a EXC80H60
>
> Access: Read
> +
> Valid values: Represented as string
>
> What: /sys/bus/i2c/devices/xxx/model
> @@ -12,4 +13,5 @@ Contact: linux-input@vger.kernel.org
> Description: Reports the model identification provided by the touchscreen, for example "Orion_1320" on a EXC80H60
>
> Access: Read
> +
> Valid values: Represented as string
> diff --git a/Documentation/ABI/testing/sysfs-driver-jz4780-efuse b/Documentation/ABI/testing/sysfs-driver-jz4780-efuse
> index bb6f5d6ceea0..4cf595d681e6 100644
> --- a/Documentation/ABI/testing/sysfs-driver-jz4780-efuse
> +++ b/Documentation/ABI/testing/sysfs-driver-jz4780-efuse
> @@ -4,7 +4,9 @@ Contact: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
> Description: read-only access to the efuse on the Ingenic JZ4780 SoC
> The SoC has a one time programmable 8K efuse that is
> split into segments. The driver supports read only.
> - The segments are
> + The segments are:
> +
> + ===== ======== =================
> 0x000 64 bit Random Number
> 0x008 128 bit Ingenic Chip ID
> 0x018 128 bit Customer ID
> @@ -12,5 +14,7 @@ Description: read-only access to the efuse on the Ingenic JZ4780 SoC
> 0x1E0 8 bit Protect Segment
> 0x1E1 2296 bit HDMI Key
> 0x300 2048 bit Security boot key
> + ===== ======== =================
> +
> Users: any user space application which wants to read the Chip
> and Customer ID
> diff --git a/Documentation/ABI/testing/sysfs-driver-pciback b/Documentation/ABI/testing/sysfs-driver-pciback
> index 73308c2b81b0..49f5fd0c8bbd 100644
> --- a/Documentation/ABI/testing/sysfs-driver-pciback
> +++ b/Documentation/ABI/testing/sysfs-driver-pciback
> @@ -7,8 +7,10 @@ Description:
> the format of DDDD:BB:DD.F-REG:SIZE:MASK will allow the guest
> to write and read from the PCI device. That is Domain:Bus:
> Device.Function-Register:Size:Mask (Domain is optional).
> - For example:
> - #echo 00:19.0-E0:2:FF > /sys/bus/pci/drivers/pciback/quirks
> + For example::
> +
> + #echo 00:19.0-E0:2:FF > /sys/bus/pci/drivers/pciback/quirks
> +
> will allow the guest to read and write to the configuration
> register 0x0E.
>
> diff --git a/Documentation/ABI/testing/sysfs-driver-ufs b/Documentation/ABI/testing/sysfs-driver-ufs
> index d1a352194d2e..adc0d0e91607 100644
> --- a/Documentation/ABI/testing/sysfs-driver-ufs
> +++ b/Documentation/ABI/testing/sysfs-driver-ufs
> @@ -18,6 +18,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the device type. This is one of the UFS
> device descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_class
> @@ -26,6 +27,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the device class. This is one of the UFS
> device descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_sub_class
> @@ -34,6 +36,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the UFS storage subclass. This is one of
> the UFS device descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/protocol
> @@ -43,6 +46,7 @@ Description: This file shows the protocol supported by an UFS device.
> This is one of the UFS device descriptor parameters.
> The full information about the descriptor could be found
> at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_luns
> @@ -51,6 +55,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows number of logical units. This is one of
> the UFS device descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_wluns
> @@ -60,6 +65,7 @@ Description: This file shows number of well known logical units.
> This is one of the UFS device descriptor parameters.
> The full information about the descriptor could be found
> at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/boot_enable
> @@ -69,6 +75,7 @@ Description: This file shows value that indicates whether the device is
> enabled for boot. This is one of the UFS device descriptor
> parameters. The full information about the descriptor could
> be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/descriptor_access_enable
> @@ -79,6 +86,7 @@ Description: This file shows value that indicates whether the device
> of the boot sequence. This is one of the UFS device descriptor
> parameters. The full information about the descriptor could
> be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_power_mode
> @@ -88,6 +96,7 @@ Description: This file shows value that defines the power mode after
> device initialization or hardware reset. This is one of
> the UFS device descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/high_priority_lun
> @@ -96,6 +105,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the high priority lun. This is one of
> the UFS device descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/secure_removal_type
> @@ -104,6 +114,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the secure removal type. This is one of
> the UFS device descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/support_security_lun
> @@ -113,6 +124,7 @@ Description: This file shows whether the security lun is supported.
> This is one of the UFS device descriptor parameters.
> The full information about the descriptor could be found
> at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/bkops_termination_latency
> @@ -122,6 +134,7 @@ Description: This file shows the background operations termination
> latency. This is one of the UFS device descriptor parameters.
> The full information about the descriptor could be found
> at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_active_icc_level
> @@ -130,6 +143,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the initial active ICC level. This is one
> of the UFS device descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/specification_version
> @@ -138,6 +152,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the specification version. This is one
> of the UFS device descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturing_date
> @@ -147,6 +162,7 @@ Description: This file shows the manufacturing date in BCD format.
> This is one of the UFS device descriptor parameters.
> The full information about the descriptor could be found
> at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturer_id
> @@ -155,6 +171,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the manufacturee ID. This is one of the
> UFS device descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtt_capability
> @@ -164,6 +181,7 @@ Description: This file shows the maximum number of outstanding RTTs
> supported by the device. This is one of the UFS device
> descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtc_update
> @@ -173,6 +191,7 @@ Description: This file shows the frequency and method of the realtime
> clock update. This is one of the UFS device descriptor
> parameters. The full information about the descriptor
> could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ufs_features
> @@ -182,6 +201,7 @@ Description: This file shows which features are supported by the device.
> This is one of the UFS device descriptor parameters.
> The full information about the descriptor could be
> found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ffu_timeout
> @@ -190,6 +210,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the FFU timeout. This is one of the
> UFS device descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/queue_depth
> @@ -198,6 +219,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the device queue depth. This is one of the
> UFS device descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_version
> @@ -206,6 +228,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the device version. This is one of the
> UFS device descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_secure_wpa
> @@ -215,6 +238,7 @@ Description: This file shows number of secure write protect areas
> supported by the device. This is one of the UFS device
> descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_max_data_size
> @@ -225,6 +249,7 @@ Description: This file shows the maximum amount of data that may be
> This is one of the UFS device descriptor parameters.
> The full information about the descriptor could be found
> at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_state_timeout
> @@ -234,6 +259,7 @@ Description: This file shows the command maximum timeout for a change
> in PSA state. This is one of the UFS device descriptor
> parameters. The full information about the descriptor could
> be found at UFS specifications 2.1.
> +
> The file is read only.
>
>
> @@ -244,6 +270,7 @@ Description: This file shows the MIPI UniPro version number in BCD format.
> This is one of the UFS interconnect descriptor parameters.
> The full information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/mphy_version
> @@ -253,6 +280,7 @@ Description: This file shows the MIPI M-PHY version number in BCD format.
> This is one of the UFS interconnect descriptor parameters.
> The full information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
>
> @@ -264,6 +292,7 @@ Description: This file shows the total memory quantity available to
> of the UFS geometry descriptor parameters. The full
> information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_luns
> @@ -273,6 +302,7 @@ Description: This file shows the maximum number of logical units
> supported by the UFS device. This is one of the UFS
> geometry descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/segment_size
> @@ -281,6 +311,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the segment size. This is one of the UFS
> geometry descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/allocation_unit_size
> @@ -289,6 +320,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the allocation unit size. This is one of
> the UFS geometry descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/min_addressable_block_size
> @@ -298,6 +330,7 @@ Description: This file shows the minimum addressable block size. This
> is one of the UFS geometry descriptor parameters. The full
> information about the descriptor could be found at UFS
> specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_read_block_size
> @@ -307,6 +340,7 @@ Description: This file shows the optimal read block size. This is one
> of the UFS geometry descriptor parameters. The full
> information about the descriptor could be found at UFS
> specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_write_block_size
> @@ -316,6 +350,7 @@ Description: This file shows the optimal write block size. This is one
> of the UFS geometry descriptor parameters. The full
> information about the descriptor could be found at UFS
> specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_in_buffer_size
> @@ -325,6 +360,7 @@ Description: This file shows the maximum data-in buffer size. This
> is one of the UFS geometry descriptor parameters. The full
> information about the descriptor could be found at UFS
> specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_out_buffer_size
> @@ -334,6 +370,7 @@ Description: This file shows the maximum data-out buffer size. This
> is one of the UFS geometry descriptor parameters. The full
> information about the descriptor could be found at UFS
> specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/rpmb_rw_size
> @@ -343,6 +380,7 @@ Description: This file shows the maximum number of RPMB frames allowed
> in Security Protocol In/Out. This is one of the UFS geometry
> descriptor parameters. The full information about the
> descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/dyn_capacity_resource_policy
> @@ -352,6 +390,7 @@ Description: This file shows the dynamic capacity resource policy. This
> is one of the UFS geometry descriptor parameters. The full
> information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/data_ordering
> @@ -361,6 +400,7 @@ Description: This file shows support for out-of-order data transfer.
> This is one of the UFS geometry descriptor parameters.
> The full information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_contexts
> @@ -370,6 +410,7 @@ Description: This file shows maximum available number of contexts which
> are supported by the device. This is one of the UFS geometry
> descriptor parameters. The full information about the
> descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_unit_size
> @@ -378,6 +419,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows system data tag unit size. This is one of
> the UFS geometry descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_resource_size
> @@ -388,6 +430,7 @@ Description: This file shows maximum storage area size allocated by
> This is one of the UFS geometry descriptor parameters.
> The full information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/secure_removal_types
> @@ -397,6 +440,7 @@ Description: This file shows supported secure removal types. This is
> one of the UFS geometry descriptor parameters. The full
> information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/memory_types
> @@ -406,6 +450,7 @@ Description: This file shows supported memory types. This is one of
> the UFS geometry descriptor parameters. The full
> information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_max_alloc_units
> @@ -416,6 +461,7 @@ Description: This file shows the maximum number of allocation units for
> enhanced type 1-4). This is one of the UFS geometry
> descriptor parameters. The full information about the
> descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_capacity_adjustment_factor
> @@ -426,6 +472,7 @@ Description: This file shows the memory capacity adjustment factor for
> enhanced type 1-4). This is one of the UFS geometry
> descriptor parameters. The full information about the
> descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
>
> @@ -436,6 +483,7 @@ Description: This file shows preend of life information. This is one
> of the UFS health descriptor parameters. The full
> information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_a
> @@ -445,6 +493,7 @@ Description: This file shows indication of the device life time
> (method a). This is one of the UFS health descriptor
> parameters. The full information about the descriptor
> could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_b
> @@ -454,6 +503,7 @@ Description: This file shows indication of the device life time
> (method b). This is one of the UFS health descriptor
> parameters. The full information about the descriptor
> could be found at UFS specifications 2.1.
> +
> The file is read only.
>
>
> @@ -464,6 +514,7 @@ Description: This file shows maximum VCC, VCCQ and VCCQ2 value for
> active ICC levels from 0 to 15. This is one of the UFS
> power descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
>
> @@ -473,6 +524,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file contains a device manufactureer name string.
> The full information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name
> @@ -480,6 +532,7 @@ Date: February 2018
> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file contains a product name string. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/oem_id
> @@ -487,6 +540,7 @@ Date: February 2018
> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file contains a OEM ID string. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/serial_number
> @@ -495,6 +549,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file contains a device serial number string. The full
> information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_revision
> @@ -503,6 +558,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file contains a product revision string. The full
> information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
>
> @@ -512,6 +568,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows boot LUN information. This is one of
> the UFS unit descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/lun_write_protect
> @@ -520,6 +577,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows LUN write protection status. This is one of
> the UFS unit descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/lun_queue_depth
> @@ -528,6 +586,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows LUN queue depth. This is one of the UFS
> unit descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/psa_sensitive
> @@ -536,6 +595,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows PSA sensitivity. This is one of the UFS
> unit descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/lun_memory_type
> @@ -544,6 +604,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows LUN memory type. This is one of the UFS
> unit descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/data_reliability
> @@ -553,6 +614,7 @@ Description: This file defines the device behavior when a power failure
> occurs during a write operation. This is one of the UFS
> unit descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/logical_block_size
> @@ -562,6 +624,7 @@ Description: This file shows the size of addressable logical blocks
> (calculated as an exponent with base 2). This is one of
> the UFS unit descriptor parameters. The full information about
> the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/logical_block_count
> @@ -571,6 +634,7 @@ Description: This file shows total number of addressable logical blocks.
> This is one of the UFS unit descriptor parameters. The full
> information about the descriptor could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/erase_block_size
> @@ -579,6 +643,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the erase block size. This is one of
> the UFS unit descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/provisioning_type
> @@ -587,6 +652,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the thin provisioning type. This is one of
> the UFS unit descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/physical_memory_resourse_count
> @@ -595,6 +661,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the total physical memory resources. This is
> one of the UFS unit descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/context_capabilities
> @@ -603,6 +670,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the context capabilities. This is one of
> the UFS unit descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/large_unit_granularity
> @@ -611,6 +679,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the granularity of the LUN. This is one of
> the UFS unit descriptor parameters. The full information
> about the descriptor could be found at UFS specifications 2.1.
> +
> The file is read only.
>
>
> @@ -619,6 +688,7 @@ Date: February 2018
> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the device init status. The full information
> about the flag could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/flags/permanent_wpe
> @@ -627,6 +697,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows whether permanent write protection is enabled.
> The full information about the flag could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/flags/power_on_wpe
> @@ -636,6 +707,7 @@ Description: This file shows whether write protection is enabled on all
> logical units configured as power on write protected. The
> full information about the flag could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/flags/bkops_enable
> @@ -644,6 +716,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows whether the device background operations are
> enabled. The full information about the flag could be
> found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/flags/life_span_mode_enable
> @@ -652,6 +725,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows whether the device life span mode is enabled.
> The full information about the flag could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/flags/phy_resource_removal
> @@ -660,6 +734,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows whether physical resource removal is enable.
> The full information about the flag could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/flags/busy_rtc
> @@ -668,6 +743,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows whether the device is executing internal
> operation related to real time clock. The full information
> about the flag could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/flags/disable_fw_update
> @@ -676,6 +752,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows whether the device FW update is permanently
> disabled. The full information about the flag could be found
> at UFS specifications 2.1.
> +
> The file is read only.
>
>
> @@ -685,6 +762,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file provides the boot lun enabled UFS device attribute.
> The full information about the attribute could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/current_power_mode
> @@ -693,6 +771,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file provides the current power mode UFS device attribute.
> The full information about the attribute could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/active_icc_level
> @@ -701,6 +780,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file provides the active icc level UFS device attribute.
> The full information about the attribute could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/ooo_data_enabled
> @@ -709,6 +789,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file provides the out of order data transfer enabled UFS
> device attribute. The full information about the attribute
> could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/bkops_status
> @@ -717,6 +798,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file provides the background operations status UFS device
> attribute. The full information about the attribute could
> be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/purge_status
> @@ -725,6 +807,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file provides the purge operation status UFS device
> attribute. The full information about the attribute could
> be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_in_size
> @@ -733,6 +816,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the maximum data size in a DATA IN
> UPIU. The full information about the attribute could
> be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_out_size
> @@ -741,6 +825,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file shows the maximum number of bytes that can be
> requested with a READY TO TRANSFER UPIU. The full information
> about the attribute could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/reference_clock_frequency
> @@ -749,6 +834,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file provides the reference clock frequency UFS device
> attribute. The full information about the attribute could
> be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/configuration_descriptor_lock
> @@ -765,6 +851,7 @@ Description: This file provides the maximum current number of
> outstanding RTTs in device that is allowed. The full
> information about the attribute could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_control
> @@ -773,6 +860,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file provides the exception event control UFS device
> attribute. The full information about the attribute could
> be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_status
> @@ -781,6 +869,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file provides the exception event status UFS device
> attribute. The full information about the attribute could
> be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/ffu_status
> @@ -789,6 +878,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file provides the ffu status UFS device attribute.
> The full information about the attribute could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_state
> @@ -796,6 +886,7 @@ Date: February 2018
> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
> Description: This file show the PSA feature status. The full information
> about the attribute could be found at UFS specifications 2.1.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_data_size
> @@ -805,6 +896,7 @@ Description: This file shows the amount of data that the host plans to
> load to all logical units in pre-soldering state.
> The full information about the attribute could be found at
> UFS specifications 2.1.
> +
> The file is read only.
>
>
> @@ -815,6 +907,7 @@ Description: This file shows the The amount of physical memory needed
> to be removed from the physical memory resources pool of
> the particular logical unit. The full information about
> the attribute could be found at UFS specifications 2.1.
> +
> The file is read only.
>
>
> @@ -824,24 +917,28 @@ Contact: Subhash Jadavani <subhashj@codeaurora.org>
> Description: This entry could be used to set or show the UFS device
> runtime power management level. The current driver
> implementation supports 6 levels with next target states:
> - 0 - an UFS device will stay active, an UIC link will
> - stay active
> - 1 - an UFS device will stay active, an UIC link will
> - hibernate
> - 2 - an UFS device will moved to sleep, an UIC link will
> - stay active
> - 3 - an UFS device will moved to sleep, an UIC link will
> - hibernate
> - 4 - an UFS device will be powered off, an UIC link will
> - hibernate
> - 5 - an UFS device will be powered off, an UIC link will
> - be powered off
> +
> + == ====================================================
> + 0 an UFS device will stay active, an UIC link will
> + stay active
> + 1 an UFS device will stay active, an UIC link will
> + hibernate
> + 2 an UFS device will moved to sleep, an UIC link will
> + stay active
> + 3 an UFS device will moved to sleep, an UIC link will
> + hibernate
> + 4 an UFS device will be powered off, an UIC link will
> + hibernate
> + 5 an UFS device will be powered off, an UIC link will
> + be powered off
> + == ====================================================
>
> What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state
> Date: February 2018
> Contact: Subhash Jadavani <subhashj@codeaurora.org>
> Description: This entry shows the target power mode of an UFS device
> for the chosen runtime power management level.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_link_state
> @@ -849,6 +946,7 @@ Date: February 2018
> Contact: Subhash Jadavani <subhashj@codeaurora.org>
> Description: This entry shows the target state of an UFS UIC link
> for the chosen runtime power management level.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/spm_lvl
> @@ -857,24 +955,28 @@ Contact: Subhash Jadavani <subhashj@codeaurora.org>
> Description: This entry could be used to set or show the UFS device
> system power management level. The current driver
> implementation supports 6 levels with next target states:
> - 0 - an UFS device will stay active, an UIC link will
> - stay active
> - 1 - an UFS device will stay active, an UIC link will
> - hibernate
> - 2 - an UFS device will moved to sleep, an UIC link will
> - stay active
> - 3 - an UFS device will moved to sleep, an UIC link will
> - hibernate
> - 4 - an UFS device will be powered off, an UIC link will
> - hibernate
> - 5 - an UFS device will be powered off, an UIC link will
> - be powered off
> +
> + == ====================================================
> + 0 an UFS device will stay active, an UIC link will
> + stay active
> + 1 an UFS device will stay active, an UIC link will
> + hibernate
> + 2 an UFS device will moved to sleep, an UIC link will
> + stay active
> + 3 an UFS device will moved to sleep, an UIC link will
> + hibernate
> + 4 an UFS device will be powered off, an UIC link will
> + hibernate
> + 5 an UFS device will be powered off, an UIC link will
> + be powered off
> + == ====================================================
>
> What: /sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state
> Date: February 2018
> Contact: Subhash Jadavani <subhashj@codeaurora.org>
> Description: This entry shows the target power mode of an UFS device
> for the chosen system power management level.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/spm_target_link_state
> @@ -882,18 +984,21 @@ Date: February 2018
> Contact: Subhash Jadavani <subhashj@codeaurora.org>
> Description: This entry shows the target state of an UFS UIC link
> for the chosen system power management level.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en
> Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows if preserve user-space was configured
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_shared_alloc_units
> Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows the shared allocated units of WB buffer
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_type
> @@ -901,6 +1006,7 @@ Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows the configured WB type.
> 0x1 for shared buffer mode. 0x0 for dedicated buffer mode.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_buff_cap_adj
> @@ -910,6 +1016,7 @@ Description: This entry shows the total user-space decrease in shared
> buffer mode.
> The value of this parameter is 3 for TLC NAND when SLC mode
> is used as WriteBooster Buffer. 2 for MLC NAND.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_alloc_units
> @@ -917,6 +1024,7 @@ Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows the Maximum total WriteBooster Buffer size
> which is supported by the entire device.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_wb_luns
> @@ -924,6 +1032,7 @@ Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows the maximum number of luns that can support
> WriteBooster.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_red_type
> @@ -937,46 +1046,59 @@ Description: The supportability of user space reduction mode
> preserve user space type.
> 02h: Device can be configured in either user space
> reduction type or preserve user space type.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_wb_type
> Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: The supportability of WriteBooster Buffer type.
> - 00h: LU based WriteBooster Buffer configuration
> - 01h: Single shared WriteBooster Buffer
> - configuration
> - 02h: Supporting both LU based WriteBooster
> - Buffer and Single shared WriteBooster Buffer
> - configuration
> +
> + === ==========================================================
> + 00h LU based WriteBooster Buffer configuration
> + 01h Single shared WriteBooster Buffer configuration
> + 02h Supporting both LU based WriteBooster.
> + Buffer and Single shared WriteBooster Buffer configuration
> + === ==========================================================
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable
> Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows the status of WriteBooster.
> - 0: WriteBooster is not enabled.
> - 1: WriteBooster is enabled
> +
> + == ============================
> + 0 WriteBooster is not enabled.
> + 1 WriteBooster is enabled
> + == ============================
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_en
> Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows if flush is enabled.
> - 0: Flush operation is not performed.
> - 1: Flush operation is performed.
> +
> + == =================================
> + 0 Flush operation is not performed.
> + 1 Flush operation is performed.
> + == =================================
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_during_h8
> Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: Flush WriteBooster Buffer during hibernate state.
> - 0: Device is not allowed to flush the
> - WriteBooster Buffer during link hibernate
> - state.
> - 1: Device is allowed to flush the
> - WriteBooster Buffer during link hibernate
> - state
> +
> + == =================================================
> + 0 Device is not allowed to flush the
> + WriteBooster Buffer during link hibernate state.
> + 1 Device is allowed to flush the
> + WriteBooster Buffer during link hibernate state.
> + == =================================================
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf
> @@ -984,23 +1106,30 @@ Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows the amount of unused WriteBooster buffer
> available.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_cur_buf
> Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows the amount of unused current buffer.
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_flush_status
> Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows the flush operation status.
> - 00h: idle
> - 01h: Flush operation in progress
> - 02h: Flush operation stopped prematurely.
> - 03h: Flush operation completed successfully
> - 04h: Flush operation general failure
> +
> +
> + === ======================================
> + 00h idle
> + 01h Flush operation in progress
> + 02h Flush operation stopped prematurely.
> + 03h Flush operation completed successfully
> + 04h Flush operation general failure
> + === ======================================
> +
> The file is read only.
>
> What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_life_time_est
> @@ -1008,9 +1137,13 @@ Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows an indication of the WriteBooster Buffer
> lifetime based on the amount of performed program/erase cycles
> - 01h: 0% - 10% WriteBooster Buffer life time used
> +
> + === =============================================
> + 01h 0% - 10% WriteBooster Buffer life time used
> ...
> - 0Ah: 90% - 100% WriteBooster Buffer life time used
> + 0Ah 90% - 100% WriteBooster Buffer life time used
> + === =============================================
> +
> The file is read only.
>
> What: /sys/class/scsi_device/*/device/unit_descriptor/wb_buf_alloc_units
> @@ -1018,4 +1151,5 @@ Date: June 2020
> Contact: Asutosh Das <asutoshd@codeaurora.org>
> Description: This entry shows the configured size of WriteBooster buffer.
> 0400h corresponds to 4GB.
> +
> The file is read only.
> diff --git a/Documentation/ABI/testing/sysfs-driver-w1_ds28e17 b/Documentation/ABI/testing/sysfs-driver-w1_ds28e17
> index d301e7017afe..e92aba4eb594 100644
> --- a/Documentation/ABI/testing/sysfs-driver-w1_ds28e17
> +++ b/Documentation/ABI/testing/sysfs-driver-w1_ds28e17
> @@ -5,7 +5,9 @@ Contact: Jan Kandziora <jjj@gmx.de>
> Description: When written, this file sets the I2C speed on the connected
> DS28E17 chip. When read, it reads the current setting from
> the DS28E17 chip.
> +
> Valid values: 100, 400, 900 [kBaud].
> +
> Default 100, can be set by w1_ds28e17.speed= module parameter.
> Users: w1_ds28e17 driver
>
> @@ -17,5 +19,6 @@ Description: When written, this file sets the multiplier used to calculate
> the busy timeout for I2C operations on the connected DS28E17
> chip. When read, returns the current setting.
> Valid values: 1 to 9.
> +
> Default 1, can be set by w1_ds28e17.stretch= module parameter.
> Users: w1_ds28e17 driver
> diff --git a/Documentation/ABI/testing/sysfs-firmware-acpi b/Documentation/ABI/testing/sysfs-firmware-acpi
> index e4afc2538210..b16d30a71709 100644
> --- a/Documentation/ABI/testing/sysfs-firmware-acpi
> +++ b/Documentation/ABI/testing/sysfs-firmware-acpi
> @@ -81,11 +81,11 @@ Description:
> $ cd /sys/firmware/acpi/interrupts
> $ grep . *
> error: 0
> - ff_gbl_lock: 0 enable
> - ff_pmtimer: 0 invalid
> - ff_pwr_btn: 0 enable
> - ff_rt_clk: 2 disable
> - ff_slp_btn: 0 invalid
> + ff_gbl_lock: 0 enable
> + ff_pmtimer: 0 invalid
> + ff_pwr_btn: 0 enable
> + ff_rt_clk: 2 disable
> + ff_slp_btn: 0 invalid
> gpe00: 0 invalid
> gpe01: 0 enable
> gpe02: 108 enable
> @@ -118,9 +118,9 @@ Description:
> gpe1D: 0 invalid
> gpe1E: 0 invalid
> gpe1F: 0 invalid
> - gpe_all: 1192
> - sci: 1194
> - sci_not: 0
> + gpe_all: 1192
> + sci: 1194
> + sci_not: 0
>
> =========== ==================================================
> sci The number of times the ACPI SCI
> diff --git a/Documentation/ABI/testing/sysfs-firmware-efi-esrt b/Documentation/ABI/testing/sysfs-firmware-efi-esrt
> index 6e431d1a4e79..31b57676d4ad 100644
> --- a/Documentation/ABI/testing/sysfs-firmware-efi-esrt
> +++ b/Documentation/ABI/testing/sysfs-firmware-efi-esrt
> @@ -35,10 +35,13 @@ What: /sys/firmware/efi/esrt/entries/entry$N/fw_type
> Date: February 2015
> Contact: Peter Jones <pjones@redhat.com>
> Description: What kind of firmware entry this is:
> - 0 - Unknown
> - 1 - System Firmware
> - 2 - Device Firmware
> - 3 - UEFI Driver
> +
> + == ===============
> + 0 Unknown
> + 1 System Firmware
> + 2 Device Firmware
> + 3 UEFI Driver
> + == ===============
>
> What: /sys/firmware/efi/esrt/entries/entry$N/fw_class
> Date: February 2015
> @@ -71,11 +74,14 @@ Date: February 2015
> Contact: Peter Jones <pjones@redhat.com>
> Description: The result of the last firmware update attempt for the
> firmware resource entry.
> - 0 - Success
> - 1 - Insufficient resources
> - 2 - Incorrect version
> - 3 - Invalid format
> - 4 - Authentication error
> - 5 - AC power event
> - 6 - Battery power event
> +
> + == ======================
> + 0 Success
> + 1 Insufficient resources
> + 2 Incorrect version
> + 3 Invalid format
> + 4 Authentication error
> + 5 AC power event
> + 6 Battery power event
> + == ======================
>
> diff --git a/Documentation/ABI/testing/sysfs-firmware-efi-runtime-map b/Documentation/ABI/testing/sysfs-firmware-efi-runtime-map
> index c61b9b348e99..9c4d581be396 100644
> --- a/Documentation/ABI/testing/sysfs-firmware-efi-runtime-map
> +++ b/Documentation/ABI/testing/sysfs-firmware-efi-runtime-map
> @@ -14,7 +14,7 @@ Description: Switching efi runtime services to virtual mode requires
> /sys/firmware/efi/runtime-map/ is the directory the kernel
> exports that information in.
>
> - subdirectories are named with the number of the memory range:
> + subdirectories are named with the number of the memory range::
>
> /sys/firmware/efi/runtime-map/0
> /sys/firmware/efi/runtime-map/1
> @@ -24,11 +24,13 @@ Description: Switching efi runtime services to virtual mode requires
>
> Each subdirectory contains five files:
>
> - attribute : The attributes of the memory range.
> - num_pages : The size of the memory range in pages.
> - phys_addr : The physical address of the memory range.
> - type : The type of the memory range.
> - virt_addr : The virtual address of the memory range.
> + ========= =========================================
> + attribute The attributes of the memory range.
> + num_pages The size of the memory range in pages.
> + phys_addr The physical address of the memory range.
> + type The type of the memory range.
> + virt_addr The virtual address of the memory range.
> + ========= =========================================
>
> Above values are all hexadecimal numbers with the '0x' prefix.
> Users: Kexec
> diff --git a/Documentation/ABI/testing/sysfs-firmware-qemu_fw_cfg b/Documentation/ABI/testing/sysfs-firmware-qemu_fw_cfg
> index 011dda4f8e8a..ee0d6dbc810e 100644
> --- a/Documentation/ABI/testing/sysfs-firmware-qemu_fw_cfg
> +++ b/Documentation/ABI/testing/sysfs-firmware-qemu_fw_cfg
> @@ -15,7 +15,7 @@ Description:
> to the fw_cfg device can be found in "docs/specs/fw_cfg.txt"
> in the QEMU source tree.
>
> - === SysFS fw_cfg Interface ===
> + **SysFS fw_cfg Interface**
>
> The fw_cfg sysfs interface described in this document is only
> intended to display discoverable blobs (i.e., those registered
> @@ -31,7 +31,7 @@ Description:
>
> /sys/firmware/qemu_fw_cfg/rev
>
> - --- Discoverable fw_cfg blobs by selector key ---
> + **Discoverable fw_cfg blobs by selector key**
>
> All discoverable blobs listed in the fw_cfg file directory are
> displayed as entries named after their unique selector key
> @@ -45,24 +45,26 @@ Description:
> Each such fw_cfg sysfs entry has the following values exported
> as attributes:
>
> - name : The 56-byte nul-terminated ASCII string used as the
> + ==== ====================================================
> + name The 56-byte nul-terminated ASCII string used as the
> blob's 'file name' in the fw_cfg directory.
> - size : The length of the blob, as given in the fw_cfg
> + size The length of the blob, as given in the fw_cfg
> directory.
> - key : The value of the blob's selector key as given in the
> + key The value of the blob's selector key as given in the
> fw_cfg directory. This value is the same as used in
> the parent directory name.
> - raw : The raw bytes of the blob, obtained by selecting the
> + raw The raw bytes of the blob, obtained by selecting the
> entry via the control register, and reading a number
> of bytes equal to the blob size from the data
> register.
> + ==== ====================================================
>
> - --- Listing fw_cfg blobs by file name ---
> + **Listing fw_cfg blobs by file name**
>
> While the fw_cfg device does not impose any specific naming
> convention on the blobs registered in the file directory,
> QEMU developers have traditionally used path name semantics
> - to give each blob a descriptive name. For example:
> + to give each blob a descriptive name. For example::
>
> "bootorder"
> "genroms/kvmvapic.bin"
> @@ -81,7 +83,7 @@ Description:
> of directories matching the path name components of fw_cfg
> blob names, ending in symlinks to the by_key entry for each
> "basename", as illustrated below (assume current directory is
> - /sys/firmware):
> + /sys/firmware)::
>
> qemu_fw_cfg/by_name/bootorder -> ../by_key/38
> qemu_fw_cfg/by_name/etc/e820 -> ../../by_key/35
> diff --git a/Documentation/ABI/testing/sysfs-firmware-sfi b/Documentation/ABI/testing/sysfs-firmware-sfi
> index 4be7d44aeacf..5210e0f06ddb 100644
> --- a/Documentation/ABI/testing/sysfs-firmware-sfi
> +++ b/Documentation/ABI/testing/sysfs-firmware-sfi
> @@ -9,7 +9,7 @@ Description:
> http://simplefirmware.org/documentation
>
> While the tables are used by the kernel, user-space
> - can observe them this way:
> + can observe them this way::
>
> - # cd /sys/firmware/sfi/tables
> - # cat $TABLENAME > $TABLENAME.bin
> + # cd /sys/firmware/sfi/tables
> + # cat $TABLENAME > $TABLENAME.bin
> diff --git a/Documentation/ABI/testing/sysfs-firmware-sgi_uv b/Documentation/ABI/testing/sysfs-firmware-sgi_uv
> index 4573fd4b7876..66800baab096 100644
> --- a/Documentation/ABI/testing/sysfs-firmware-sgi_uv
> +++ b/Documentation/ABI/testing/sysfs-firmware-sgi_uv
> @@ -5,7 +5,7 @@ Description:
> The /sys/firmware/sgi_uv directory contains information
> about the SGI UV platform.
>
> - Under that directory are a number of files:
> + Under that directory are a number of files::
>
> partition_id
> coherence_id
> @@ -14,7 +14,7 @@ Description:
> SGI UV systems can be partitioned into multiple physical
> machines, which each partition running a unique copy
> of the operating system. Each partition will have a unique
> - partition id. To display the partition id, use the command:
> + partition id. To display the partition id, use the command::
>
> cat /sys/firmware/sgi_uv/partition_id
>
> @@ -22,6 +22,6 @@ Description:
> A partitioned SGI UV system can have one or more coherence
> domain. The coherence id indicates which coherence domain
> this partition is in. To display the coherence id, use the
> - command:
> + command::
>
> cat /sys/firmware/sgi_uv/coherence_id
> diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
> index 834d0becae6d..67b3ed8e8c2f 100644
> --- a/Documentation/ABI/testing/sysfs-fs-f2fs
> +++ b/Documentation/ABI/testing/sysfs-fs-f2fs
> @@ -20,10 +20,13 @@ What: /sys/fs/f2fs/<disk>/gc_idle
> Date: July 2013
> Contact: "Namjae Jeon" <namjae.jeon@samsung.com>
> Description: Controls the victim selection policy for garbage collection.
> - Setting gc_idle = 0(default) will disable this option. Setting
> - gc_idle = 1 will select the Cost Benefit approach & setting
> - gc_idle = 2 will select the greedy approach & setting
> - gc_idle = 3 will select the age-threshold based approach.
> + Setting gc_idle = 0(default) will disable this option. Setting:
> +
> + =========== ===============================================
> + gc_idle = 1 will select the Cost Benefit approach & setting
> + gc_idle = 2 will select the greedy approach & setting
> + gc_idle = 3 will select the age-threshold based approach.
> + =========== ===============================================
>
> What: /sys/fs/f2fs/<disk>/reclaim_segments
> Date: October 2013
> @@ -46,10 +49,17 @@ Date: November 2013
> Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
> Description: Controls the in-place-update policy.
> updates in f2fs. User can set:
> - 0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR,
> - 0x04: F2FS_IPU_UTIL, 0x08: F2FS_IPU_SSR_UTIL,
> - 0x10: F2FS_IPU_FSYNC, 0x20: F2FS_IPU_ASYNC,
> - 0x40: F2FS_IPU_NOCACHE.
> +
> + ==== =================
> + 0x01 F2FS_IPU_FORCE
> + 0x02 F2FS_IPU_SSR
> + 0x04 F2FS_IPU_UTIL
> + 0x08 F2FS_IPU_SSR_UTIL
> + 0x10 F2FS_IPU_FSYNC
> + 0x20 F2FS_IPU_ASYNC,
> + 0x40 F2FS_IPU_NOCACHE
> + ==== =================
> +
> Refer segment.h for details.
>
> What: /sys/fs/f2fs/<disk>/min_ipu_util
> @@ -332,18 +342,28 @@ Date: April 2020
> Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
> Description: Give a way to attach REQ_META|FUA to data writes
> given temperature-based bits. Now the bits indicate:
> - * REQ_META | REQ_FUA |
> - * 5 | 4 | 3 | 2 | 1 | 0 |
> - * Cold | Warm | Hot | Cold | Warm | Hot |
> +
> + +-------------------+-------------------+
> + | REQ_META | REQ_FUA |
> + +------+------+-----+------+------+-----+
> + | 5 | 4 | 3 | 2 | 1 | 0 |
> + +------+------+-----+------+------+-----+
> + | Cold | Warm | Hot | Cold | Warm | Hot |
> + +------+------+-----+------+------+-----+
>
> What: /sys/fs/f2fs/<disk>/node_io_flag
> Date: June 2020
> Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
> Description: Give a way to attach REQ_META|FUA to node writes
> given temperature-based bits. Now the bits indicate:
> - * REQ_META | REQ_FUA |
> - * 5 | 4 | 3 | 2 | 1 | 0 |
> - * Cold | Warm | Hot | Cold | Warm | Hot |
> +
> + +-------------------+-------------------+
> + | REQ_META | REQ_FUA |
> + +------+------+-----+------+------+-----+
> + | 5 | 4 | 3 | 2 | 1 | 0 |
> + +------+------+-----+------+------+-----+
> + | Cold | Warm | Hot | Cold | Warm | Hot |
> + +------+------+-----+------+------+-----+
>
> What: /sys/fs/f2fs/<disk>/iostat_period_ms
> Date: April 2020
> diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-ksm b/Documentation/ABI/testing/sysfs-kernel-mm-ksm
> index dfc13244cda3..1c9bed5595f5 100644
> --- a/Documentation/ABI/testing/sysfs-kernel-mm-ksm
> +++ b/Documentation/ABI/testing/sysfs-kernel-mm-ksm
> @@ -34,8 +34,9 @@ Description: Kernel Samepage Merging daemon sysfs interface
> in a tree.
>
> run: write 0 to disable ksm, read 0 while ksm is disabled.
> - write 1 to run ksm, read 1 while ksm is running.
> - write 2 to disable ksm and unmerge all its pages.
> +
> + - write 1 to run ksm, read 1 while ksm is running.
> + - write 2 to disable ksm and unmerge all its pages.
>
> sleep_millisecs: how many milliseconds ksm should sleep between
> scans.
> diff --git a/Documentation/ABI/testing/sysfs-kernel-slab b/Documentation/ABI/testing/sysfs-kernel-slab
> index ed35833ad7f0..c9f12baf8baa 100644
> --- a/Documentation/ABI/testing/sysfs-kernel-slab
> +++ b/Documentation/ABI/testing/sysfs-kernel-slab
> @@ -346,6 +346,7 @@ Description:
> number of objects per slab. If a slab cannot be allocated
> because of fragmentation, SLUB will retry with the minimum order
> possible depending on its characteristics.
> +
> When debug_guardpage_minorder=N (N > 0) parameter is specified
> (see Documentation/admin-guide/kernel-parameters.rst), the minimum possible
> order is used and this sysfs entry can not be used to change
> @@ -361,6 +362,7 @@ Description:
> new slab has not been possible at the cache's order and instead
> fallen back to its minimum possible order. It can be written to
> clear the current count.
> +
> Available when CONFIG_SLUB_STATS is enabled.
>
> What: /sys/kernel/slab/cache/partial
> @@ -410,6 +412,7 @@ Description:
> slab from a remote node as opposed to allocating a new slab on
> the local node. This reduces the amount of wasted memory over
> the entire system but can be expensive.
> +
> Available when CONFIG_NUMA is enabled.
>
> What: /sys/kernel/slab/cache/sanity_checks
> diff --git a/Documentation/ABI/testing/sysfs-module b/Documentation/ABI/testing/sysfs-module
> index 0aac02e7fb0e..353c0db5bc1f 100644
> --- a/Documentation/ABI/testing/sysfs-module
> +++ b/Documentation/ABI/testing/sysfs-module
> @@ -17,14 +17,15 @@ KernelVersion: 3.1
> Contact: Kirill Smelkov <kirr@mns.spb.ru>
> Description: Maximum time allowed for periodic transfers per microframe (μs)
>
> - [ USB 2.0 sets maximum allowed time for periodic transfers per
> + Note:
> + USB 2.0 sets maximum allowed time for periodic transfers per
> microframe to be 80%, that is 100 microseconds out of 125
> microseconds (full microframe).
>
> However there are cases, when 80% max isochronous bandwidth is
> too limiting. For example two video streams could require 110
> microseconds of isochronous bandwidth per microframe to work
> - together. ]
> + together.
>
> Through this setting it is possible to raise the limit so that
> the host controller would allow allocating more than 100
> @@ -45,8 +46,10 @@ Date: Jan 2012
> KernelVersion:»·3.3
> Contact: Kay Sievers <kay.sievers@vrfy.org>
> Description: Module taint flags:
> - P - proprietary module
> - O - out-of-tree module
> - F - force-loaded module
> - C - staging driver module
> - E - unsigned module
> + == =====================
> + P proprietary module
> + O out-of-tree module
> + F force-loaded module
> + C staging driver module
> + E unsigned module
> + == =====================
> diff --git a/Documentation/ABI/testing/sysfs-platform-dell-laptop b/Documentation/ABI/testing/sysfs-platform-dell-laptop
> index 9b917c7453de..82bcfe9df66e 100644
> --- a/Documentation/ABI/testing/sysfs-platform-dell-laptop
> +++ b/Documentation/ABI/testing/sysfs-platform-dell-laptop
> @@ -34,9 +34,12 @@ Description:
> this file. To disable a trigger, write its name preceded
> by '-' instead.
>
> - For example, to enable the keyboard as trigger run:
> + For example, to enable the keyboard as trigger run::
> +
> echo +keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers
> - To disable it:
> +
> + To disable it::
> +
> echo -keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers
>
> Note that not all the available triggers can be configured.
> @@ -57,7 +60,8 @@ Description:
> with any the above units. If no unit is specified, the value
> is assumed to be expressed in seconds.
>
> - For example, to set the timeout to 10 minutes run:
> + For example, to set the timeout to 10 minutes run::
> +
> echo 10m > /sys/class/leds/dell::kbd_backlight/stop_timeout
>
> Note that when this file is read, the returned value might be
> diff --git a/Documentation/ABI/testing/sysfs-platform-dell-smbios b/Documentation/ABI/testing/sysfs-platform-dell-smbios
> index 205d3b6361e0..e6e0f7f834a7 100644
> --- a/Documentation/ABI/testing/sysfs-platform-dell-smbios
> +++ b/Documentation/ABI/testing/sysfs-platform-dell-smbios
> @@ -13,8 +13,8 @@ Description:
> For example the token ID "5" would be available
> as the following attributes:
>
> - 0005_location
> - 0005_value
> + - 0005_location
> + - 0005_value
>
> Tokens will vary from machine to machine, and
> only tokens available on that machine will be
> diff --git a/Documentation/ABI/testing/sysfs-platform-i2c-demux-pinctrl b/Documentation/ABI/testing/sysfs-platform-i2c-demux-pinctrl
> index c394b808be19..b6a138b50d99 100644
> --- a/Documentation/ABI/testing/sysfs-platform-i2c-demux-pinctrl
> +++ b/Documentation/ABI/testing/sysfs-platform-i2c-demux-pinctrl
> @@ -5,9 +5,9 @@ Contact: Wolfram Sang <wsa+renesas@sang-engineering.com>
> Description:
> Reading the file will give you a list of masters which can be
> selected for a demultiplexed bus. The format is
> - "<index>:<name>". Example from a Renesas Lager board:
> + "<index>:<name>". Example from a Renesas Lager board::
>
> - 0:/i2c@e6500000 1:/i2c@e6508000
> + 0:/i2c@e6500000 1:/i2c@e6508000
>
> What: /sys/devices/platform/<i2c-demux-name>/current_master
> Date: January 2016
> diff --git a/Documentation/ABI/testing/sysfs-platform-kim b/Documentation/ABI/testing/sysfs-platform-kim
> index c1653271872a..a7f81de68046 100644
> --- a/Documentation/ABI/testing/sysfs-platform-kim
> +++ b/Documentation/ABI/testing/sysfs-platform-kim
> @@ -5,6 +5,7 @@ Contact: "Pavan Savoy" <pavan_savoy@ti.com>
> Description:
> Name of the UART device at which the WL128x chip
> is connected. example: "/dev/ttyS0".
> +
> The device name flows down to architecture specific board
> initialization file from the SFI/ATAGS bootloader
> firmware. The name exposed is read from the user-space
> diff --git a/Documentation/ABI/testing/sysfs-platform-phy-rcar-gen3-usb2 b/Documentation/ABI/testing/sysfs-platform-phy-rcar-gen3-usb2
> index 6212697bbf6f..bc510ccc37a7 100644
> --- a/Documentation/ABI/testing/sysfs-platform-phy-rcar-gen3-usb2
> +++ b/Documentation/ABI/testing/sysfs-platform-phy-rcar-gen3-usb2
> @@ -7,9 +7,11 @@ Description:
> The file can show/change the phy mode for role swap of usb.
>
> Write the following strings to change the mode:
> - "host" - switching mode from peripheral to host.
> - "peripheral" - switching mode from host to peripheral.
> +
> + - "host" - switching mode from peripheral to host.
> + - "peripheral" - switching mode from host to peripheral.
>
> Read the file, then it shows the following strings:
> - "host" - The mode is host now.
> - "peripheral" - The mode is peripheral now.
> +
> + - "host" - The mode is host now.
> + - "peripheral" - The mode is peripheral now.
> diff --git a/Documentation/ABI/testing/sysfs-platform-renesas_usb3 b/Documentation/ABI/testing/sysfs-platform-renesas_usb3
> index 5621c15d5dc0..8af5b9c3fabb 100644
> --- a/Documentation/ABI/testing/sysfs-platform-renesas_usb3
> +++ b/Documentation/ABI/testing/sysfs-platform-renesas_usb3
> @@ -7,9 +7,11 @@ Description:
> The file can show/change the drd mode of usb.
>
> Write the following string to change the mode:
> - "host" - switching mode from peripheral to host.
> - "peripheral" - switching mode from host to peripheral.
> +
> + - "host" - switching mode from peripheral to host.
> + - "peripheral" - switching mode from host to peripheral.
>
> Read the file, then it shows the following strings:
> - "host" - The mode is host now.
> - "peripheral" - The mode is peripheral now.
> +
> + - "host" - The mode is host now.
> + - "peripheral" - The mode is peripheral now.
> diff --git a/Documentation/ABI/testing/sysfs-power b/Documentation/ABI/testing/sysfs-power
> index 5e6ead29124c..51c0f578bfce 100644
> --- a/Documentation/ABI/testing/sysfs-power
> +++ b/Documentation/ABI/testing/sysfs-power
> @@ -47,14 +47,18 @@ Description:
> suspend-to-disk mechanism. Reading from this file returns
> the name of the method by which the system will be put to
> sleep on the next suspend. There are four methods supported:
> +
> 'firmware' - means that the memory image will be saved to disk
> by some firmware, in which case we also assume that the
> firmware will handle the system suspend.
> +
> 'platform' - the memory image will be saved by the kernel and
> the system will be put to sleep by the platform driver (e.g.
> ACPI or other PM registers).
> +
> 'shutdown' - the memory image will be saved by the kernel and
> the system will be powered off.
> +
> 'reboot' - the memory image will be saved by the kernel and
> the system will be rebooted.
>
> @@ -74,12 +78,12 @@ Description:
> The suspend-to-disk method may be chosen by writing to this
> file one of the accepted strings:
>
> - 'firmware'
> - 'platform'
> - 'shutdown'
> - 'reboot'
> - 'testproc'
> - 'test'
> + - 'firmware'
> + - 'platform'
> + - 'shutdown'
> + - 'reboot'
> + - 'testproc'
> + - 'test'
>
> It will only change to 'firmware' or 'platform' if the system
> supports that.
> @@ -114,9 +118,9 @@ Description:
> string representing a nonzero integer into it.
>
> To use this debugging feature you should attempt to suspend
> - the machine, then reboot it and run
> + the machine, then reboot it and run::
>
> - dmesg -s 1000000 | grep 'hash matches'
> + dmesg -s 1000000 | grep 'hash matches'
>
> If you do not get any matches (or they appear to be false
> positives), it is possible that the last PM event point
> @@ -244,6 +248,7 @@ Description:
> wakeup sources created with the help of /sys/power/wake_lock.
> When a string is written to /sys/power/wake_unlock, it will be
> assumed to represent the name of a wakeup source to deactivate.
> +
> If a wakeup source object of that name exists and is active at
> the moment, it will be deactivated.
>
> diff --git a/Documentation/ABI/testing/sysfs-profiling b/Documentation/ABI/testing/sysfs-profiling
> index 8a8e466eb2c0..e39dd3a0ceef 100644
> --- a/Documentation/ABI/testing/sysfs-profiling
> +++ b/Documentation/ABI/testing/sysfs-profiling
> @@ -5,7 +5,7 @@ Description:
> /sys/kernel/profiling is the runtime equivalent
> of the boot-time profile= option.
>
> - You can get the same effect running:
> + You can get the same effect running::
>
> echo 2 > /sys/kernel/profiling
>
> diff --git a/Documentation/ABI/testing/sysfs-wusb_cbaf b/Documentation/ABI/testing/sysfs-wusb_cbaf
> index a99c5f86a37a..2969d3694ec0 100644
> --- a/Documentation/ABI/testing/sysfs-wusb_cbaf
> +++ b/Documentation/ABI/testing/sysfs-wusb_cbaf
> @@ -45,7 +45,8 @@ Description:
> 7. Device is unplugged.
>
> References:
> - [WUSB-AM] Association Models Supplement to the
> + [WUSB-AM]
> + Association Models Supplement to the
> Certified Wireless Universal Serial Bus
> Specification, version 1.0.
>
> diff --git a/Documentation/ABI/testing/usb-charger-uevent b/Documentation/ABI/testing/usb-charger-uevent
> index 419a92dd0d86..1db89b0cf80f 100644
> --- a/Documentation/ABI/testing/usb-charger-uevent
> +++ b/Documentation/ABI/testing/usb-charger-uevent
> @@ -3,44 +3,52 @@ Date: 2020-01-14
> KernelVersion: 5.6
> Contact: linux-usb@vger.kernel.org
> Description: There are two USB charger states:
> - USB_CHARGER_ABSENT
> - USB_CHARGER_PRESENT
> +
> + - USB_CHARGER_ABSENT
> + - USB_CHARGER_PRESENT
> +
> There are five USB charger types:
> - USB_CHARGER_UNKNOWN_TYPE: Charger type is unknown
> - USB_CHARGER_SDP_TYPE: Standard Downstream Port
> - USB_CHARGER_CDP_TYPE: Charging Downstream Port
> - USB_CHARGER_DCP_TYPE: Dedicated Charging Port
> - USB_CHARGER_ACA_TYPE: Accessory Charging Adapter
> +
> + ======================== ==========================
> + USB_CHARGER_UNKNOWN_TYPE Charger type is unknown
> + USB_CHARGER_SDP_TYPE Standard Downstream Port
> + USB_CHARGER_CDP_TYPE Charging Downstream Port
> + USB_CHARGER_DCP_TYPE Dedicated Charging Port
> + USB_CHARGER_ACA_TYPE Accessory Charging Adapter
> + ======================== ==========================
> +
> https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement
>
> - Here are two examples taken using udevadm monitor -p when
> - USB charger is online:
> - UDEV change /devices/soc0/usbphynop1 (platform)
> - ACTION=change
> - DEVPATH=/devices/soc0/usbphynop1
> - DRIVER=usb_phy_generic
> - MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
> - OF_COMPATIBLE_0=usb-nop-xceiv
> - OF_COMPATIBLE_N=1
> - OF_FULLNAME=/usbphynop1
> - OF_NAME=usbphynop1
> - SEQNUM=2493
> - SUBSYSTEM=platform
> - USB_CHARGER_STATE=USB_CHARGER_PRESENT
> - USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE
> - USEC_INITIALIZED=227422826
> + Here are two examples taken using ``udevadm monitor -p`` when
> + USB charger is online::
>
> - USB charger is offline:
> - KERNEL change /devices/soc0/usbphynop1 (platform)
> - ACTION=change
> - DEVPATH=/devices/soc0/usbphynop1
> - DRIVER=usb_phy_generic
> - MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
> - OF_COMPATIBLE_0=usb-nop-xceiv
> - OF_COMPATIBLE_N=1
> - OF_FULLNAME=/usbphynop1
> - OF_NAME=usbphynop1
> - SEQNUM=2494
> - SUBSYSTEM=platform
> - USB_CHARGER_STATE=USB_CHARGER_ABSENT
> - USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE
> + UDEV change /devices/soc0/usbphynop1 (platform)
> + ACTION=change
> + DEVPATH=/devices/soc0/usbphynop1
> + DRIVER=usb_phy_generic
> + MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
> + OF_COMPATIBLE_0=usb-nop-xceiv
> + OF_COMPATIBLE_N=1
> + OF_FULLNAME=/usbphynop1
> + OF_NAME=usbphynop1
> + SEQNUM=2493
> + SUBSYSTEM=platform
> + USB_CHARGER_STATE=USB_CHARGER_PRESENT
> + USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE
> + USEC_INITIALIZED=227422826
> +
> + USB charger is offline::
> +
> + KERNEL change /devices/soc0/usbphynop1 (platform)
> + ACTION=change
> + DEVPATH=/devices/soc0/usbphynop1
> + DRIVER=usb_phy_generic
> + MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
> + OF_COMPATIBLE_0=usb-nop-xceiv
> + OF_COMPATIBLE_N=1
> + OF_FULLNAME=/usbphynop1
> + OF_NAME=usbphynop1
> + SEQNUM=2494
> + SUBSYSTEM=platform
> + USB_CHARGER_STATE=USB_CHARGER_ABSENT
> + USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE
> diff --git a/Documentation/ABI/testing/usb-uevent b/Documentation/ABI/testing/usb-uevent
> index d35c3cad892c..2b8eca4bf2b1 100644
> --- a/Documentation/ABI/testing/usb-uevent
> +++ b/Documentation/ABI/testing/usb-uevent
> @@ -6,22 +6,22 @@ Description: When the USB Host Controller has entered a state where it is no
> longer functional a uevent will be raised. The uevent will
> contain ACTION=offline and ERROR=DEAD.
>
> - Here is an example taken using udevadm monitor -p:
> + Here is an example taken using udevadm monitor -p::
>
> - KERNEL[130.428945] offline /devices/pci0000:00/0000:00:10.0/usb2 (usb)
> - ACTION=offline
> - BUSNUM=002
> - DEVNAME=/dev/bus/usb/002/001
> - DEVNUM=001
> - DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2
> - DEVTYPE=usb_device
> - DRIVER=usb
> - ERROR=DEAD
> - MAJOR=189
> - MINOR=128
> - PRODUCT=1d6b/2/414
> - SEQNUM=2168
> - SUBSYSTEM=usb
> - TYPE=9/0/1
> + KERNEL[130.428945] offline /devices/pci0000:00/0000:00:10.0/usb2 (usb)
> + ACTION=offline
> + BUSNUM=002
> + DEVNAME=/dev/bus/usb/002/001
> + DEVNUM=001
> + DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2
> + DEVTYPE=usb_device
> + DRIVER=usb
> + ERROR=DEAD
> + MAJOR=189
> + MINOR=128
> + PRODUCT=1d6b/2/414
> + SEQNUM=2168
> + SUBSYSTEM=usb
> + TYPE=9/0/1
>
> Users: chromium-os-dev@chromium.org
> diff --git a/scripts/get_abi.pl b/scripts/get_abi.pl
> index 413349789145..bdef3e5c35c7 100755
> --- a/scripts/get_abi.pl
> +++ b/scripts/get_abi.pl
> @@ -316,8 +316,6 @@ sub output_rest {
> $len = length($name) if (length($name) > $len);
> }
>
> - print "What:\n\n";
> -
> print "+-" . "-" x $len . "-+\n";
> foreach my $name (@names) {
> printf "| %s", $name . " " x ($len - length($name)) . " |\n";
> --
> 2.26.2
>
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox