Re: [PATCH 2/3] docs: submitting-patches: clarify difference between Acked-by and Reviewed-by

2025-01-13 Thread Jani Nikula
iled review of it. Additionally, I may indicate whether a detailed review (by someone else) is required, or whether I think the ack is sufficient for merging. 2) I'm fine with the patch to the area I maintain being merged via some other maintainers' repositories. I may or may not have also given my Reviewed-by in this case, which alone is not an approval to merge via other trees. I think this pretty much aligns with the patch series. BR, Jani. -- Jani Nikula, Intel

Re: [PATCH] docs: media: document media multi-committers rules and process

2024-11-28 Thread Jani Nikula
ontributors and regularly > participate at the media summits. > > Once the "slow start" phase finishes, we can review the process and > start thinking on getting more developers and committers. Just saying, it's easier to convince people to become committers with no strings attached than (co-)maintainers with a bunch of responsibilities, such as review or travel obligations. BR, Jani. -- Jani Nikula, Intel

Re: [PATCH] docs: media: document media multi-committers rules and process

2024-11-28 Thread Jani Nikula
't be able to figure it all out in advance. All that said, I commend all efforts to move towards shared maintainership models, whether it's group maintainership or committer/maintainer model or something in between. Just offering my views here, which you're obviously free to completely ignore to your benefit or detriment. ;) BR, Jani. -- Jani Nikula, Intel

Re: [PATCH v5 01/14] lib: Add TLV parser

2024-09-06 Thread Jani Nikula
On Fri, 06 Sep 2024, Roberto Sassu wrote: > On Fri, 2024-09-06 at 11:06 +0300, Jani Nikula wrote: >> On Fri, 06 Sep 2024, Roberto Sassu wrote: >> > On Thu, 2024-09-05 at 20:30 +0300, Jani Nikula wrote: >> > > On Thu, 05 Sep 2024, Roberto Sassu wrote

Re: [PATCH v5 01/14] lib: Add TLV parser

2024-09-06 Thread Jani Nikula
On Fri, 06 Sep 2024, Roberto Sassu wrote: > On Thu, 2024-09-05 at 20:30 +0300, Jani Nikula wrote: >> On Thu, 05 Sep 2024, Roberto Sassu wrote: >> > From: Roberto Sassu >> > >> > Add a parser of a ge

Re: [PATCH v5 01/14] lib: Add TLV parser

2024-09-05 Thread Jani Nikula
&parsed_total_len, data_types, > + num_data_types); > + switch (ret) { > + case 0: > + /* > + * tlv_parse_hdr() already checked that > + * parsed_total_len <= data_len. > + */ > + data_ptr += parsed_total_len; > + data_len -= parsed_total_len; > + continue; > + case 1: > + break; > + default: > + goto out; > + } > + > + ret = tlv_parse_data(data_callback, data_callback_data, > + parsed_num_entries, data_ptr, > + parsed_total_len, fields, num_fields); > + if (ret < 0) > + goto out; > + > + data_ptr += parsed_total_len; > + data_len -= parsed_total_len; > + } > +out: > + pr_debug("End of parsing data blob, ret: %d\n", ret); > + return ret; > +} > diff --git a/lib/tlv_parser.h b/lib/tlv_parser.h > new file mode 100644 > index ..8fa8127bd13e > --- /dev/null > +++ b/lib/tlv_parser.h > @@ -0,0 +1,17 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +/* > + * Copyright (C) 2023-2024 Huawei Technologies Duesseldorf GmbH > + * > + * Author: Roberto Sassu > + * > + * Header file of TLV parser. > + */ > + > +#ifndef _LIB_TLV_PARSER_H > +#define _LIB_TLV_PARSER_H > + > +#include > +#include > +#include > + > +#endif /* _LIB_TLV_PARSER_H */ -- Jani Nikula, Intel

Re: [PATCH 2/2] Documentation: best practices for using Link trailers

2024-06-19 Thread Jani Nikula
r. BR, Jani. > + > + Link: https://patch.msgid.link/patch-source-msgid@here > > Please do not use combined tags, e.g. ``Reported-and-tested-by``, as > they just complicate automated extraction of tags. -- Jani Nikula, Intel

Re: [PATCH v1 2/2] Documentation: process: Recommend to put Cc: tags after cutter '---' line

2024-04-23 Thread Jani Nikula
On Tue, 23 Apr 2024, Andy Shevchenko wrote: > On Tue, Apr 23, 2024 at 07:37:34PM +0300, Jani Nikula wrote: >> On Tue, 23 Apr 2024, Andy Shevchenko >> wrote: >> > On Tue, Apr 23, 2024 at 05:30:49PM +0300, Jani Nikula wrote: >> >> The Cc's on the mailing

Re: [PATCH v1 2/2] Documentation: process: Recommend to put Cc: tags after cutter '---' line

2024-04-23 Thread Jani Nikula
On Tue, 23 Apr 2024, Andy Shevchenko wrote: > On Tue, Apr 23, 2024 at 05:30:49PM +0300, Jani Nikula wrote: >> The Cc's on the mailing list archive are harder to dig up, and do not >> accurately reflect the same information. > > How comes? These Cc: are 1:1 mapped to the

Re: [PATCH v1 2/2] Documentation: process: Recommend to put Cc: tags after cutter '---' line

2024-04-23 Thread Jani Nikula
email headers on the mail > archives, > +such as https://lore.kernel.org. > + > Co-developed-by: states that the patch was co-created by multiple developers; > it is used to give attribution to co-authors (in addition to the author > attributed by the From: tag) when several people work on a single patch. > Since -- Jani Nikula, Intel

Re: [PATCH] compiler.h: Explain how __is_constexpr() works

2024-03-01 Thread Jani Nikula
matches my recollection of how it works. Especially the meaning of the first 8 threw me off way back when. And looks like I've replied to that effect for v1. FWIW, Reviewed-by: Jani Nikula but I'm sure there are more pedantic reviewers for all the minor details. > > Acked-by: Gustavo A

