mbox series

[0/5] ppc/pnv: Add PNOR support

Message ID 20191021131215.3693-1-clg@kaod.org
Headers show
Series ppc/pnv: Add PNOR support | expand

Message

Cédric Le Goater Oct. 21, 2019, 1:12 p.m. UTC
Hello,

On a POWERPC PowerNV system, the host firmware is stored in a PNOR
flash chip which contents is mapped on the LPC bus. This model adds a
simple dummy device to map the contents of a block device in the host
address space and activates HIOMAP support on the QEMU PowerNV machine
to let the host negotiate with the BMC the access to the mapping.

The command options to activate these models in QEMU:

  -device ipmi-bmc-sim,id=bmc0 -device isa-ipmi-bt,bmc=bmc0,irq=10 \
  -drive file=./witherspoon.pnor,format=raw,if=mtd

The last two patches add the logic to load in the machine memory the
PAYLOAD partition (skiboot) from an OpenPOWER firmware file. These
should be considered as RFCs as the firmware file could have a
different format. Something to discuss.


Thanks,

C. 

Cédric Le Goater (5):
  ppc/pnv: Add a PNOR model
  ipmi: Add support to customize OEM functions
  ppc/pnv: Add HIOMAP commands
  libxz: Add XZ Embedded library for PPC
  ppc/pnv: Read the PNOR partition table

 include/hw/ipmi/ipmi.h    |   36 ++
 include/hw/ppc/ffs.h      |  150 +++++
 include/hw/ppc/pnv.h      |    4 +
 include/hw/ppc/pnv_pnor.h |   36 ++
 libxz/xz.h                |  304 ++++++++++
 libxz/xz_config.h         |  124 ++++
 libxz/xz_lzma2.h          |  204 +++++++
 libxz/xz_private.h        |  156 +++++
 libxz/xz_stream.h         |   62 ++
 hw/ipmi/ipmi_bmc_sim.c    |   41 +-
 hw/ppc/pnv.c              |   48 +-
 hw/ppc/pnv_bmc.c          |  101 ++++
 hw/ppc/pnv_lpc.c          |   13 +
 hw/ppc/pnv_pnor.c         |  291 +++++++++
 libxz/xz_crc32.c          |   59 ++
 libxz/xz_dec_lzma2.c      | 1171 +++++++++++++++++++++++++++++++++++++
 libxz/xz_dec_stream.c     |  847 +++++++++++++++++++++++++++
 hw/ppc/Makefile.objs      |    4 +-
 libxz/Makefile.objs       |    1 +
 target/ppc/Makefile.objs  |    1 +
 20 files changed, 3606 insertions(+), 47 deletions(-)
 create mode 100644 include/hw/ppc/ffs.h
 create mode 100644 include/hw/ppc/pnv_pnor.h
 create mode 100644 libxz/xz.h
 create mode 100644 libxz/xz_config.h
 create mode 100644 libxz/xz_lzma2.h
 create mode 100644 libxz/xz_private.h
 create mode 100644 libxz/xz_stream.h
 create mode 100644 hw/ppc/pnv_pnor.c
 create mode 100644 libxz/xz_crc32.c
 create mode 100644 libxz/xz_dec_lzma2.c
 create mode 100644 libxz/xz_dec_stream.c
 create mode 100644 libxz/Makefile.objs

Comments

no-reply@patchew.org Oct. 21, 2019, 9:17 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/20191021131215.3693-1-clg@kaod.org/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [PATCH 0/5] ppc/pnv: Add PNOR support
Type: series
Message-id: 20191021131215.3693-1-clg@kaod.org

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20191019234715.25750-1-f4bug@amsat.org -> patchew/20191019234715.25750-1-f4bug@amsat.org
 - [tag update]      patchew/20191020225650.3671-1-philmd@redhat.com -> patchew/20191020225650.3671-1-philmd@redhat.com
 - [tag update]      patchew/20191021190653.9511-1-philmd@redhat.com -> patchew/20191021190653.9511-1-philmd@redhat.com