Re: [PATCH v2 0/3] docs: submit-checklist: structure by category

2024-02-29 Thread Jani Nikula
On Thu, 29 Feb 2024, Lukas Bulwahn wrote: > from Jani Nikula: > - turn categories into subheadings > - use common heading adornment > - change to bullet or autonumbered lists > - propose those changes as separate additional patches I was hoping these cleanups would'

Re: [PATCH] docs: submit-checklist: structure by category

2024-02-26 Thread Jani Nikula
ly updated bullet numbering. Either make them bulleted lists with "*" or autonumbered lists with "#.". See [1]. This should be a separate change. BR, Jani. [1] https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#lists-and-quote-like-blocks -- Jani Nikula, Intel

Re: [PATCH v3] Documentation: Document the Linux Kernel CVE process

2024-02-16 Thread Jani Nikula
. rst basically allows any order of the heading underlines, and their relative hierarchy is determined by how they show up in each document, it's not specified by rst. However, it would be much easier for everyone if all the kernel documents followed the same style. BR, Jani. -- Jani Nikula, Intel

Re: [PATCH] docs: submitting-patches: encourage direct notifications to reviewers

2023-10-02 Thread Jani Nikula
20+ > subsystems. Between mailing lists and maintainers that's usually > already 60+ recipients. If you now add a another 2-3 maintainers > we're just going to hit limits in mail servers. I thought this was about adding people who have commented on previous versions to Cc. That&

Re: [PATCH 05/12] infiniband: fix ulp/opa_vnic/opa_vnic_encap.h kernel-doc notation

2019-10-23 Thread Jani Nikula
* struct foo - bar * @*: This member is private. */ Would generate the documentation for the member with the catch-all documentation, which might be a generally useful feature, and would be easy on the source code side. This could be combined with the PRIVATE designation above, practically leading to the same result as the first option but with more flexibility. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH v2] docs: Use make invocation's -j argument for parallelism

2019-09-25 Thread Jani Nikula
On Tue, 24 Sep 2019, Kees Cook wrote: > On Tue, Sep 24, 2019 at 10:12:22AM +0300, Jani Nikula wrote: >> On Mon, 23 Sep 2019, Kees Cook wrote: >> > On Sun, Sep 22, 2019 at 02:03:31PM -0600, Jonathan Corbet wrote: >> >> On Thu, 19 Sep 2019 14:44:3

Re: [RFC][PATCH] docs: Programmatically render MAINTAINERS into ReST

2019-09-24 Thread Jani Nikula
so notify the people that have git commit signatures. > - X: Files and directories that are NOT maintained, same rules as F: > -Files exclusions are tested before file matches. > + X: *Excluded* files and directories that are NOT maintained, same > +rules as F:. Files exclusions are tested before file matches. > Can be useful for excluding a specific subdirectory, for instance: > F: net/ > X: net/ipv6/ > matches all files in and below net excluding net/ipv6/ > - K: Keyword perl extended regex pattern to match content in a > -patch or file. For instance: > + K: *Content regex* (perl extended) pattern match in a patch or file. > +For instance: > K: of_get_profile > matches patches or files that contain "of_get_profile" > K: \b(printk|pr_(info|err))\b > @@ -128,13 +130,12 @@ Descriptions of section entries: > printk, pr_info or pr_err > One regex pattern per line. Multiple K: lines acceptable. > > -Note: For the hard of thinking, this list is meant to remain in alphabetical > -order. If you could add yourselves to it in alphabetical order that would be > -so much easier [Ed] > - > -Maintainers List (try to look for most precise areas first) > +Maintainers List > + > > - --- > +.. note:: When reading this list, please look for the most precise areas > + first. When adding to this list, please keep the entries in > + alphabetical order. > > 3C59X NETWORK DRIVER > M: Steffen Klassert > -- > 2.17.1 -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH v2] docs: Use make invocation's -j argument for parallelism

2019-09-24 Thread Jani Nikula
+os.write(writer, jobs) >> >> You made writer nonblocking, so it seems plausible that we could leak some >> slots here, no? Does writer really need to be nonblocking? > > Good point. I will fix this too. > >> >> > +# If the jobserver was (impossibly) full or communication failed, use >> > default. >> > +if len(jobs) < 1: >> > + print(default) >> > + >> > +# Report available slots (with a bump for our caller's reserveration). >> > +print(len(jobs) + 1) >> >> The last question I have is...why is it that we have to do this complex >> dance rather than just passing the "-j" option through directly to sphinx? >> That comes down to the "confusion" mentioned at the top, I assume. It >> would be good to understand that? > > There is no method I have found to discover the -j option's contents > (intentionally so, it seems) from within make. :( -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH] docs: printk-formats: Stop encouraging use of unnecessary %h[xudi] and %hh[xudi]

2019-09-09 Thread Jani Nikula
On Fri, 06 Sep 2019, Joe Perches wrote: > Link: > https://lore.kernel.org/lkml/CAHk-=wgoxnmsj8GEVFJSvTwdnWm8wVJthefNk2n6+4TC=20...@mail.gmail.com/ I thought Link: was for referencing the patch on the mailing list that became the commit in git. BR, Jani. -- Jani Nikula, Intel Open

Re: [PATCH v2] vsprintf: introduce %dE for error constants

2019-08-28 Thread Jani Nikula
ed up, we can just remove the feature again >> next >> year (or so). > > It looks like a lot of potentially useless work. > > >> I dropped the example conversion, I think the idea should be clear now >> even without an explicit example. > > Please, do the op

Re: [PATCH v1 1/2] vsprintf: introduce %dE for error constants

2019-08-26 Thread Jani Nikula
On Mon, 26 Aug 2019, Jani Nikula wrote: > On Sat, 24 Aug 2019, Andrew Morton wrote: >>> --- a/lib/vsprintf.c >>> +++ b/lib/vsprintf.c >>> @@ -533,6 +533,192 @@ char *number(char *buf, char *end, unsigned long long >>> num, >>> return buf; &g

Re: [PATCH v1 1/2] vsprintf: introduce %dE for error constants

2019-08-26 Thread Jani Nikula
[x] = #x static const char * const errorcodes[] = { ERRORCODE(EPERM), ERRORCODE(ENOENT), ... }; Saves space, faster lookup, discovers at build time why EWOULDBLOCK would always show up as EAGAIN in the logs. We don't have holes to speak of in the error codes. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH v2 0/4] Compile-test UAPI and kernel headers

2019-06-27 Thread Jani Nikula
27;s pretty much the only way to expose them and get them fixed/excluded, and it's behind a config knob after all. With the caveat that I didn't finish the build, but OTOH tested the rainy day scenario and had the patch find issues it's meant to find: Tested-by: Ja

Re: [PATCH v2 3/4] kbuild: support header-test-pattern-y

2019-06-27 Thread Jani Nikula
ard character is '%' instead of '*' because this is evaluated by > $(filter-out ...) whereas header-test-pattern-y is evaluated by > $(wildcard ...). This is a kludge, but seems useful in some places... > > Signed-off-by: Masahiro Yamada Awesome! This will let us get

Re: [PATCH v2 2/4] kbuild: do not create wrappers for header-test-y

2019-06-27 Thread Jani Nikula
C sources for header test (header-test-y target) > +# header test (header-test-y target) > # ----------- > > -quiet_cmd_header_test = HDRTEST $@ > - cmd_header_test = echo "\#include \"$*.h\""

Re: [PATCH 12/14] doc-rst: add ABI documentation to the admin-guide book

2019-06-27 Thread Jani Nikula
On Fri, 21 Jun 2019, Mauro Carvalho Chehab wrote: > Em Wed, 19 Jun 2019 13:37:39 -0300 > Mauro Carvalho Chehab escreveu: > >> Em Tue, 18 Jun 2019 11:47:32 +0300 >> Jani Nikula escreveu: >> >> > On Mon, 17 Jun 2019, Mauro Carvalho Chehab >> &g

Re: [PATCH 1/3] Docs: An initial automarkup extension for sphinx

2019-06-24 Thread Jani Nikula
is a better approach than preprocessing. Thanks for doing this! I toyed with something like this before, and the key difference here seems to be ignoring literal blocks. The problem seemed to be that replacing blocks with syntax highlighting also removed the syntax highlighting, with no way that I could find to bring it back. Obviously it would be great to be able to add the cross references in more places than just bulk text nodes, but this is a good start. BR, Jani. > + > +def setup(app): > +app.connect('doctree-resolved', auto_markup) > +return { > +'parallel_read_safe': True, > +'parallel_write_safe': True, > +} -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH v1 12/22] docs: driver-api: add .rst files from the main dir

2019-06-19 Thread Jani Nikula
We could even add an attic directory, which would be a suitable place for things like zorro.txt. Attic is where I'd look for my old Amiga hardware, so feels natural. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH 12/14] doc-rst: add ABI documentation to the admin-guide book

2019-06-18 Thread Jani Nikula
On Mon, 17 Jun 2019, Mauro Carvalho Chehab wrote: > Yeah, I guess it should be possible to do that. How a python script > can identify if it was called by Sphinx, or if it was called directly? if __name__ == '__main__': # run on the command-line, not imported BR, Jani.

Re: [PATCH 12/14] doc-rst: add ABI documentation to the admin-guide book

2019-06-17 Thread Jani Nikula
On Mon, 17 Jun 2019, Greg Kroah-Hartman wrote: > On Mon, Jun 17, 2019 at 03:36:17PM +0300, Jani Nikula wrote: >> On Fri, 14 Jun 2019, Mauro Carvalho Chehab >> wrote: >> > Em Fri, 14 Jun 2019 16:06:03 +0200 >> > Greg Kroah-Hartman escreveu: >> > >

Re: [PATCH 12/14] doc-rst: add ABI documentation to the admin-guide book

2019-06-17 Thread Jani Nikula
On Fri, 14 Jun 2019, Mauro Carvalho Chehab wrote: > Em Fri, 14 Jun 2019 16:06:03 +0200 > Greg Kroah-Hartman escreveu: > >> On Fri, Jun 14, 2019 at 04:42:20PM +0300, Jani Nikula wrote: >> > 2) Have the python extension read the ABI files directly, without an >> &g

Re: [PATCH 05/14] scripts: add an script to parse the ABI files

2019-06-14 Thread Jani Nikula
On Fri, 14 Jun 2019, Greg Kroah-Hartman wrote: > On Fri, Jun 14, 2019 at 04:31:56PM +0300, Jani Nikula wrote: >> On Thu, 13 Jun 2019, Mauro Carvalho Chehab >> wrote: >> > From: Mauro Carvalho Chehab >> > >> > Add a script to parse the Documentation/ABI

Re: [PATCH 12/14] doc-rst: add ABI documentation to the admin-guide book

2019-06-14 Thread Jani Nikula
gt; +self.warn(err) > +if proc.returncode != 0: > +raise self.severe( > +u"command '%s' failed with return code %d" > +% (cmd, proc.returncode) > +) > +except OSError as exc: > +raise self.severe(u"problems with '%s' directive: %s." > + % (self.name, ErrorString(exc))) > +return unicode(out) > + > +def nestedParse(self, lines, fname): > +content = ViewList() > +node= nodes.section() > + > +if "debug" in self.options: > +code_block = "\n\n.. code-block:: rst\n:linenos:\n" > +for l in lines.split("\n"): > +code_block += "\n" + l > +lines = code_block + "\n\n" > + > +for c, l in enumerate(lines.split("\n")): > +content.append(l, fname, c) > + > +buf = self.state.memo.title_styles, self.state.memo.section_level, > self.state.memo.reporter > +self.state.memo.title_styles = [] > +self.state.memo.section_level = 0 > +self.state.memo.reporter = AutodocReporter(content, > self.state.memo.reporter) > +try: > +self.state.nested_parse(content, 0, node, match_titles=1) > +finally: > +self.state.memo.title_styles, self.state.memo.section_level, > self.state.memo.reporter = buf > +return node.children -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH 05/14] scripts: add an script to parse the ABI files