Switched to a new branch 'test'
7419b33 ppc/pnv: Read the PNOR partition table
94fb18c libxz: Add XZ Embedded library for PPC
b618eb6 ppc/pnv: Add HIOMAP commands
3ee95f6 ipmi: Add support to customize OEM functions
bb5d940 ppc/pnv: Add a PNOR model

=== OUTPUT BEGIN ===
1/5 Checking commit bb5d940733f4 (ppc/pnv: Add a PNOR model)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#70: 
new file mode 100644

total: 0 errors, 1 warnings, 217 lines checked

Patch 1/5 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
2/5 Checking commit 3ee95f66e7df (ipmi: Add support to customize OEM functions)
3/5 Checking commit b618eb627b5d (ppc/pnv: Add HIOMAP commands)
4/5 Checking commit 94fb18ca0ddf (libxz: Add XZ Embedded library for PPC)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#13: 
new file mode 100644

WARNING: architecture specific defines should be avoided
#38: FILE: libxz/xz.h:14:
+#ifdef __KERNEL__

WARNING: architecture specific defines should be avoided
#46: FILE: libxz/xz.h:22:
+#ifdef __cplusplus

ERROR: storage class should be at the beginning of the declaration
#52: FILE: libxz/xz.h:28:
+    #define XZ_EXTERN extern

WARNING: architecture specific defines should be avoided
#271: FILE: libxz/xz.h:247:
+    #ifdef __KERNEL__

WARNING: architecture specific defines should be avoided
#287: FILE: libxz/xz.h:263:
+    #ifdef __KERNEL__

WARNING: architecture specific defines should be avoided
#324: FILE: libxz/xz.h:300:
+#ifdef __cplusplus

WARNING: architecture specific defines should be avoided
#399: FILE: libxz/xz_config.h:65:
+#ifndef __always_inline

WARNING: architecture specific defines should be avoided
#400: FILE: libxz/xz_config.h:66:
+    #ifdef __GNUC__

ERROR: code indent should never use tabs
#489: FILE: libxz/xz_crc32.c:25:
+#^Idefine STATIC_RW_DATA static$

ERROR: storage class should be at the beginning of the declaration
#489: FILE: libxz/xz_crc32.c:25:
+#      define STATIC_RW_DATA static

ERROR: code indent should never use tabs
#496: FILE: libxz/xz_crc32.c:32:
+^Iconst uint32_t poly = 0xEDB88320;$

ERROR: code indent should never use tabs
#498: FILE: libxz/xz_crc32.c:34:
+^Iuint32_t i;$

ERROR: code indent should never use tabs
#499: FILE: libxz/xz_crc32.c:35:
+^Iuint32_t j;$

ERROR: code indent should never use tabs
#500: FILE: libxz/xz_crc32.c:36:
+^Iuint32_t r;$

ERROR: code indent should never use tabs
#502: FILE: libxz/xz_crc32.c:38:
+^Ifor (i = 0; i < 256; ++i) {$

ERROR: code indent should never use tabs
#503: FILE: libxz/xz_crc32.c:39:
+^I^Ir = i;$

ERROR: code indent should never use tabs
#504: FILE: libxz/xz_crc32.c:40:
+^I^Ifor (j = 0; j < 8; ++j)$

ERROR: braces {} are necessary for all arms of this statement
#504: FILE: libxz/xz_crc32.c:40:
+               for (j = 0; j < 8; ++j)
[...]

ERROR: code indent should never use tabs
#505: FILE: libxz/xz_crc32.c:41:
+^I^I^Ir = (r >> 1) ^ (poly & ~((r & 1) - 1));$

ERROR: code indent should never use tabs
#507: FILE: libxz/xz_crc32.c:43:
+^I^Ixz_crc32_table[i] = r;$

ERROR: code indent should never use tabs
#508: FILE: libxz/xz_crc32.c:44:
+^I}$

ERROR: code indent should never use tabs
#510: FILE: libxz/xz_crc32.c:46:
+^Ireturn;$

ERROR: code indent should never use tabs
#515: FILE: libxz/xz_crc32.c:51:
+^Icrc = ~crc;$