2019-06-14 Thread Jani Nikula
the Linux ABI files and produce a ReST book. > + > +=head1 SYNOPSIS > + > +B [--debug] ] > + > +=head1 OPTIONS > + > +=over 8 > + > +=item B<--debug> > + > +Put the script in verbose mode, useful for debugging. Can be called multiple > +times, to increase verbosity. > + > +=item B<--help> > + > +Prints a brief help message and exits. > + > +=item B<--man> > + > +Prints the manual page and exits. > + > +=back > + > +=head1 DESCRIPTION > + > +Parse the Linux ABI files from ABI DIR (usually located at Documentation/ABI) > +and produce a ReST book containing the Linux ABI. > + > +=head1 BUGS > + > +Report bugs to Mauro Carvalho Chehab > + > +=head1 COPYRIGHT > + > +Copyright (c) 2016 by Mauro Carvalho Chehab . > + > +License GPLv2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>. > + > +This is free software: you are free to change and redistribute it. > +There is NO WARRANTY, to the extent permitted by law. > + > +=cut -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH] sphinx.rst: Add note about code snippets embedded in the text

2019-06-12 Thread Jani Nikula
hat doesn't really benefit >from syntax highlighting, especially short snippets. Use >``.. code-block:: `` for longer code blocks that benefit > - from highlighting. > + from highlighting. For a short snippet of code embedded in the text, use > \`\`. > > > the C domain -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH v2] Add a document on rebasing and merging

2019-06-06 Thread Jani Nikula
line toward the beginning of > +the development cycle in order to pick up changes and fixes done elsewhere > +in the tree. As always, such a merge should pick a well-known release > +point rather than some random spot. If your upstream-bound branch has > +emptied entirely into the mainline during the merge window, you can pull > it +forward with a command like:: > + > + git merge v5.2-rc1^0 > + > +The "^0" will cause Git to do a fast-forward merge (which should be > +possible in this situation), thus avoiding the addition of a spurious > merge +commit. > + > +The guidelines laid out above are just that: guidelines. There will > always +be situations that call out for a different solution, and these > guidelines +should not prevent developers from doing the right thing when > the need +arises. But one should always think about whether the need has > truly +arisen and be prepared to explain why something abnormal needs to > be done. -- > 2.21.0 > -- Jani Nikula, Intel Open Source Graphics Center

[PATCH v2] kbuild: add support for ensuring headers are self-contained

2019-06-04 Thread Jani Nikula
ested if CONFIG_HEADER_TEST is enabled. This will generate a dummy C file per header that gets built as part of extra-y. Cc: Chris Wilson Cc: Masahiro Yamada Cc: Michal Marek Cc: Sam Ravnborg Signed-off-by: Jani Nikula --- v2: changes suggested by Masahiro: http://mid.mail-archive.com/CAK

Re: [PATCH 09/10] docs: by default, build docs a lot faster with Sphinx >= 1.7

2019-06-04 Thread Jani Nikula
(shell if which $(PDFLATEX) >/dev/null 2>&1; then echo 1; > else echo 0; fi) > HAVE_LATEXMK := $(shell if which latexmk >/dev/null 2>&1; then echo 1; else > echo 0; fi) -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH 0/8] docs: Fixes for recent versions of Sphinx

2019-05-23 Thread Jani Nikula
> RemovedInSphinx30Warning: app.override_domain() is deprecated. Use > app.add_domain() with override option instead. > app.override_domain(CDomain) > > Otherwise, it builds. Please share your Sphinx version (sphinx-build --version). BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH 2/2] doc: Cope with the deprecation of AutoReporter

2019-05-22 Thread Jani Nikula
self.state.memo.reporter = AutodocReporter(result, > self.state.memo.reporter) > +self.state.memo.title_styles, self.state.memo.section_level = > [], 0 > +try: > +self.state.nested_parse(result, 0, node, match_titles=1) > + finally: > +

Re: [PATCH RFC 0/2] docs: Deal with some Sphinx deprecation warnings

2019-05-22 Thread Jani Nikula
nx/kerneldoc.py | 48 --- > Documentation/sphinx/kernellog.py | 28 ++ > Documentation/sphinx/kfigure.py | 38 +--- > 3 files changed, 87 insertions(+), 27 deletions(-) > create mode 100644 Documentation/sphinx/kernellog.py -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH] docs: remove spaces from shell variable assignment

2019-03-21 Thread Jani Nikula
n/process/submitting-drivers.rst 。 > 何子目录。 > 为一个单独的文件创建补丁,一般来说这样做就够了: > > -SRCTREE= linux-2.6 > -MYFILE= drivers/net/mydriver.c > +SRCTREE=linux-2.6 > +MYFILE=drivers/net/mydriver.c > > cd $SRCTREE > cp $MYFILE $MYFILE.orig > @@ -63,7 +63,7 @@ Documentation/process/submitting-drivers.rst 。 > 为多个文件创建补丁,你可以解开一个没有修改过的内核源代码树,然后和你自 > 己的代码树之间做 diff 。例如: > > -MYSRC= /devel/linux-2.6 > +MYSRC=/devel/linux-2.6 > > tar xvfz linux-2.6.12.tar.gz > mv linux-2.6.12 linux-2.6.12-vanilla -- Jani Nikula, Intel Open Source Graphics Center

Re: Documenting struct function pointers (methods)

2019-03-19 Thread Jani Nikula
are mounting. >* @data: Arbitrary mount options, usually comes as an ASCII >*string (see "Mount Options" section). >*/ > struct dentry *(*mount) (struct file_system_type *fs_type, int flags, >const char *dev_name, void *data); > void (*kill_sb) (struct super_block *); > > > thanks, > Tobin. -- Jani Nikula, Intel Open Source Graphics Center

Re: undefined label

2019-03-12 Thread Jani Nikula
On Mon, 11 Mar 2019, Jonathan Corbet wrote: > On Fri, 08 Mar 2019 14:17:47 +0200 > Jani Nikula wrote: > >> > >> To close such cross-books links we can use intersphinx [1] and map to >> > e.g. >> > >> >> > >>intersphinx_map

Re: undefined label

2019-03-08 Thread Jani Nikula
None)} > > This requires online access while building the output. Anyway, as soon as > I have some time to spare I will send a RFC with more explanation about > (you will receive it in CC). Please remember to call out the online access in the patch series. Such a requirement is going to draw a lot of opposition. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center

Re: Return: vs Returns:

2019-02-07 Thread Jani Nikula
>1 * return : >> > >> > I think standarization is more something that scripts/kernel-doc >> > could or should do. >> >> BTW: kernel-doc parser accept 'return' and 'returns': >> >> } elsif ($newsection =

Re: [RFC AFBC 03/12] drm/afbc: Add AFBC modifier usage documentation

2019-01-14 Thread Jani Nikula
ng it that way for the reason mentioned above - it > does/will/should apply to more than just the gpu/drm/arm tree. Fair enough. It's not like the name is part of the ABI, so I guess let's go with this, and we can rename later if we come up with a better name. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center

Re: [RFC AFBC 03/12] drm/afbc: Add AFBC modifier usage documentation

2019-01-14 Thread Jani Nikula
* Component 2: Cr(8, 2x2 subsampled) >> > + >> > + * - DRM_FORMAT_YUV420_10BIT >> > + - 10-bit per component YCbCr 420, single plane >> > + - Plane 0: 3 components >> > + * Component 0: Y(10) >> > + * Component 1: Cb(10, 2x2 subsampled) >> > + * Component 2: Cr(10, 2x2 subsampled) >> > + >> > + * - DRM_FORMAT_NV12 >> > + - 8-bit per component YCbCr 420, two plane >> > + - Plane 0: 1 component >> > + * Component 0: Y(8) >> > + Plane 1: 2 components >> > + * Component 0: Cb(8, 2x2 subsampled) >> > + * Component 1: Cr(8, 2x2 subsampled) >> > + >> > + * - DRM_FORMAT_P010 >> > + - 10-bit per component YCbCr 420, two plane >> > + - Plane 0: 1 component >> > + * Component 0: Y(10) >> > + Plane 1: 2 components >> > + * Component 0: Cb(10, 2x2 subsampled) >> > + * Component 1: Cr(10, 2x2 subsampled) >> > diff --git a/Documentation/gpu/drivers.rst b/Documentation/gpu/drivers.rst >> > index 7c16721..c176b34 100644 >> > --- a/Documentation/gpu/drivers.rst >> > +++ b/Documentation/gpu/drivers.rst >> > @@ -17,6 +17,7 @@ GPU Driver Documentation >> > vkms >> > bridge/dw-hdmi >> > xen-front >> > + afbc >> > >> > .. only:: subproject and html >> > >> > diff --git a/MAINTAINERS b/MAINTAINERS >> > index 254b7b2..aef18e3 100644 >> > --- a/MAINTAINERS >> > +++ b/MAINTAINERS >> > @@ -1131,6 +1131,7 @@ M: Mali DP Maintainers >> > S:Supported >> > F:drivers/gpu/drm/arm/ >> > F:Documentation/devicetree/bindings/display/arm,malidp.txt >> > +F:Documentation/gpu/afbc.rst >> > >> > ARM MFM AND FLOPPY DRIVERS >> > M:Ian Molton >> > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h >> > index 75c4b5a..0adde4d 100644 >> > --- a/include/uapi/drm/drm_fourcc.h >> > +++ b/include/uapi/drm/drm_fourcc.h >> > @@ -597,6 +597,9 @@ extern "C" { >> > * AFBC has several features which may be supported and/or used, which are >> > * represented using bits in the modifier. Not all combinations are valid, >> > * and different devices or use-cases may support different combinations. >> > + * >> > + * Further information on the use of AFBC modifiers can be found in >> > + * Documentation/gpu/afbc.rst >> > */ >> > #define DRM_FORMAT_MOD_ARM_AFBC(__afbc_mode) fourcc_mod_code(ARM, >> > __afbc_mode) >> > >> >> -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH] Documentation/CodingStyle: Move emacs settings into .dir-locals.el

2019-01-07 Thread Jani Nikula
riables for the project. > Anyway, if anyone wants to replace that file they can provide a > .dir-locals-2.el file. It does not replace anything, it's loaded in addition to .dir-locals.el. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH] Documentation/CodingStyle: Move emacs settings into .dir-locals.el

2019-01-04 Thread Jani Nikula
level makes it harder for users to have a file of their own there. This from an emacs user. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH] Documentation/admin-guide: update URL of LKML information link

2018-12-31 Thread Jani Nikula
send email to > linux-ker...@vger.kernel.org, referencing the bugzilla URL. (For more > information on the linux-kernel mailing list see > -http://www.tux.org/lkml/). > +http://vger.kernel.org/lkml/). > > > Tips for reporting bugs -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH] Documentation: Use "while" instead of "whilst"

2018-11-20 Thread Jani Nikula
; in it from now on? Personally, I'd accept that our documentation is a hodge podge of regional dialects, written by native and non-native speakers with incredibly diverse backgrounds and different levels of education and experience. If we can keep the documentation understandable and mostly typo f

Re: [PATCH 3/9] drm: replace "drm_dev_unref" function with "drm_dev_put"

2018-11-20 Thread Jani Nikula
r developers to work on drm-tip because it contains the latest stuff in drm core, i915, amd, most of the small drivers, as well as sound. It's a bit like "linux-next for graphics". And you don't really have to care about the merge cycles with that. But YMMV, it probably doesn&#x

Re: [Ksummit-discuss] [RFC PATCH 2/3] MAINTAINERS, Handbook: Subsystem Profile

2018-11-15 Thread Jani Nikula
s of section entries: > Obsolete:Old code. Something tagged obsolete generally means > it has been replaced by a better system and you > should be using that. > + P: Subsystem Profile document for the maintainer entry. This > +is either an in-tree file or a URI to a document. The > +contents of a Subsystem Profile are described in > +Documentation/maintainer/subsystem-profile.rst. > F: Files and directories with wildcard patterns. > A trailing slash includes all files and subdirectory files. > F: drivers/net/all files in and below drivers/net > > ___ > Ksummit-discuss mailing list > ksummit-disc...@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/ksummit-discuss -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH 0/5] Fixes and additions to EDID generation

2018-11-14 Thread Jani Nikula
--- > Documentation/EDID/edid.S | 10 -- > 11 files changed, 114 insertions(+), 26 deletions(-) > create mode 100644 Documentation/EDID/1280x720.S > create mode 100644 Documentation/EDID/1280x768.S -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH 0/2] Docs/EDID: Fixed and improved EDID documentation