ERROR: code indent should never use tabs
#517: FILE: libxz/xz_crc32.c:53:
+^Iwhile (size != 0) {$

ERROR: code indent should never use tabs
#518: FILE: libxz/xz_crc32.c:54:
+^I^Icrc = xz_crc32_table[*buf++ ^ (crc & 0xFF)] ^ (crc >> 8);$

ERROR: code indent should never use tabs
#519: FILE: libxz/xz_crc32.c:55:
+^I^I--size;$

ERROR: code indent should never use tabs
#520: FILE: libxz/xz_crc32.c:56:
+^I}$

ERROR: code indent should never use tabs
#522: FILE: libxz/xz_crc32.c:58:
+^Ireturn ~crc;$

WARNING: Block comments use a leading /* on a separate line
#807: FILE: libxz/xz_dec_lzma2.c:278:
+/**************

ERROR: braces {} are necessary for all arms of this statement
#831: FILE: libxz/xz_dec_lzma2.c:302:
+        if (dict->end - dict->pos <= out_max)
[...]
+        else
[...]

ERROR: braces {} are necessary for all arms of this statement
#853: FILE: libxz/xz_dec_lzma2.c:324:
+        if (dist >= dict->pos)
[...]

ERROR: braces {} are necessary for all arms of this statement
#866: FILE: libxz/xz_dec_lzma2.c:337:
+        if (dict->full < dict->pos)
[...]

ERROR: braces {} are necessary for all arms of this statement
#880: FILE: libxz/xz_dec_lzma2.c:351:
+        if (dist >= dict->full || dist >= dict->size)
[...]

ERROR: braces {} are necessary for all arms of this statement
#887: FILE: libxz/xz_dec_lzma2.c:358:
+        if (dist >= dict->pos)
[...]

ERROR: braces {} are necessary for all arms of this statement
#892: FILE: libxz/xz_dec_lzma2.c:363:
+                if (back == dict->end)
[...]

ERROR: braces {} are necessary for all arms of this statement
#896: FILE: libxz/xz_dec_lzma2.c:367:
+        if (dict->full < dict->pos)
[...]

ERROR: braces {} are necessary for all arms of this statement
#912: FILE: libxz/xz_dec_lzma2.c:383:
+                if (copy_size > dict->end - dict->pos)
[...]

ERROR: braces {} are necessary for all arms of this statement
#914: FILE: libxz/xz_dec_lzma2.c:385:
+                if (copy_size > *left)
[...]

ERROR: braces {} are necessary for all arms of this statement
#922: FILE: libxz/xz_dec_lzma2.c:393:
+                if (dict->full < dict->pos)
[...]

ERROR: braces {} are necessary for all arms of this statement
#926: FILE: libxz/xz_dec_lzma2.c:397:
+                        if (dict->pos == dict->end)
[...]

ERROR: braces {} are necessary for all arms of this statement
#950: FILE: libxz/xz_dec_lzma2.c:421:
+                if (dict->pos == dict->end)
[...]

WARNING: Block comments use a leading /* on a separate line
#962: FILE: libxz/xz_dec_lzma2.c:433:
+/*****************

ERROR: braces {} are necessary for all arms of this statement
#981: FILE: libxz/xz_dec_lzma2.c:452:
+                if (b->in_pos == b->in_size)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1054: FILE: libxz/xz_dec_lzma2.c:525:
+                if (rc_bit(rc, &probs[symbol]))
[...]
+                else
[...]

WARNING: Block comments use a leading /* on a separate line
#1096: FILE: libxz/xz_dec_lzma2.c:567:
+/********

ERROR: braces {} are necessary for all arms of this statement
#1259: FILE: libxz/xz_dec_lzma2.c:730:
+        if (dict_has_space(&s->dict) && s->lzma.len > 0)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1273: FILE: libxz/xz_dec_lzma2.c:744:
+                        if (rc_bit(&s->rc, &s->lzma.is_rep[s->lzma.state]))
[...]
+                        else
[...]

ERROR: braces {} are necessary for all arms of this statement
#1278: FILE: libxz/xz_dec_lzma2.c:749:
+                        if (!dict_repeat(&s->dict, &s->lzma.len, s->lzma.rep0))
[...]

ERROR: braces {} are necessary for all arms of this statement
#1317: FILE: libxz/xz_dec_lzma2.c:788:
+        for (i = 0; i < PROBS_TOTAL; ++i)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1330: FILE: libxz/xz_dec_lzma2.c:801:
+        if (props > (4 * 5 + 4) * 9 + 8)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1349: FILE: libxz/xz_dec_lzma2.c:820:
+        if (s->lzma.lc + s->lzma.literal_pos_mask > 4)
[...]

WARNING: Block comments use a leading /* on a separate line
#1359: FILE: libxz/xz_dec_lzma2.c:830:
+/*********

ERROR: braces {} are necessary for all arms of this statement
#1383: FILE: libxz/xz_dec_lzma2.c:854:
+                if (tmp > s->lzma2.compressed - s->temp.size)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1385: FILE: libxz/xz_dec_lzma2.c:856:
+                if (tmp > in_avail)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1406: FILE: libxz/xz_dec_lzma2.c:877:
+                if (!lzma_main(s) || s->rc.in_pos > s->temp.size + tmp)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1427: FILE: libxz/xz_dec_lzma2.c:898:
+                if (in_avail >= s->lzma2.compressed + LZMA_IN_REQUIRED)
[...]
+                else
[...]

ERROR: braces {} are necessary for all arms of this statement
#1432: FILE: libxz/xz_dec_lzma2.c:903:
+                if (!lzma_main(s))
[...]

ERROR: braces {} are necessary for all arms of this statement
#1436: FILE: libxz/xz_dec_lzma2.c:907:
+                if (in_avail > s->lzma2.compressed)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1445: FILE: libxz/xz_dec_lzma2.c:916:
+                if (in_avail > s->lzma2.compressed)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1501: FILE: libxz/xz_dec_lzma2.c:972:
+                        if (tmp == 0x00)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1532: FILE: libxz/xz_dec_lzma2.c:1003:
+                                        if (tmp >= 0xA0)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1536: FILE: libxz/xz_dec_lzma2.c:1007:
+                                if (tmp > 0x02)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1570: FILE: libxz/xz_dec_lzma2.c:1041:
+                        if (!lzma_props(s, b->in[b->in_pos++]))
[...]

ERROR: braces {} are necessary for all arms of this statement
#1576: FILE: libxz/xz_dec_lzma2.c:1047:
+                        if (s->lzma2.compressed < RC_INIT_BYTES)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1579: FILE: libxz/xz_dec_lzma2.c:1050:
+                        if (!rc_read_init(&s->rc, b))
[...]

ERROR: braces {} are necessary for all arms of this statement
#1598: FILE: libxz/xz_dec_lzma2.c:1069:
+                        if (!lzma2_lzma(s, b))
[...]

ERROR: braces {} are necessary for all arms of this statement
#1622: FILE: libxz/xz_dec_lzma2.c:1093:
+                        if (s->lzma2.compressed > 0)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1637: FILE: libxz/xz_dec_lzma2.c:1108:
+        if (s == NULL)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1660: FILE: libxz/xz_dec_lzma2.c:1131:
+        if (props > 39)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1667: FILE: libxz/xz_dec_lzma2.c:1138:
+                if (s->dict.size > s->dict.size_max)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1696: FILE: libxz/xz_dec_lzma2.c:1167:
+        if (DEC_IS_MULTI(s->dict.mode))
[...]

ERROR: braces {} are necessary for all arms of this statement
#1897: FILE: libxz/xz_dec_stream.c:191:
+        if (s->pos == 0)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1908: FILE: libxz/xz_dec_stream.c:202:
+                        if (byte == 0 && s->pos != 0)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1916: FILE: libxz/xz_dec_stream.c:210:
+                if (s->pos == 7 * VLI_BYTES_MAX)
[...]

ERROR: braces {} are necessary for all arms of this statement
#1987: FILE: libxz/xz_dec_stream.c:281:
+                if (s->check_type == XZ_CHECK_CRC32)
[...]
+                else if (IS_CRC64(s->check_type))
[...]

ERROR: braces {} are necessary for all arms of this statement
#1989: FILE: libxz/xz_dec_stream.c:283:
+                else if (IS_CRC64(s->check_type))
[...]

ERROR: braces {} are necessary for all arms of this statement
#2040: FILE: libxz/xz_dec_stream.c:334:
+                        if (s->index.count != s->block.count)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2075: FILE: libxz/xz_dec_stream.c:369:
+                if (b->in_pos == b->in_size)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2078: FILE: libxz/xz_dec_stream.c:372:
+                if (((s->crc >> s->pos) & 0xFF) != b->in[b->in_pos++])
[...]

ERROR: braces {} are necessary for all arms of this statement
#2099: FILE: libxz/xz_dec_stream.c:393:
+                if (b->in_pos == b->in_size)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2115: FILE: libxz/xz_dec_stream.c:409:
+        if (!memeq(s->temp.buf, HEADER_MAGIC, HEADER_MAGIC_SIZE))
[...]

ERROR: braces {} are necessary for all arms of this statement
#2122: FILE: libxz/xz_dec_stream.c:416:
+        if (s->temp.buf[HEADER_MAGIC_SIZE] != 0)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2135: FILE: libxz/xz_dec_stream.c:429:
+        if (s->check_type > XZ_CHECK_MAX)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2138: FILE: libxz/xz_dec_stream.c:432:
+        if (s->check_type > XZ_CHECK_CRC32 && !IS_CRC64(s->check_type))
[...]

ERROR: braces {} are necessary for all arms of this statement
#2141: FILE: libxz/xz_dec_stream.c:435:
+        if (s->check_type > XZ_CHECK_CRC32 && !IS_CRC64(s->check_type))
[...]

ERROR: braces {} are necessary for all arms of this statement
#2151: FILE: libxz/xz_dec_stream.c:445:
+        if (!memeq(s->temp.buf + 10, FOOTER_MAGIC, FOOTER_MAGIC_SIZE))
[...]

ERROR: braces {} are necessary for all arms of this statement
#2154: FILE: libxz/xz_dec_stream.c:448:
+        if (xz_crc32(s->temp.buf + 4, 6, 0) != get_le32(s->temp.buf))
[...]

ERROR: braces {} are necessary for all arms of this statement
#2162: FILE: libxz/xz_dec_stream.c:456:
+        if ((s->index.size >> 2) != get_le32(s->temp.buf + 4))
[...]

ERROR: braces {} are necessary for all arms of this statement
#2165: FILE: libxz/xz_dec_stream.c:459:
+        if (s->temp.buf[8] != 0 || s->temp.buf[9] != s->check_type)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2228: FILE: libxz/xz_dec_stream.c:522:
+                if (s->temp.size - s->temp.pos < 2)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2232: FILE: libxz/xz_dec_stream.c:526:
+                if (ret != XZ_OK)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2239: FILE: libxz/xz_dec_stream.c:533:
+                if (s->temp.buf[s->temp.pos++] != 0x00)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2245: FILE: libxz/xz_dec_stream.c:539:
+        if (s->temp.size - s->temp.pos < 2)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2249: FILE: libxz/xz_dec_stream.c:543:
+        if (s->temp.buf[s->temp.pos++] != 0x21)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2253: FILE: libxz/xz_dec_stream.c:547:
+        if (s->temp.buf[s->temp.pos++] != 0x01)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2257: FILE: libxz/xz_dec_stream.c:551:
+        if (s->temp.size - s->temp.pos < 1)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2261: FILE: libxz/xz_dec_stream.c:555:
+        if (ret != XZ_OK)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2266: FILE: libxz/xz_dec_stream.c:560:
+                if (s->temp.buf[s->temp.pos++] != 0x00)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2297: FILE: libxz/xz_dec_stream.c:591:
+                        if (!fill_temp(s, b))
[...]

ERROR: braces {} are necessary for all arms of this statement
#2310: FILE: libxz/xz_dec_stream.c:604:
+                        if (ret != XZ_OK)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2315: FILE: libxz/xz_dec_stream.c:609:
+                        if (b->in_pos == b->in_size)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2337: FILE: libxz/xz_dec_stream.c:631:
+                        if (!fill_temp(s, b))
[...]

ERROR: braces {} are necessary for all arms of this statement
#2341: FILE: libxz/xz_dec_stream.c:635:
+                        if (ret != XZ_OK)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2348: FILE: libxz/xz_dec_stream.c:642:
+                        if (ret != XZ_STREAM_END)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2362: FILE: libxz/xz_dec_stream.c:656:
+                                if (b->in_pos == b->in_size)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2365: FILE: libxz/xz_dec_stream.c:659:
+                                if (b->in[b->in_pos++] != 0)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2376: FILE: libxz/xz_dec_stream.c:670:
+                                if (ret != XZ_STREAM_END)
[...]

ERROR: else should follow close brace '}'
#2379: FILE: libxz/xz_dec_stream.c:673:
+                        }
+                        else if (IS_CRC64(s->check_type)) {

ERROR: braces {} are necessary for all arms of this statement
#2381: FILE: libxz/xz_dec_stream.c:675:
+                                if (ret != XZ_STREAM_END)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2395: FILE: libxz/xz_dec_stream.c:689:
+                        if (ret != XZ_STREAM_END)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2408: FILE: libxz/xz_dec_stream.c:702:
+                                if (b->in[b->in_pos++] != 0)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2424: FILE: libxz/xz_dec_stream.c:718:
+                        if (ret != XZ_STREAM_END)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2431: FILE: libxz/xz_dec_stream.c:725:
+                        if (!fill_temp(s, b))
[...]

ERROR: braces {} are necessary for all arms of this statement
#2472: FILE: libxz/xz_dec_stream.c:766:
+        if (DEC_IS_SINGLE(s->mode))
[...]

ERROR: braces {} are necessary for all arms of this statement
#2491: FILE: libxz/xz_dec_stream.c:785:
+                if (s->allow_buf_error)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2505: FILE: libxz/xz_dec_stream.c:799:
+        if (s == NULL)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2512: FILE: libxz/xz_dec_stream.c:806:
+        if (s->bcj == NULL)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2517: FILE: libxz/xz_dec_stream.c:811:
+        if (s->lzma2 == NULL)
[...]

ERROR: braces {} are necessary for all arms of this statement
#2625: FILE: libxz/xz_lzma2.h:66:
+    if (*state <= STATE_SHORTREP_LIT_LIT)
[...]
+    else if (*state <= STATE_LIT_SHORTREP)
[...]
+    else
[...]

ERROR: braces {} are necessary for all arms of this statement
#2627: FILE: libxz/xz_lzma2.h:68:
+    else if (*state <= STATE_LIT_SHORTREP)
[...]
+    else
[...]

WARNING: Block comments use a leading /* on a separate line
#2657: FILE: libxz/xz_lzma2.h:98:
+/* Each literal coder is divided in three sections:

WARNING: Block comments use a leading /* on a separate line
#2673: FILE: libxz/xz_lzma2.h:114:
+/* Match length is encoded with 4, 5, or 10 bits.

WARNING: Block comments use a leading /* on a separate line
#2720: FILE: libxz/xz_lzma2.h:161:
+/* Match distances up to 127 are fully encoded using probabilities. Since

WARNING: architecture specific defines should be avoided
#2782: FILE: libxz/xz_private.h:13:
+#ifdef __KERNEL__

WARNING: architecture specific defines should be avoided
#2944: FILE: libxz/xz_stream.h:13:
+#if defined(__KERNEL__) && !XZ_INTERNAL_CRC32

total: 109 errors, 17 warnings, 2932 lines checked

Patch 4/5 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

5/5 Checking commit 7419b332e89b (ppc/pnv: Read the PNOR partition table)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#252: 
new file mode 100644

total: 0 errors, 1 warnings, 383 lines checked

Patch 5/5 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20191021131215.3693-1-clg@kaod.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com