2018-11-13 Thread Jani Nikula
And then the next step further would be to write a tool in a high level language to generate the data rather than assemble the binary. Such a tool would, of course, catch errors like the ones fixed by this patch. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH] kernel-doc: fix declaration type determination

2018-10-18 Thread Jani Nikula
My perl is all cargo cult, so can't really review, but based on the description this is what should be done, Acked-by: Jani Nikula > I compared lots of html before/after output from core-api, driver-api, > and networking. There were no differences in any of the files that > I checked. I

Re: [PATCH] docs: Introduce deprecated APIs list

2018-10-17 Thread Jani Nikula
size of structure with trailing array. > > That syntax is not explained nor documented in > Documentation/doc-guide/kernel-doc.rst. > > Is the root problem that the function name begins with "struct"? > Please explain in the patch description. Indeed, shouldn't be needed. BR, Jani. > >> * @p: Pointer to the structure. >> * @member: Name of the array member. >> * @n: Number of elements in the array. > > > thanks. -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH] docs/completion.txt: Fix a couple of punctuation nits

2018-10-11 Thread Jani Nikula
t;> rst already. > > I, on principle, will not touch rst files. They are inferior to txt files. $ git shortlog --author=Zijlstra -- Documentation/scheduler/ It does not look like you touch txt files either. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center

Re: [PATCH v2 1/2] Documentation/sphinx: allow "functions" with no parameters

2018-06-20 Thread Jani Nikula
> -for f in str(self.options.get('functions')).split(): > -cmd += ['-function', f] > +functions = self.options.get('functions').split() > +if functions: > + for f in functions: >

Re: [PATCH 1/2] Documentation/sphinx: add "nodocs" directive

2018-06-19 Thread Jani Nikula
On Tue, 19 Jun 2018, Mike Rapoport wrote: > On Tue, Jun 19, 2018 at 10:29:20AM +0300, Jani Nikula wrote: >> On Tue, 19 Jun 2018, Mike Rapoport wrote: >> > On Mon, Jun 18, 2018 at 11:01:32PM +0300, Jani Nikula wrote: >> >> On Mon, 18 Jun 2018, Mike Rapoport

Re: [PATCH 1/2] Documentation/sphinx: add "nodocs" directive

2018-06-19 Thread Jani Nikula
On Tue, 19 Jun 2018, Mike Rapoport wrote: > On Mon, Jun 18, 2018 at 11:01:32PM +0300, Jani Nikula wrote: >> On Mon, 18 Jun 2018, Mike Rapoport wrote: >> > When kernel-doc:: specified in .rst document without explicit directives, >> > it outputs both comment and DOC:

Re: [PATCH 1/2] Documentation/sphinx: add "nodocs" directive

2018-06-18 Thread Jani Nikula
nction', f] > +elif 'nodocs' in self.options: > +cmd += ['-no-doc-sections'] > > for pattern in export_file_patterns: > for f in glob.glob(env.config.kerneldoc_srctree + '/' + pattern): -- Jani Nikula, Intel Open Source Graphics Center -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [RFC PATCH 1/2] scripts/kernel-doc: Auto-detect common code-blocks

2018-05-14 Thread Jani Nikula
Adding heuristics (especially ones based on English language magic words) will lead to bigger problems than it's trying to solve. BR, Jani. -- Jani Nikula, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 05/18] docs: core-api: add cachetlb documentation

2018-05-08 Thread Jani Nikula
>> +++ b/Documentation/translations/ko_KR/memory-barriers.txt >> @@ -2846,7 +2846,7 @@ CPU 의 캐시에서 RAM 으로 쓰여지는 더티 캐시 라인에 의해 덮 >> 문제를 해결하기 위해선, 커널의 적절한 부분에서 각 CPU 의 캐시 안의 문제가 되는 >> 비트들을 무효화 시켜야 합니다. >> >> -캐시 관리에 대한 더 많은 정보를 위해선 Documentation/cachetlb.txt 를 >>

Re: [PATCH] MAINTAINERS & files: Canonize the e-mails I use at files

2018-05-04 Thread Jani Nikula
ources. Do we expect them all to be up-to-date too? BR, Jani. -- Jani Nikula, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH v2] Documentation: typec.rst: Use literal-block element with ascii art

2018-04-25 Thread Jani Nikula
supports an alternate mode: > +Illustration of the muxes behind a connector that supports an alternate > mode:: > > > | Connector | -- Jani Nikula, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "un

Re: [PATCH v2] Documentation: typec.rst: Use literal-block element with ascii art

2018-04-06 Thread Jani Nikula
Type-C > Multiplexers") > Signed-off-by: Heikki Krogerus Reviewed-and-tested-by: Jani Nikula > --- > Changed since v1: > - Using literal-block element instead of comment > - Subject in v1 was "Documentation: typec.rst: Mark ascii art as a comment" > ---

Re: [PATCH] Documentation: typec.rst: Mark ascii art as a comment

2018-04-06 Thread Jani Nikula
stration of the muxes behind a connector that supports an alternate mode: > > - > +.. > | Connector | > > | | -- Jani Nikula, Intel Open Source Technology Center -- To unsubscribe from this list: send the line &q

Re: [PATCH v2] Documentation/CodingStyle: Add an example for braces

2018-03-22 Thread Jani Nikula
On Wed, 21 Mar 2018, Jonathan Corbet wrote: > To head that off, I think I'll apply your first version instead, sorry > Jani. No worries. BR, Jani. -- Jani Nikula, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-doc&q

Re: [PATCH] Documentation/CodingStyle: Add an example for braces

2018-03-15 Thread Jani Nikula
> + while (condition) { > + if (test) > + do_something(); > + } > + > 3.1) Spaces > *** > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-doc" in > the body of a message to majo

Re: [PATCH v3] Documentation/sphinx: Fix Directive import error

2018-03-02 Thread Jani Nikula
5 released in 2009. > > Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=1083694 > Co-developed-by: Takashi Iwai > Signed-off-by: Matthew Wilcox I think this is the best approach. FWIW, Acked-by: Jani Nikula > > diff --git a/Documentation/sphinx/kerneldoc.py > b/Do

Re: [PATCH v2] Documentation/sphinx: Fix Directive import error

2018-03-02 Thread Jani Nikula
Error: > +from sphinx.util.compat import Directive > from sphinx.ext.autodoc import AutodocReporter > > __version__ = '1.0' -- Jani Nikula, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH v3 05/10] pwm: add PWM mode to pwm_config()

2018-02-28 Thread Jani Nikula
, Jani. -- Jani Nikula, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH v3 05/10] pwm: add PWM mode to pwm_config()

2018-02-26 Thread Jani Nikula
gt; > Well... I admit I've only really looked at the patches that impact > backlight but dispersing this really odd looking bit twiddling > throughout the kernel doesn't strike me a great API design. > > IMHO callers should not be required to find the first set bit in

Re: [PATCH 0/6] Add support for in-line nested struct comments

2018-02-19 Thread Jani Nikula
27;t find the others. I guess applied literally meant just applied, not pushed... ;) BR, Jani. -- Jani Nikula, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: Inline emphasis warnings (more)

2018-02-19 Thread Jani Nikula
internal function... >>> with the same BOLD result. >>> >>> Maybe this is a s/w bug? >>> Running Sphinx v1.3.1 >> >> Sorry for my late reply. It is not only you, see: >> >> - (perl kernel-doc) >> https://www.kernel.org/doc/htm

Re: [PATCH 8/8] docs: kernel-doc: Don't mangle literal code blocks in comments

2018-02-14 Thread Jani Nikula
to the output code to recognize literal blocks and avoid > performing any special markup on them. It's ugly, but that means it fits > in well with the rest of the script. With emphasis on part (d) of the reviewer's statement of oversight, Reviewed-by: Jani Nikul

Re: [PATCH 1/8] docs: kernel-doc: Get rid of xml_escape() and friends

2018-02-14 Thread Jani Nikula
ection_default; > $contents = ""; > } > @@ -2057,7 +2010,7 @@ sub process_file($) { > $contents = $2; > if ($contents ne "") { > $contents .= "\n"; > - du

Re: [PATCH v4 16/18] scripts: kernel-doc: improve nested logic to handle multiple identifiers

2018-02-14 Thread Jani Nikula
port; > } channel[2]; Perhaps it would be slightly more elegant to be able to leave out "channel." here and deduce that from the context... but the above matches what you'd write in the higher level struct comment, and produces the same output. It works and it's really

Re: [PATCH v4 16/18] scripts: kernel-doc: improve nested logic to handle multiple identifiers

2018-02-14 Thread Jani Nikula
} > + foreach my $name (split /,/, $names) { > + $name =~ s/^\s*\**(\S+)\s*/$1/; > + next if (($name =~ m/^\s*$/)); > + if ($id =~ m/^\s*$/) { > +

Re: [PATCH 5/8] docs: kernel-doc: Move STATE_BODY processing to a separate function

2018-02-13 Thread Jani Nikula
On Fri, 09 Feb 2018, Linus Torvalds wrote: > On Fri, Feb 9, 2018 at 1:32 AM, Jani Nikula > wrote: >>> + # miguel-style comment kludge, look for blank lines after >>> + # @parameter line to signify start of description >> >> The "miguel-style"

Re: [PATCH 8/8] docs: kernel-doc: Don't mangle literal code blocks in comments

2018-02-09 Thread Jani Nikula
7;s deeper. > + $line =~ /^(\s*)/; > + $litprefix = '^' . $1 . ' '; > + $output .= highlight_block($block); > + $block = "" > + } > + } > +} > + > +if ($block) { > + $output .= highlight_block($block); > +} > +foreach $line (split "\n", $output) { > print $lineprefix . $line . "\n"; > } > } -- Jani Nikula, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 7/8] docs: kernel-doc: Finish moving STATE_* code out of process_file()

2018-02-09 Thread Jani Nikula
>> } >> else >> { >> ... >> } >> >> instead of >> >> if { >> ... >> } else { >> eee >> } > > True, that's worth fixing up while I'm in the neighborhood. I'll do that > before I commit th

Re: [PATCH 6/8] docs: kernel-doc: Move STATE_PROTO processing into its own function

2018-02-09 Thread Jani Nikula
On Wed, 07 Feb 2018, Jonathan Corbet wrote: > Move the top-level prototype-processing code out of process_file(). > > Signed-off-by: Jonathan Corbet Reviewed-by: Jani Nikula > --- > scripts/kernel-doc | 46 -- > 1 file changed, 28

Re: [PATCH 5/8] docs: kernel-doc: Move STATE_BODY processing to a separate function

2018-02-09 Thread Jani Nikula
;"; > + } > + # look for doc_com + + doc_end: > + if ($_ =~ m'\s*\*\s*[a-zA-Z_0-9:\.]+\*/') { > + print STDERR "${file}:$.: warning: suspicious ending line: $_"; > + ++$warnings; > + } > + > + $prototype = "";

Re: [PATCH 4/8] docs: kernel-doc: Move STATE_NAME processing into its own function

2018-02-09 Thread Jani Nikula
On Wed, 07 Feb 2018, Jonathan Corbet wrote: > Move this code out of process_file() in the name of readability and > maintainability. > > Signed-off-by: Jonathan Corbet I admit I don't fully understand the semantics of perl parameter passing, but looks okay. Reviewe

Re: [PATCH 3/8] docs: kernel-doc: Move STATE_NORMAL processing into its own function

2018-02-09 Thread Jani Nikula
name > + $in_doc_sect = 0; > + $declaration_start_line = $. + 1; > +} > +} > + > + > + Superfluous whitespace, but fixed in the next patch so I'll look the other way. Reviewed-by: Jani Nikula > sub process_file($) { > my $file; > my $identifier; > @@

Re: [PATCH 2/8] docs: kernel-doc: Rename and split STATE_FIELD

2018-02-09 Thread Jani Nikula
a proper state (STATE_BODY_MAYBE) instead. This will make the > subsequent process_file() splitup easier. > > Signed-off-by: Jonathan Corbet I really wanted to avoid leaving behind any evidence that I've ever reviewed perl, but my sympathy for you updating the script won. But just bare

Re: [PATCH 1/8] docs: kernel-doc: Get rid of xml_escape() and friends

2018-02-09 Thread Jani Nikula
dump_section($file, $section, xml_escape($contents)); > + dump_section($file, $section, $contents); > $section = $section_default; > $contents = ""; > } > @@ -2057,7 +2010,7 @@ sub process_file($) { > $contents = $2; >

Re: [PATCH] Documentation/process: kernel maintainer PGP guide

2018-01-30 Thread Jani Nikula
bit from the end near the top as a reStructuredText field list. See 'git grep :Author:' under Documentation for examples. Could even add a MAINTAINERS entry to improve your chances of being Cc'd on changes. BR, Jani. -- Jani Nikula, Intel Open Source Technology Center -- To

Re: kernel.org documentation link (was Re: Protecting code integrity with PGP)

2018-01-19 Thread Jani Nikula
On Fri, 19 Jan 2018, Konstantin Ryabitsev wrote: > On 2018-01-19 03:37 AM, Jani Nikula wrote: >> On a side note, I was browsing for the generated kernel documentation at >> https://www.kernel.org/ and realized that AFAICT there are no links to >> https://www.ker

Re: Protecting code integrity with PGP (kernel developer version)

2018-01-19 Thread Jani Nikula
On Thu, 18 Jan 2018, Randy Dunlap wrote: > On 01/18/2018 06:09 AM, Jani Nikula wrote: >> On Thu, 11 Jan 2018, Konstantin Ryabitsev >> wrote: >>> On Wed, Jan 10, 2018 at 02:05:16PM -0700, Jonathan Corbet wrote: >>>>> Does such document belong with the res

Re: Protecting code integrity with PGP (kernel developer version)

2018-01-18 Thread Jani Nikula
ee if that version is > something that should go into the doc tree or continue to live > externally. Converting from .md into .rst is straightforward enough. If you all choose to host it externally after all, I think the kernel documentation should at least have a minimal document pointing people at t

Re: [RFC] doc: fix code snippet build warnings

2018-01-16 Thread Jani Nikula
On Tue, 16 Jan 2018, Markus Heiser wrote: >> Am 16.01.2018 um 11:22 schrieb Jani Nikula : >> >> On Wed, 10 Jan 2018, Jonathan Corbet wrote: >>> On Wed, 10 Jan 2018 15:04:53 +1100 >>> "Tobin C. Harding" wrote: >>> >>>>

Re: [RFC] doc: fix code snippet build warnings

2018-01-16 Thread Jani Nikula
of any paragraph. The :: will be omitted if it is preceded by whitespace. The :: will be converted to a single colon if preceded by text" BR, Jani. [1] http://docutils.sourceforge.net/docs/user/rst/quickref.html#literal-blocks -- Jani Nikula, Intel Open Source Technology Center -- To unsu

Re: [RFC] doc: fix code snippet build warnings

2018-01-16 Thread Jani Nikula
;s replacing doctree nodes with ones that have reference nodes within them. It's more complicated, but at that stage we can ignore stuff that should stay verbatim. I think it's also possible to check that the reference targets actually exist. In short, at that phase we have all the knowl

Re: [RFC] Tools to fix/prevent broken Documentation file references

2018-01-16 Thread Jani Nikula
I listed a couple below. If either seem worth > pursuing, I'd be happy to take up implementing them. Else, or if > they've already been discussed, please let me know. Related, see scripts/documentation-file-ref-check. BR, Jani. -- Jani Nikula, Intel Open Source Technology Center

Re: [PATCH v3 1/1] runchecks: Generalize make C={1,2} to support multiple checkers

2018-01-05 Thread Jani Nikula
On Thu, 04 Jan 2018, Knut Omang wrote: > On Thu, 2018-01-04 at 17:50 +0200, Jani Nikula wrote: >> On Thu, 04 Jan 2018, Knut Omang wrote: >> > Add scripts/runchecks which has generic support for running >> > checker tools in a convenient and user friendly way tha

  1   2   3   4   5   >