* Re: [PATCH v8 1/2] dt-bindings: input: bindings for Adafruit Seesaw Gamepad
From: Krzysztof Kozlowski @ 2023-11-14 20:32 UTC (permalink / raw)
To: Thomas Weißschuh, Anshul Dalal
Cc: linux-input, devicetree, Conor Dooley, Dmitry Torokhov,
linux-kernel, Conor Dooley, Rob Herring, Krzysztof Kozlowski,
Jeff LaBundy, linux-kernel-mentees
In-Reply-To: <0defc0e3-dc15-459d-9e71-64f3c38a6931@t-8ch.de>
On 14/11/2023 20:20, Thomas Weißschuh wrote:
> On 2023-11-08 06:23:35+0530, Anshul Dalal wrote:
>> Adds bindings for the Adafruit Seesaw Gamepad.
>>
>> The gamepad functions as an i2c device with the default address of 0x50
>> and has an IRQ pin that can be enabled in the driver to allow for a rising
>> edge trigger on each button press or joystick movement.
>>
>> Product page:
>> https://www.adafruit.com/product/5743
>> Arduino driver:
>> https://github.com/adafruit/Adafruit_Seesaw
>>
>> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> Signed-off-by: Anshul Dalal <anshulusr@gmail.com>
>> ---
>>
>> Changes for v8:
>> - no updates
>>
>> Changes for v7:
>> - no updates
>>
>> Changes for v6:
>> - no updates
>>
>> Changes for v5:
>> - Added link to the datasheet
>>
>> Changes for v4:
>> - Fixed the URI for the id field
>> - Added `interrupts` property
>>
>> Changes for v3:
>> - Updated id field to reflect updated file name from previous version
>> - Added `reg` property
>>
>> Changes for v2:
>> - Renamed file to `adafruit,seesaw-gamepad.yaml`
>> - Removed quotes for `$id` and `$schema`
>> - Removed "Bindings for" from the description
>> - Changed node name to the generic name "joystick"
>> - Changed compatible to 'adafruit,seesaw-gamepad' instead of
>> 'adafruit,seesaw_gamepad'
>> ---
>> .../input/adafruit,seesaw-gamepad.yaml | 60 +++++++++++++++++++
>> 1 file changed, 60 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml b/Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml
>> new file mode 100644
>> index 000000000000..3f0d1c5a3b9b
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml
>> @@ -0,0 +1,60 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/input/adafruit,seesaw-gamepad.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Adafruit Mini I2C Gamepad with seesaw
>> +
>> +maintainers:
>> + - Anshul Dalal <anshulusr@gmail.com>
>> +
>> +description: |
>> + Adafruit Mini I2C Gamepad
>> +
>> + +-----------------------------+
>> + | ___ |
>> + | / \ (X) |
>> + | | S | __ __ (Y) (A) |
>> + | \___/ |ST| |SE| (B) |
>> + | |
>> + +-----------------------------+
>> +
>> + S -> 10-bit percision bidirectional analog joystick
>> + ST -> Start
>> + SE -> Select
>> + X, A, B, Y -> Digital action buttons
>> +
>> + Datasheet: https://cdn-learn.adafruit.com/downloads/pdf/gamepad-qt.pdf
>> + Product page: https://www.adafruit.com/product/5743
>> + Arduino Driver: https://github.com/adafruit/Adafruit_Seesaw
>> +
>> +properties:
>> + compatible:
>> + const: adafruit,seesaw-gamepad
>
> I don't really have any clue about devicetree, but shouldn't the actual
> driver have an id-table for this "compatible"?
It should, why was it dropped?
>
> It had one up to v5 of the patchset.
>
> Jeff had some comments about the OF aspect [0], but to me the state now
> seems incorrect.
> Maybe the DT can be dropped completely?
>
> Jeff, could you advise?
>
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + interrupts:
>> + maxItems: 1
>> + description:
>> + The gamepad's IRQ pin triggers a rising edge if interrupts are enabled.
>
> Interrupts are not supported yet by the driver.
> Should the property be there already?
Bindings describe the hardware, no the driver. If the hardware has
interrupt line, it should be described here.
Best regards,
Krzysztof
^ permalink raw reply
* Re: [PATCH v8 1/2] dt-bindings: input: bindings for Adafruit Seesaw Gamepad
From: Thomas Weißschuh @ 2023-11-14 19:20 UTC (permalink / raw)
To: Anshul Dalal
Cc: linux-input, devicetree, Conor Dooley, Dmitry Torokhov,
linux-kernel, Krzysztof Kozlowski, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Jeff LaBundy, linux-kernel-mentees
In-Reply-To: <20231108005337.45069-1-anshulusr@gmail.com>
On 2023-11-08 06:23:35+0530, Anshul Dalal wrote:
> Adds bindings for the Adafruit Seesaw Gamepad.
>
> The gamepad functions as an i2c device with the default address of 0x50
> and has an IRQ pin that can be enabled in the driver to allow for a rising
> edge trigger on each button press or joystick movement.
>
> Product page:
> https://www.adafruit.com/product/5743
> Arduino driver:
> https://github.com/adafruit/Adafruit_Seesaw
>
> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: Anshul Dalal <anshulusr@gmail.com>
> ---
>
> Changes for v8:
> - no updates
>
> Changes for v7:
> - no updates
>
> Changes for v6:
> - no updates
>
> Changes for v5:
> - Added link to the datasheet
>
> Changes for v4:
> - Fixed the URI for the id field
> - Added `interrupts` property
>
> Changes for v3:
> - Updated id field to reflect updated file name from previous version
> - Added `reg` property
>
> Changes for v2:
> - Renamed file to `adafruit,seesaw-gamepad.yaml`
> - Removed quotes for `$id` and `$schema`
> - Removed "Bindings for" from the description
> - Changed node name to the generic name "joystick"
> - Changed compatible to 'adafruit,seesaw-gamepad' instead of
> 'adafruit,seesaw_gamepad'
> ---
> .../input/adafruit,seesaw-gamepad.yaml | 60 +++++++++++++++++++
> 1 file changed, 60 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml b/Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml
> new file mode 100644
> index 000000000000..3f0d1c5a3b9b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml
> @@ -0,0 +1,60 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/adafruit,seesaw-gamepad.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Adafruit Mini I2C Gamepad with seesaw
> +
> +maintainers:
> + - Anshul Dalal <anshulusr@gmail.com>
> +
> +description: |
> + Adafruit Mini I2C Gamepad
> +
> + +-----------------------------+
> + | ___ |
> + | / \ (X) |
> + | | S | __ __ (Y) (A) |
> + | \___/ |ST| |SE| (B) |
> + | |
> + +-----------------------------+
> +
> + S -> 10-bit percision bidirectional analog joystick
> + ST -> Start
> + SE -> Select
> + X, A, B, Y -> Digital action buttons
> +
> + Datasheet: https://cdn-learn.adafruit.com/downloads/pdf/gamepad-qt.pdf
> + Product page: https://www.adafruit.com/product/5743
> + Arduino Driver: https://github.com/adafruit/Adafruit_Seesaw
> +
> +properties:
> + compatible:
> + const: adafruit,seesaw-gamepad
I don't really have any clue about devicetree, but shouldn't the actual
driver have an id-table for this "compatible"?
It had one up to v5 of the patchset.
Jeff had some comments about the OF aspect [0], but to me the state now
seems incorrect.
Maybe the DT can be dropped completely?
Jeff, could you advise?
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> + description:
> + The gamepad's IRQ pin triggers a rising edge if interrupts are enabled.
Interrupts are not supported yet by the driver.
Should the property be there already?
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + joystick@50 {
> + compatible = "adafruit,seesaw-gamepad";
> + reg = <0x50>;
> + };
> + };
> --
> 2.42.0
[0] https://lore.kernel.org/lkml/ZTWza+S+t+UZKlwu@nixie71/
^ permalink raw reply
* Re: [PATCH v8 2/2] input: joystick: driver for Adafruit Seesaw Gamepad
From: Thomas Weißschuh @ 2023-11-14 19:07 UTC (permalink / raw)
To: Anshul Dalal
Cc: linux-input, devicetree, Conor Dooley, Dmitry Torokhov,
linux-kernel, Krzysztof Kozlowski, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Jeff LaBundy, linux-kernel-mentees
In-Reply-To: <20231108005337.45069-2-anshulusr@gmail.com>
On 2023-11-08 06:23:36+0530, Anshul Dalal wrote:
> Adds a driver for a mini gamepad that communicates over i2c, the gamepad
> has bidirectional thumb stick input and six buttons.
With or without the tiny nitpicks mentioned below:
Reviewed-by: Thomas Weißschuh <linux@weissschuh.net>
> The gamepad chip utilizes the open framework from Adafruit called 'Seesaw'
> to transmit the ADC data for the joystick and digital pin state for the
> buttons. I have only implemented the functionality required to receive the
> thumb stick and button state.
[..]
> diff --git a/drivers/input/joystick/adafruit-seesaw.c b/drivers/input/joystick/adafruit-seesaw.c
> new file mode 100644
> index 000000000000..8e8ef26a585f
> --- /dev/null
> +++ b/drivers/input/joystick/adafruit-seesaw.c
> @@ -0,0 +1,315 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright (C) 2023 Anshul Dalal <anshulusr@gmail.com>
> + *
> + * Driver for Adafruit Mini I2C Gamepad
> + *
> + * Based on the work of:
> + * Oleh Kravchenko (Sparkfun Qwiic Joystick driver)
> + *
> + * Datasheet: https://cdn-learn.adafruit.com/downloads/pdf/gamepad-qt.pdf
> + * Product page: https://www.adafruit.com/product/5743
> + * Firmware and hardware sources: https://github.com/adafruit/Adafruit_Seesaw
> + *
> + * TODO:
> + * - Add interrupt support
> + */
> +
> +#include <asm-generic/unaligned.h>
#include <asm/unaligned.h>
> +#include <linux/bits.h>
> +#include <linux/delay.h>
> +#include <linux/i2c.h>
> +#include <linux/input.h>
> +#include <linux/input/sparse-keymap.h>
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +
> +#define SEESAW_DEVICE_NAME "seesaw-gamepad"
> +
> +#define SEESAW_STATUS_BASE 0x00
> +#define SEESAW_GPIO_BASE 0x01
> +#define SEESAW_ADC_BASE 0x09
> +
> +#define SEESAW_GPIO_DIRCLR_BULK 0x03
> +#define SEESAW_GPIO_BULK 0x04
> +#define SEESAW_GPIO_BULK_SET 0x05
> +#define SEESAW_GPIO_PULLENSET 0x0b
> +
> +#define SEESAW_STATUS_HW_ID 0x01
> +#define SEESAW_STATUS_SWRST 0x7f
> +
> +#define SEESAW_ADC_OFFSET 0x07
> +
> +#define SEESAW_BUTTON_A 0x05
> +#define SEESAW_BUTTON_B 0x01
> +#define SEESAW_BUTTON_X 0x06
> +#define SEESAW_BUTTON_Y 0x02
> +#define SEESAW_BUTTON_START 0x10
> +#define SEESAW_BUTTON_SELECT 0x00
> +
> +#define SEESAW_ANALOG_X 0x0e
> +#define SEESAW_ANALOG_Y 0x0f
> +
> +#define SEESAW_JOYSTICK_MAX_AXIS 1023
> +#define SEESAW_JOYSTICK_FUZZ 2
> +#define SEESAW_JOYSTICK_FLAT 4
> +
> +#define SEESAW_GAMEPAD_POLL_INTERVAL 16
> +#define SEESAW_GAMEPAD_POLL_MIN 8
> +#define SEESAW_GAMEPAD_POLL_MAX 32
> +
> +static const u32 SEESAW_BUTTON_MASK =
> + BIT(SEESAW_BUTTON_A) | BIT(SEESAW_BUTTON_B) | BIT(SEESAW_BUTTON_X) |
> + BIT(SEESAW_BUTTON_Y) | BIT(SEESAW_BUTTON_START) |
> + BIT(SEESAW_BUTTON_SELECT);
> +
> +struct seesaw_gamepad {
> + struct input_dev *input_dev;
This field is not used, but it doesn't hurt.
If you remove the field you can get rid of the whole struct itself.
> + struct i2c_client *i2c_client;
> +};
> +
> +struct seesaw_data {
> + u16 x;
> + u16 y;
> + u32 button_state;
> +};
> +
> +struct seesaw_button_description {
> + unsigned int code;
> + unsigned int bit;
> +};
Not used anymore.
> +
> +static const struct key_entry seesaw_buttons_new[] = {
> + { KE_KEY, SEESAW_BUTTON_A, .keycode = BTN_SOUTH },
> + { KE_KEY, SEESAW_BUTTON_B, .keycode = BTN_EAST },
> + { KE_KEY, SEESAW_BUTTON_X, .keycode = BTN_NORTH },
> + { KE_KEY, SEESAW_BUTTON_Y, .keycode = BTN_WEST },
> + { KE_KEY, SEESAW_BUTTON_START, .keycode = BTN_START },
> + { KE_KEY, SEESAW_BUTTON_SELECT, .keycode = BTN_SELECT },
> + { KE_END, 0 },
No comma after sentinel element.
> +};
> +
> +static int seesaw_register_read(struct i2c_client *client, u8 register_high,
> + u8 register_low, char *buf, int count)
> +{
> + int ret;
> + u8 register_buf[2] = { register_high, register_low };
> +
> + struct i2c_msg message_buf[2] = {
> + {
> + .addr = client->addr,
> + .flags = client->flags,
> + .len = sizeof(register_buf),
> + .buf = register_buf
Commas after normal last elements.
> + },
> + {
> + .addr = client->addr,
> + .flags = client->flags | I2C_M_RD,
> + .len = count,
> + .buf = buf
Same as above.
> + },
> + };
> + ret = i2c_transfer(client->adapter, message_buf,
> + ARRAY_SIZE(message_buf));
> +
> + if (ret < 0)
> + return ret;
> +
> + return 0;
> +}
> +
> +static int seesaw_register_write_u8(struct i2c_client *client, u8 register_high,
> + u8 register_low, u8 value)
> +{
> + int ret;
> + u8 write_buf[3] = { register_high, register_low, value };
> +
> + ret = i2c_master_send(client, write_buf, sizeof(write_buf));
> + if (ret < 0)
> + return ret;
> +
> + return 0;
> +}
> +
> +static int seesaw_register_write_u32(struct i2c_client *client,
> + u8 register_high, u8 register_low,
> + u32 value)
> +{
> + int ret;
> + u8 write_buf[6] = { register_high, register_low };
> +
> + put_unaligned_be32(value, write_buf + 2);
> + ret = i2c_master_send(client, write_buf, sizeof(write_buf));
> + if (ret < 0)
> + return ret;
> +
> + return 0;
> +}
> +
> +static int seesaw_read_data(struct i2c_client *client, struct seesaw_data *data)
> +{
> + int ret;
> + __be16 adc_data;
> + __be32 read_buf;
> +
> + ret = seesaw_register_read(client, SEESAW_GPIO_BASE, SEESAW_GPIO_BULK,
> + (char *)&read_buf, sizeof(read_buf));
> + if (ret)
> + return ret;
> +
> + data->button_state = ~be32_to_cpu(read_buf);
> +
> + ret = seesaw_register_read(client, SEESAW_ADC_BASE,
> + SEESAW_ADC_OFFSET + SEESAW_ANALOG_X,
> + (char *)&adc_data, sizeof(adc_data));
> + if (ret)
> + return ret;
> + /*
> + * ADC reads left as max and right as 0, must be reversed since kernel
> + * expects reports in opposite order.
> + */
> + data->x = SEESAW_JOYSTICK_MAX_AXIS - be16_to_cpu(adc_data);
> +
> + ret = seesaw_register_read(client, SEESAW_ADC_BASE,
> + SEESAW_ADC_OFFSET + SEESAW_ANALOG_Y,
> + (char *)&adc_data, sizeof(adc_data));
> + if (ret)
> + return ret;
> + data->y = be16_to_cpu(adc_data);
> +
> + return 0;
> +}
> +
> +static void seesaw_poll(struct input_dev *input)
> +{
> + int err, i;
> + struct seesaw_gamepad *private = input_get_drvdata(input);
> + struct seesaw_data data;
> +
> + err = seesaw_read_data(private->i2c_client, &data);
> + if (err) {
> + dev_err_ratelimited(&input->dev,
> + "failed to read joystick state: %d\n", err);
> + return;
> + }
> +
> + input_report_abs(input, ABS_X, data.x);
> + input_report_abs(input, ABS_Y, data.y);
> +
> + for_each_set_bit(i, (long *)&SEESAW_BUTTON_MASK,
> + BITS_PER_TYPE(SEESAW_BUTTON_MASK)) {
> + if (!sparse_keymap_report_event(
> + input, i, data.button_state & BIT(i), false)) {
> + dev_err_ratelimited(&input->dev,
> + "failed to report keymap event");
> + return;
I would drop this return. Report as much data as possible.
> + };
> + }
> +
> + input_sync(input);
> +}
> +
> +static int seesaw_probe(struct i2c_client *client)
> +{
> + int ret;
> + u8 hardware_id;
> + struct seesaw_gamepad *seesaw;
> +
> + ret = seesaw_register_write_u8(client, SEESAW_STATUS_BASE,
> + SEESAW_STATUS_SWRST, 0xFF);
> + if (ret)
> + return ret;
> +
> + /* Wait for the registers to reset before proceeding */
> + usleep_range(10000, 15000);
This would be a very tiny bit clearer:
usleep_range(10 * MSEC_PER_USEC, 15 * MSEC_PER_USEC);
> +
> + seesaw = devm_kzalloc(&client->dev, sizeof(*seesaw), GFP_KERNEL);
> + if (!seesaw)
> + return -ENOMEM;
> +
> + ret = seesaw_register_read(client, SEESAW_STATUS_BASE,
> + SEESAW_STATUS_HW_ID, &hardware_id,
> + sizeof(hardware_id));
> + if (ret)
> + return ret;
> +
> + dev_dbg(&client->dev, "Adafruit Seesaw Gamepad, Hardware ID: %02x\n",
> + hardware_id);
> +
> + /* Set Pin Mode to input and enable pull-up resistors */
> + ret = seesaw_register_write_u32(client, SEESAW_GPIO_BASE,
> + SEESAW_GPIO_DIRCLR_BULK,
> + SEESAW_BUTTON_MASK);
> + if (ret)
> + return ret;
> + ret = seesaw_register_write_u32(client, SEESAW_GPIO_BASE,
> + SEESAW_GPIO_PULLENSET,
> + SEESAW_BUTTON_MASK);
> + if (ret)
> + return ret;
> + ret = seesaw_register_write_u32(client, SEESAW_GPIO_BASE,
> + SEESAW_GPIO_BULK_SET,
> + SEESAW_BUTTON_MASK);
> + if (ret)
> + return ret;
> +
> + seesaw->i2c_client = client;
> + seesaw->input_dev = devm_input_allocate_device(&client->dev);
> + if (!seesaw->input_dev)
> + return -ENOMEM;
> +
> + seesaw->input_dev->id.bustype = BUS_I2C;
> + seesaw->input_dev->name = "Adafruit Seesaw Gamepad";
> + seesaw->input_dev->phys = "i2c/" SEESAW_DEVICE_NAME;
> + input_set_drvdata(seesaw->input_dev, seesaw);
> + input_set_abs_params(seesaw->input_dev, ABS_X, 0,
> + SEESAW_JOYSTICK_MAX_AXIS, SEESAW_JOYSTICK_FUZZ,
> + SEESAW_JOYSTICK_FLAT);
> + input_set_abs_params(seesaw->input_dev, ABS_Y, 0,
> + SEESAW_JOYSTICK_MAX_AXIS, SEESAW_JOYSTICK_FUZZ,
> + SEESAW_JOYSTICK_FLAT);
> +
> + ret = sparse_keymap_setup(seesaw->input_dev, seesaw_buttons_new, NULL);
> + if (ret) {
> + dev_err(&client->dev,
> + "failed to set up input device keymap: %d\n", ret);
> + return ret;
> + }
> +
> + ret = input_setup_polling(seesaw->input_dev, seesaw_poll);
> + if (ret) {
> + dev_err(&client->dev, "failed to set up polling: %d\n", ret);
> + return ret;
> + }
> +
> + input_set_poll_interval(seesaw->input_dev, SEESAW_GAMEPAD_POLL_INTERVAL);
> + input_set_max_poll_interval(seesaw->input_dev, SEESAW_GAMEPAD_POLL_MAX);
> + input_set_min_poll_interval(seesaw->input_dev, SEESAW_GAMEPAD_POLL_MIN);
> +
> + ret = input_register_device(seesaw->input_dev);
> + if (ret) {
> + dev_err(&client->dev, "failed to register joystick: %d\n", ret);
> + return ret;
> + }
> +
> + return 0;
> +}
> +
> +static const struct i2c_device_id seesaw_id_table[] = {
> + { SEESAW_DEVICE_NAME, 0 },
> + { /* Sentinel */ }
> +};
> +MODULE_DEVICE_TABLE(i2c, seesaw_id_table);
> +
> +static struct i2c_driver seesaw_driver = {
> + .driver = {
> + .name = SEESAW_DEVICE_NAME,
> + },
> + .id_table = seesaw_id_table,
> + .probe = seesaw_probe,
> +};
> +module_i2c_driver(seesaw_driver);
> +
> +MODULE_AUTHOR("Anshul Dalal <anshulusr@gmail.com>");
> +MODULE_DESCRIPTION("Adafruit Mini I2C Gamepad driver");
> +MODULE_LICENSE("GPL");
> --
> 2.42.0
>
^ permalink raw reply
* Re: [PATCH] Input: atkbd - Skip ATKBD_CMD_GETID in translated mode
From: Dmitry Torokhov @ 2023-11-14 15:59 UTC (permalink / raw)
To: Hans de Goede
Cc: linux-input, Shang Ye, gurevitch, Egor Ignatov, Anton Zhilyaev
In-Reply-To: <20231106155429.5377-1-hdegoede@redhat.com>
Hi Hans,
On Mon, Nov 06, 2023 at 04:54:29PM +0100, Hans de Goede wrote:
> There have been multiple reports of keyboard issues on recent laptop models
> which can be worked around by setting i8042.dumbkbd, with the downside
> being this breaks the capslock LED.
>
> It seems that these issues are caused by recent laptops getting confused by
> ATKBD_CMD_GETID. Rather then adding and endless growing list of quirks for
> this, lets just skip ATKBD_CMD_GETID alltogether when in translated mode.
>
> The main goal of sending ATKBD_CMD_GETID is to skip binding to ps/2
> mice/touchpads and those are never used in translated mode.
>
> Examples of laptop models which benefit from skipping ATKBD_CMD_GETID:
>
> * "HP Laptop 15s-fq2xxx", "HP laptop 15s-fq4xxx" and "HP Laptop 15-dy2xxx"
> models the kbd stops working for the first 2 - 5 minutes after boot
> (waiting for EC watchdog reset?)
>
> * On "HP Spectre x360 13-aw2xxx" atkbd fails to probe the keyboard
>
> * At least 9 different Lenovo models have issues with ATKBD_CMD_GETID, see:
> https://github.com/yaescallop/atkbd-nogetid
>
> Note this also removes the "NCD terminal keyboards are only supported on
> non-translating controllers." warning since that code is now unreachable.
>
> This has been tested on:
>
> 1. A MSI B550M PRO-VDH WIFI desktop, where the i8042 controller is not
> in translated mode when no keyboard is plugged in and with a ps/2 kbd
> a "AT Translated Set 2 keyboard" /dev/input/event# node shows up
>
> 2. A Dell Latitude 9420 (always has a "AT Translated Set 2 keyboard")
>
> 3. A Lenovo ThinkPad X1 Yoga gen 8 (idem)
I agree that the mice/touchpads are not going to work if the controller
is in translated mode, however I wonder if on a device with external
PS/2 ports we could not end up with a port in translated mode with
"wrong" device plugged in.
Can we consider not skipping the check completely, but rather use DMI to
check the chassis type (we already have a similar check in 8042)
and skip ATKBD_CMD_GETID on mobile devices, but still try
ATKBD_CMD_SETLEDS on them?
Thanks.
--
Dmitry
^ permalink raw reply
* [PATCH] usb: hid: add ALWAYS_POLL quirk for Apple kb
From: Oliver Neukum @ 2023-11-14 14:54 UTC (permalink / raw)
To: jikos, benjamin.tissoires, linux-input; +Cc: Oliver Neukum
These devices disconnect if suspended without
remote wakeup. They can operate with the standard
driver.
Signed-off-by: Oliver Neukum <oneukum@suse.com>
---
drivers/hid/hid-quirks.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
index 3983b4f282f8..0384384120c9 100644
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -33,6 +33,7 @@ static const struct hid_device_id hid_quirks[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_AKAI, USB_DEVICE_ID_AKAI_MPKMINI2), HID_QUIRK_NO_INIT_REPORTS },
{ HID_USB_DEVICE(USB_VENDOR_ID_ALPS, USB_DEVICE_ID_IBM_GAMEPAD), HID_QUIRK_BADPAD },
{ HID_USB_DEVICE(USB_VENDOR_ID_AMI, USB_DEVICE_ID_AMI_VIRT_KEYBOARD_AND_MOUSE), HID_QUIRK_ALWAYS_POLL },
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ANSI), HID_QUIRK_ALWAYS_POLL },
{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM), HID_QUIRK_NOGET },
{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC), HID_QUIRK_NOGET },
{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM), HID_QUIRK_NOGET },
--
2.42.0
^ permalink raw reply related
* Re: Requesting your attention and expertise regarding a Tablet/Kernel issue
From: Benjamin Tissoires @ 2023-11-14 14:35 UTC (permalink / raw)
To: David Revoy
Cc: José Expósito, Eric GOUYER, Illia Ostapyshyn, jkosina,
jason.gerecke, linux-input, linux-kernel
In-Reply-To: <nFHw6XePiH5p60JsbQSbssRkiuABiTiR_n5fIYFZjPgkV3ObjjZuwTC84BJ_1vXYVufPbG3UvZ1L7ODSrrGlq9CrI7BTKhsV5QeAQoakV18=@protonmail.com>
Hi David,
On Mon, Nov 13, 2023 at 11:08 PM David Revoy <davidrevoy@protonmail.com> wrote:
>
> Hi Benjamin,
>
> > Here is a little bit of history of why you were encountering this bug [...]
>
> Many thanks for all the details you wrote about the bug, I found
> your email so interesting that I couldn't resist to copy/paste it
> on my blog[1].
Heh, glad you found it interesting. Too bad it was tough to understand :)
>
> > And that's exactly what happened in your case David. Which is why I'm
> > so happy (also because I fixed the tools from an author I like and
> > already had the books at home :-P):
>
> Please send me an email in private with your adress; I'll be happy to
> send you an original drawing. That will be my way to thank you :-)
Oh, that would be wonderful. Many thanks.
I'll send a separate email.
>
> > Could you please once again attach the hid-recorder of the Pro 24
> > while doing the following sequence:
> > - touch with the tip of the stylus the tablet
> > - while touching, press the upper button (the problematic one)
> > - still while touching, release the button
> > - remove the stylus
>
> Sure, you'll find the action (repeated three times) recorded here [2]
Thanks a lot. However, I realized this morning 2 issues (sorry):
- you made the recording while the HID-BPF program was attached, which
is now obvious that anyone would do that. But the program sometimes
discards events, so I am not sure now if sometimes the device is not
sending the spurious events, or if the filter was acting correctly.
(Note to self, next time, while in the testing phase, do not blindly
discard the events, but remap them to an ignored report)
- that device is really "interesting" in how it behaves with the
eraser mode emulation: when you press the second button while touching
the pen, we get a spurious release of the touch event... And this
leads me to think that I'm not sure about all of the transitions we
can have with buttons :(
TL;DR: there is still work to do for me and for you if you still agree
to send me more traces.
>
> > you could also give a test of the artifacts of job 51469284[3].
> >
> > The points to check are:
> > - if you right click while touching the surface, do you still get only
> > a right click or some weird glitches in addition to it?
> > - if you right click while not touching (hovering), no glitches?
>
> I tested. It's a bit hard to tell if it causes glitches or if the
> behavior is normal or not. I'm not using the right-click this way.
> I always use it in "hover mode". With artifact or without, the
> behavior is while the tip is pressed, the right-click quickly
> 'disapear' but it is probably normal because I test on contextual
> menu and clicking somewhere else makes this type of menu disapear.
AFAICT you used the artifacts from job 51469284. Which is good. But as
I mentioned above, the tablet is sending a spurious event I haven't
anticipated, which results in a left click (well release/click) from
the host point of view. And that very well explains the disappearance
of the right-click menu.
>
> I hope this will help,
It does, but there are glitches that I'd like to fix. I need to iron
out the bpf filter for those use cases. I rewrote the tests today to
take those into account (assuming I understand the HW enough) and I
think they are better now.
But I would also totally understand that you had enough debugging and
you would rather focus on using the tablets, instead of debugging
them. In which case, someone else from the community might help me.
Cheers,
Benjamin
> Cheers,
>
> David
>
> [1] https://www.davidrevoy.com/article1002/how-a-kernel-developer-made-my-styluses-work-again
> [2] https://www.peppercarrot.com/extras/mailing-list/hid-records/XPPEN-Artist-24-Pro/XPPEN-Artist-24-Pro_pen_tip-contact-and-action-press-release-upper-stylus-button-x3.txt
>
^ permalink raw reply
* [PATCH v6] Fix freeze in lm8333 i2c keyboard driver
From: Tomas Mudrunka @ 2023-11-14 12:30 UTC (permalink / raw)
To: jeff; +Cc: dmitry.torokhov, linux-input, linux-kernel, tomas.mudrunka
In-Reply-To: <ZF53JVcb8UJQFmfP@nixie71>
LM8333 uses gpio interrupt line which is active-low.
When interrupt is set to FALLING edge and button is pressed
before driver loads, driver will miss the edge and never respond.
To fix this we should handle ONESHOT LOW interrupt rather than edge.
Rather than hardcoding this, we simply remove the override from
driver by calling request_threaded_irq() with IRQF_TRIGGER_NONE flag.
This will keep interrupt trigger configuration as per devicetree. eg.:
lm8333@51 {
compatible = "ti,lm8333";
interrupt-parent = <&gpio1>;
interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
...
}
Signed-off-by: Tomas Mudrunka <tomas.mudrunka@gmail.com>
---
drivers/input/keyboard/lm8333.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/input/keyboard/lm8333.c b/drivers/input/keyboard/lm8333.c
index 7457c3220..c5770ebb2 100644
--- a/drivers/input/keyboard/lm8333.c
+++ b/drivers/input/keyboard/lm8333.c
@@ -179,7 +179,7 @@ static int lm8333_probe(struct i2c_client *client)
}
err = request_threaded_irq(client->irq, NULL, lm8333_irq_thread,
- IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
+ IRQF_TRIGGER_NONE | IRQF_ONESHOT,
"lm8333", lm8333);
if (err)
goto free_mem;
--
2.40.0
^ permalink raw reply related
* Re: [RFC PATCH v2 0/7] of: Introduce hardware prober driver
From: AngeloGioacchino Del Regno @ 2023-11-14 10:04 UTC (permalink / raw)
To: Chen-Yu Tsai
Cc: Rob Herring, Frank Rowand, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, Hsin-Yi Wang, Dmitry Torokhov,
andriy.shevchenko, Jiri Kosina, linus.walleij, broonie, gregkh,
hdegoede, james.clark, james, keescook, rafael, tglx,
Jeff LaBundy, linux-input, devicetree, linux-arm-kernel,
linux-mediatek, linux-kernel, Douglas Anderson, Johan Hovold
In-Reply-To: <CAGXv+5G+J__Z_YBySxrkthhwa71shq7aCeKZ_DEZCK=PLgYwUg@mail.gmail.com>
Il 14/11/23 09:57, Chen-Yu Tsai ha scritto:
> On Thu, Nov 9, 2023 at 6:54 PM AngeloGioacchino Del Regno
> <angelogioacchino.delregno@collabora.com> wrote:
>>
>> Il 09/11/23 11:05, Chen-Yu Tsai ha scritto:
>>> Hi everyone,
>>>
>>> This v2 series continues Doug's "of: device: Support 2nd sources of
>>> probeable but undiscoverable devices" [1] series, but follows the scheme
>>> suggested by Rob, marking all second source component device nodes
>>> as "fail-needs-probe-XXX", and having a hardware prober driver enable
>>> the one of them. I tried to include everyone from the original Cc: list.
>>> Please let me know if you would like to be dropped from future
>>> submissions.
>>>
>>>
>>> For the I2C component (touchscreens and trackpads) case from the
>>> original series, the hardware prober driver finds the particular
>>> class of device in the device tree, gets its parent I2C adapter,
>>> and tries to initiate a simple I2C read for each device under that
>>> I2C bus. When it finds one that responds, it considers that one
>>> present, marks it as "okay", and returns, letting the driver core
>>> actually probe the device.
>>>
>>> This works fine in most cases since these components are connected
>>> via ribbon cable and always have the same resources. The driver as
>>> implemented currently doesn't deal with regulators or GPIO pins,
>>> since in the existing device trees they are either always on for
>>> regulators, or have GPIO hogs or pinmux and pinconfig directly
>>> tied to the pin controller.
>>>
>>>
>>> Another case this driver could handle is selecting components based
>>> on some identifier passed in by the firmware. On Chromebooks we have
>>> a SKU ID which is inserted by the bootloader at
>>> /firmware/coreboot/sku-id. When a new combination of components is
>>> introduced, a new SKU ID is allocated to it. To have SKU ID based
>>> device trees, we would need to have one per SKU ID. This ends up
>>> increasing the number of device trees we have a lot. The recent
>>> MT8186 devices already have 10+10 SKUs [2], with possibly more to come.
>>>
>>> Instead, we could have just one device tree for each device, with
>>> component options listed and marked as "fail-needs-probe-XXX", and
>>> let the hardware prober enable one of them based on the given SKU ID.
>>> The driver will also fix up OF graph remote endpoints to point to the
>>> enabled component.
>>>
>>> The MT8186 Corsola series [2] can also benefit from this, though I
>>> haven't implemented anything yet.
>>>
>>>
>>> Patch 1 adds of_device_is_fail() for the new driver to use.
>>>
>>> Patch 2 implements the first case, probing the I2C bus for presence
>>> of components. This initial version targets the Hana Chromebooks.
>>>
>>> Patch 3 modifies the Hana device tree and marks the touchscreens
>>> and trackpads as "fail-needs-probe-XXX", ready for the driver to
>>> probe.
>>>
>>> Patch 4 adds a missing touchscreen variant to Hana.
>>>
>>> Patch 5 implements the second case, selectively enabling components
>>> based on the SKU ID. This initial version targets the Krane ChromeOS
>>> tablet, which has two possible MIPI DSI display panel options.
>>>
>>> Patch 6 drops Krane's SKU-specific compatible strings from the bindings.
>>>
>>> Patch 7 merges Krane's SKU-specific device trees into one, with the
>>> device tree now containing two possible panels. This unfortunately
>>> introduces a dtc warning:
>>>
>>> arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dts:81.13-83.6:
>>> Warning (graph_endpoint): /soc/dsi@14014000/panel2@0/port/endpoint:
>>> graph connection to node '/soc/dsi@14014000/ports/port/endpoint'
>>> is not bidirectional
>>>
>>>
>>> Please take a look.
>>>
>>> Johan, I'm not sure if this works as is for the Lenovo Thinkpad 13S
>>> case, since it looks like the trackpad shares the I2C bus with the
>>> keyboard.
>>>
>>>
>>> Thanks
>>> ChenYu
>>>
>>>
>>> Background as given in Doug's cover letter:
>>>
>>> Support for multiple "equivalent" sources for components (also known
>>> as second sourcing components) is a standard practice that helps keep
>>> cost down and also makes sure that if one component is unavailable due
>>> to a shortage that we don't need to stop production for the whole
>>> product.
>>>
>>> Some components are very easy to second source. eMMC, for instance, is
>>> fully discoverable and probable so you can stuff a wide variety of
>>> similar eMMC chips on your board and things will work without a hitch.
>>>
>>> Some components are more difficult to second source, specifically
>>> because it's difficult for software to probe what component is present
>>> on any given board. In cases like this software is provided
>>> supplementary information to help it, like a GPIO strap or a SKU ID
>>> programmed into an EEPROM. This helpful information can allow the
>>> bootloader to select a different device tree. The various different
>>> "SKUs" of different Chromebooks are examples of this.
>>>
>>> Some components are somewhere in between. These in-between components
>>> are the subject of this patch. Specifically, these components are
>>> easily "probeable" but not easily "discoverable".
>>>
>>> A good example of a probeable but undiscoverable device is an
>>> i2c-connected touchscreen or trackpad. Two separate components may be
>>> electrically compatible with each other and may have compatible power
>>> sequencing requirements but may require different software. If
>>> software is told about the different possible components (because it
>>> can't discover them), it can safely probe them to figure out which
>>> ones are present.
>>>
>>> On systems using device tree, if we want to tell the OS about all of
>>> the different components we need to list them all in the device
>>> tree. This leads to a problem. The multiple sources for components
>>> likely use the same resources (GPIOs, interrupts, regulators). If the
>>> OS tries to probe all of these components at the same time then it
>>> will detect a resource conflict and that's a fatal error.
>>>
>>> The fact that Linux can't handle these probeable but undiscoverable
>>> devices well has had a few consequences:
>>> 1. In some cases, we've abandoned the idea of second sourcing
>>> components for a given board, which increases cost / generates
>>> manufacturing headaches.
>>> 2. In some cases, we've been forced to add some sort of strapping /
>>> EEPROM to indicate which component is present. This adds difficulty
>>> to manufacturing / refurb processes.
>>> 3. In some cases, we've managed to make things work by the skin of our
>>> teeth through slightly hacky solutions. Specifically, if we remove
>>> the "pinctrl" entry from the various options then it won't
>>> conflict. Regulators inherently can have more than one consumer, so
>>> as long as there are no GPIOs involved in power sequencing and
>>> probing devices then things can work. This is how
>>> "sc8280xp-lenovo-thinkpad-x13s" works and also how
>>> "mt8173-elm-hana" works.
>>>
>>> End of background from Doug's cover letter.
>>
>> I think that using "status" is not a good idea, I find that confusing.
>
> It isn't a hard requirement. The current I2C prober actually just looks
> at the node name, which already should be a generic class type. It then
> assumes that all the components of the same class that it is supposed
> to probe for are on the same bus. I think this is a fair assumption for
> replaceable parts connected via ribbon cable or co-layout parts?
>
Assuming that the parts are on the exact same bus is ok, there has to be a
flexibility limit, or this framework will definitely get abused in the wrong
ways.
>> Perhaps we could have a node like
>>
>> something {
>> device-class-one = <&device1>, <&device2>, <&device3>;
>> device-class-two = <&device4>, <&device5>, <&device6>;
>> }
>>
>> so that'd be more or less
>>
>> hw-prober {
>> trackpads = <&tp1>, <&tp2>;
>> keyboards = <&kb1>, <&kb2>;
>> touchscreens = <&ts1>, <&ts2>;
>> }
>
> This was already nacked by Rob.
Oh. Oops. :-)
>
>> Besides, something else I can suggest here is to make this more generic: actually,
>> this issue is spread across way more devices than you maybe think... for example,
>> I know of some smartphones that may have the same situation with DSI displays and
>> they're sometimes distinguished by an ADC value, sometimes by reading back the
>> manufacturer ID (or panel id) through DSI.
>
> ADC strapping is common. Though we might need some kind of binding about how
> to describe the ADC strapping scheme, as this is bound to be different across
> boards.
>
> Reading back from DSI feels problematic to implement. But I don't know much
> about DSI ATM. Doug implied in our offline discussion that DSI panels might
> have power sequencing requirements that are all over the place.
>
This is exactly why I think that this should allow a certain kind of "modularity",
meaning that subsystems should be able to register their own hook into this: in
both cases of ADC and/or DSI readback we're getting into some fairly (less, or
more) complicated territory - and it's something that people around each subsystem
knows best - and they must have that kind of flexibility and freedom to change the
hooked implementation in their own subsystem instead of somewhere else.
There would be much more to say about this, but I'm avoiding to write a wall of
text because I'm sure that you can read through the lines and can get my point
anyway.
>> Also, if Chromebooks really need something "special", such as that coreboot sku-id
>> parameter, I think that this should be registered externally into the hw prober
>> and not embedded inside of the *generic* hw prober driver.
>>
>> We can even reuse of_device_id instead of inventing a new hw_prober_entry struct...
>>
>> Idea:
>>
>> drivers/platform/chrome/cros_of_hw_prober.c
>>
>> static int cros_sku_hw_prober(struct platform_device *pdev, const void *data)
>> {
>> ...this is your cros_sku_component_selector() function, anyway...
>> }
>>
>> static const struct of_device_id cros_hw_prober_ids[] = {
>> { .compatible = "google,hana", .data = something },
>> { /* sentinel */ }
>> };
>>
>> static int some_kind_of_early_init_function(something)
>> {
>> int a,b,c,ret,something;
>>
>> .. some logic if necessary ..
>>
>> return of_hw_prober_register(cros_sku_hw_prober, cros_hw_prober_ids);
>> }
>
> This feels a bit too layered, and requires all the board specific code to
> have an early init function. I think exposing common helper functions for
> boards to implement prober drivers would be better. Then the prober could
> also be a module if that made sense. Given that SoC vendors are making
> clock controller drivers modules, this doesn't seem very far fetched.
>
That would as well work - and would be way better than early init. Reading it back
now, putting that in a early init function would be counter-productive in general.
>> Btw, thanks for starting that. If this will be done the right way, it's going to
>> be useful to many, many people.
>
> Right. I only have a limited view of applications, so input is always welcome.
>
> Thanks
> ChenYu
>
>> Regards,
>> Angelo
>>
>>>
>>> [1] https://lore.kernel.org/all/20230921102420.RFC.1.I9dddd99ccdca175e3ceb1b9fa1827df0928c5101@changeid/
>>> [2] https://lore.kernel.org/linux-mediatek/20231012230237.2676469-1-wenst@chromium.org/
>>>
>>> Chen-Yu Tsai (7):
>>> of: base: Add of_device_is_fail
>>> of: Introduce hardware prober driver
>>> arm64: dts: mediatek: mt8173-elm-hana: Mark touchscreens and trackpads
>>> as fail
>>> arm64: dts: mediatek: mt8173-elm-hana: Add G2touch G7500 touchscreen
>>> of: hw_prober: Support Chromebook SKU ID based component selection
>>> dt-bindings: arm: mediatek: Remove SKU specific compatibles for Google
>>> Krane
>>> arm64: dts: mediatek: mt8183-kukui: Merge Krane device trees
>>>
>>> .../devicetree/bindings/arm/mediatek.yaml | 3 -
>>> arch/arm64/boot/dts/mediatek/Makefile | 3 +-
>>> .../boot/dts/mediatek/mt8173-elm-hana.dtsi | 20 ++
>>> .../dts/mediatek/mt8183-kukui-krane-sku0.dts | 24 --
>>> .../mediatek/mt8183-kukui-krane-sku176.dts | 24 --
>>> ...ukui-krane.dtsi => mt8183-kukui-krane.dts} | 47 ++-
>>> drivers/of/Kconfig | 13 +
>>> drivers/of/Makefile | 1 +
>>> drivers/of/base.c | 20 ++
>>> drivers/of/hw_prober.c | 314 ++++++++++++++++++
>>> include/linux/of.h | 6 +
>>> 11 files changed, 418 insertions(+), 57 deletions(-)
>>> delete mode 100644 arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku0.dts
>>> delete mode 100644 arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dts
>>> rename arch/arm64/boot/dts/mediatek/{mt8183-kukui-krane.dtsi => mt8183-kukui-krane.dts} (86%)
>>> create mode 100644 drivers/of/hw_prober.c
>>>
>>
^ permalink raw reply
* Re: [PATCH v1 1/1] treewide, spi: Get rid of SPI_MASTER_HALF_DUPLEX
From: Paolo Abeni @ 2023-11-14 9:50 UTC (permalink / raw)
To: Andy Shevchenko, Jonathan Cameron, Yang Yingliang,
Greg Kroah-Hartman, Mark Brown, linux-input, linux-kernel,
linux-mmc, netdev, linux-usb, linux-spi
Cc: Dmitry Torokhov, Ulf Hansson, David S. Miller, Eric Dumazet,
Jakub Kicinski
In-Reply-To: <20231113111249.3982461-1-andriy.shevchenko@linux.intel.com>
On Mon, 2023-11-13 at 13:12 +0200, Andy Shevchenko wrote:
> The SPI_MASTER_HALF_DUPLEX is the legacy name of a definition
> for a half duplex flag. Since all others had been replaced with
> the respective SPI_CONTROLLER prefix get rid of the last one
> as well. There is no functional change intended.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
For the net bits:
Acked-by: Paolo Abeni <pabeni@redhat.com>
^ permalink raw reply
* Re: [RFC PATCH v2 0/7] of: Introduce hardware prober driver
From: Chen-Yu Tsai @ 2023-11-14 8:57 UTC (permalink / raw)
To: AngeloGioacchino Del Regno
Cc: Rob Herring, Frank Rowand, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, Hsin-Yi Wang, Dmitry Torokhov,
andriy.shevchenko, Jiri Kosina, linus.walleij, broonie, gregkh,
hdegoede, james.clark, james, keescook, rafael, tglx,
Jeff LaBundy, linux-input, devicetree, linux-arm-kernel,
linux-mediatek, linux-kernel, Douglas Anderson, Johan Hovold
In-Reply-To: <859ac058-c50a-4eb8-99b6-3011ef4e7529@collabora.com>
On Thu, Nov 9, 2023 at 6:54 PM AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com> wrote:
>
> Il 09/11/23 11:05, Chen-Yu Tsai ha scritto:
> > Hi everyone,
> >
> > This v2 series continues Doug's "of: device: Support 2nd sources of
> > probeable but undiscoverable devices" [1] series, but follows the scheme
> > suggested by Rob, marking all second source component device nodes
> > as "fail-needs-probe-XXX", and having a hardware prober driver enable
> > the one of them. I tried to include everyone from the original Cc: list.
> > Please let me know if you would like to be dropped from future
> > submissions.
> >
> >
> > For the I2C component (touchscreens and trackpads) case from the
> > original series, the hardware prober driver finds the particular
> > class of device in the device tree, gets its parent I2C adapter,
> > and tries to initiate a simple I2C read for each device under that
> > I2C bus. When it finds one that responds, it considers that one
> > present, marks it as "okay", and returns, letting the driver core
> > actually probe the device.
> >
> > This works fine in most cases since these components are connected
> > via ribbon cable and always have the same resources. The driver as
> > implemented currently doesn't deal with regulators or GPIO pins,
> > since in the existing device trees they are either always on for
> > regulators, or have GPIO hogs or pinmux and pinconfig directly
> > tied to the pin controller.
> >
> >
> > Another case this driver could handle is selecting components based
> > on some identifier passed in by the firmware. On Chromebooks we have
> > a SKU ID which is inserted by the bootloader at
> > /firmware/coreboot/sku-id. When a new combination of components is
> > introduced, a new SKU ID is allocated to it. To have SKU ID based
> > device trees, we would need to have one per SKU ID. This ends up
> > increasing the number of device trees we have a lot. The recent
> > MT8186 devices already have 10+10 SKUs [2], with possibly more to come.
> >
> > Instead, we could have just one device tree for each device, with
> > component options listed and marked as "fail-needs-probe-XXX", and
> > let the hardware prober enable one of them based on the given SKU ID.
> > The driver will also fix up OF graph remote endpoints to point to the
> > enabled component.
> >
> > The MT8186 Corsola series [2] can also benefit from this, though I
> > haven't implemented anything yet.
> >
> >
> > Patch 1 adds of_device_is_fail() for the new driver to use.
> >
> > Patch 2 implements the first case, probing the I2C bus for presence
> > of components. This initial version targets the Hana Chromebooks.
> >
> > Patch 3 modifies the Hana device tree and marks the touchscreens
> > and trackpads as "fail-needs-probe-XXX", ready for the driver to
> > probe.
> >
> > Patch 4 adds a missing touchscreen variant to Hana.
> >
> > Patch 5 implements the second case, selectively enabling components
> > based on the SKU ID. This initial version targets the Krane ChromeOS
> > tablet, which has two possible MIPI DSI display panel options.
> >
> > Patch 6 drops Krane's SKU-specific compatible strings from the bindings.
> >
> > Patch 7 merges Krane's SKU-specific device trees into one, with the
> > device tree now containing two possible panels. This unfortunately
> > introduces a dtc warning:
> >
> > arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dts:81.13-83.6:
> > Warning (graph_endpoint): /soc/dsi@14014000/panel2@0/port/endpoint:
> > graph connection to node '/soc/dsi@14014000/ports/port/endpoint'
> > is not bidirectional
> >
> >
> > Please take a look.
> >
> > Johan, I'm not sure if this works as is for the Lenovo Thinkpad 13S
> > case, since it looks like the trackpad shares the I2C bus with the
> > keyboard.
> >
> >
> > Thanks
> > ChenYu
> >
> >
> > Background as given in Doug's cover letter:
> >
> > Support for multiple "equivalent" sources for components (also known
> > as second sourcing components) is a standard practice that helps keep
> > cost down and also makes sure that if one component is unavailable due
> > to a shortage that we don't need to stop production for the whole
> > product.
> >
> > Some components are very easy to second source. eMMC, for instance, is
> > fully discoverable and probable so you can stuff a wide variety of
> > similar eMMC chips on your board and things will work without a hitch.
> >
> > Some components are more difficult to second source, specifically
> > because it's difficult for software to probe what component is present
> > on any given board. In cases like this software is provided
> > supplementary information to help it, like a GPIO strap or a SKU ID
> > programmed into an EEPROM. This helpful information can allow the
> > bootloader to select a different device tree. The various different
> > "SKUs" of different Chromebooks are examples of this.
> >
> > Some components are somewhere in between. These in-between components
> > are the subject of this patch. Specifically, these components are
> > easily "probeable" but not easily "discoverable".
> >
> > A good example of a probeable but undiscoverable device is an
> > i2c-connected touchscreen or trackpad. Two separate components may be
> > electrically compatible with each other and may have compatible power
> > sequencing requirements but may require different software. If
> > software is told about the different possible components (because it
> > can't discover them), it can safely probe them to figure out which
> > ones are present.
> >
> > On systems using device tree, if we want to tell the OS about all of
> > the different components we need to list them all in the device
> > tree. This leads to a problem. The multiple sources for components
> > likely use the same resources (GPIOs, interrupts, regulators). If the
> > OS tries to probe all of these components at the same time then it
> > will detect a resource conflict and that's a fatal error.
> >
> > The fact that Linux can't handle these probeable but undiscoverable
> > devices well has had a few consequences:
> > 1. In some cases, we've abandoned the idea of second sourcing
> > components for a given board, which increases cost / generates
> > manufacturing headaches.
> > 2. In some cases, we've been forced to add some sort of strapping /
> > EEPROM to indicate which component is present. This adds difficulty
> > to manufacturing / refurb processes.
> > 3. In some cases, we've managed to make things work by the skin of our
> > teeth through slightly hacky solutions. Specifically, if we remove
> > the "pinctrl" entry from the various options then it won't
> > conflict. Regulators inherently can have more than one consumer, so
> > as long as there are no GPIOs involved in power sequencing and
> > probing devices then things can work. This is how
> > "sc8280xp-lenovo-thinkpad-x13s" works and also how
> > "mt8173-elm-hana" works.
> >
> > End of background from Doug's cover letter.
>
> I think that using "status" is not a good idea, I find that confusing.
It isn't a hard requirement. The current I2C prober actually just looks
at the node name, which already should be a generic class type. It then
assumes that all the components of the same class that it is supposed
to probe for are on the same bus. I think this is a fair assumption for
replaceable parts connected via ribbon cable or co-layout parts?
> Perhaps we could have a node like
>
> something {
> device-class-one = <&device1>, <&device2>, <&device3>;
> device-class-two = <&device4>, <&device5>, <&device6>;
> }
>
> so that'd be more or less
>
> hw-prober {
> trackpads = <&tp1>, <&tp2>;
> keyboards = <&kb1>, <&kb2>;
> touchscreens = <&ts1>, <&ts2>;
> }
This was already nacked by Rob.
> Besides, something else I can suggest here is to make this more generic: actually,
> this issue is spread across way more devices than you maybe think... for example,
> I know of some smartphones that may have the same situation with DSI displays and
> they're sometimes distinguished by an ADC value, sometimes by reading back the
> manufacturer ID (or panel id) through DSI.
ADC strapping is common. Though we might need some kind of binding about how
to describe the ADC strapping scheme, as this is bound to be different across
boards.
Reading back from DSI feels problematic to implement. But I don't know much
about DSI ATM. Doug implied in our offline discussion that DSI panels might
have power sequencing requirements that are all over the place.
> Also, if Chromebooks really need something "special", such as that coreboot sku-id
> parameter, I think that this should be registered externally into the hw prober
> and not embedded inside of the *generic* hw prober driver.
>
> We can even reuse of_device_id instead of inventing a new hw_prober_entry struct...
>
> Idea:
>
> drivers/platform/chrome/cros_of_hw_prober.c
>
> static int cros_sku_hw_prober(struct platform_device *pdev, const void *data)
> {
> ...this is your cros_sku_component_selector() function, anyway...
> }
>
> static const struct of_device_id cros_hw_prober_ids[] = {
> { .compatible = "google,hana", .data = something },
> { /* sentinel */ }
> };
>
> static int some_kind_of_early_init_function(something)
> {
> int a,b,c,ret,something;
>
> .. some logic if necessary ..
>
> return of_hw_prober_register(cros_sku_hw_prober, cros_hw_prober_ids);
> }
This feels a bit too layered, and requires all the board specific code to
have an early init function. I think exposing common helper functions for
boards to implement prober drivers would be better. Then the prober could
also be a module if that made sense. Given that SoC vendors are making
clock controller drivers modules, this doesn't seem very far fetched.
> Btw, thanks for starting that. If this will be done the right way, it's going to
> be useful to many, many people.
Right. I only have a limited view of applications, so input is always welcome.
Thanks
ChenYu
> Regards,
> Angelo
>
> >
> > [1] https://lore.kernel.org/all/20230921102420.RFC.1.I9dddd99ccdca175e3ceb1b9fa1827df0928c5101@changeid/
> > [2] https://lore.kernel.org/linux-mediatek/20231012230237.2676469-1-wenst@chromium.org/
> >
> > Chen-Yu Tsai (7):
> > of: base: Add of_device_is_fail
> > of: Introduce hardware prober driver
> > arm64: dts: mediatek: mt8173-elm-hana: Mark touchscreens and trackpads
> > as fail
> > arm64: dts: mediatek: mt8173-elm-hana: Add G2touch G7500 touchscreen
> > of: hw_prober: Support Chromebook SKU ID based component selection
> > dt-bindings: arm: mediatek: Remove SKU specific compatibles for Google
> > Krane
> > arm64: dts: mediatek: mt8183-kukui: Merge Krane device trees
> >
> > .../devicetree/bindings/arm/mediatek.yaml | 3 -
> > arch/arm64/boot/dts/mediatek/Makefile | 3 +-
> > .../boot/dts/mediatek/mt8173-elm-hana.dtsi | 20 ++
> > .../dts/mediatek/mt8183-kukui-krane-sku0.dts | 24 --
> > .../mediatek/mt8183-kukui-krane-sku176.dts | 24 --
> > ...ukui-krane.dtsi => mt8183-kukui-krane.dts} | 47 ++-
> > drivers/of/Kconfig | 13 +
> > drivers/of/Makefile | 1 +
> > drivers/of/base.c | 20 ++
> > drivers/of/hw_prober.c | 314 ++++++++++++++++++
> > include/linux/of.h | 6 +
> > 11 files changed, 418 insertions(+), 57 deletions(-)
> > delete mode 100644 arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku0.dts
> > delete mode 100644 arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dts
> > rename arch/arm64/boot/dts/mediatek/{mt8183-kukui-krane.dtsi => mt8183-kukui-krane.dts} (86%)
> > create mode 100644 drivers/of/hw_prober.c
> >
>
^ permalink raw reply
* Re: [RFC PATCH v2 0/7] of: Introduce hardware prober driver
From: Chen-Yu Tsai @ 2023-11-14 8:44 UTC (permalink / raw)
To: Doug Anderson
Cc: Rob Herring, Frank Rowand, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno, Hsin-Yi Wang,
Dmitry Torokhov, andriy.shevchenko, Jiri Kosina, linus.walleij,
broonie, gregkh, hdegoede, james.clark, james, keescook, rafael,
tglx, Jeff LaBundy, linux-input, devicetree, linux-arm-kernel,
linux-mediatek, linux-kernel, Johan Hovold
In-Reply-To: <CAD=FV=WZCyp1aaSmpF-_TQ0CTWG1ZuvPZVw4mR=wJH=NTkKqqg@mail.gmail.com>
On Sat, Nov 11, 2023 at 8:22 AM Doug Anderson <dianders@chromium.org> wrote:
>
> Hi,
>
> On Thu, Nov 9, 2023 at 2:06 AM Chen-Yu Tsai <wenst@chromium.org> wrote:
> >
> > The driver as
> > implemented currently doesn't deal with regulators or GPIO pins,
> > since in the existing device trees they are either always on for
> > regulators, or have GPIO hogs or pinmux and pinconfig directly
> > tied to the pin controller.
>
> I guess I won't object too much about this limitation for v1, but IMO
> it would be good to get this sorted out since I think part of the
> power of having the HW Prober is specifically that it can handle this
> type of use case. You have a little bit of board-specific code that
> knows how to turn on the regulators / GPIOs and can then probe the
> devices.
>
> Note: even if this is "board specific", it doesn't mean you couldn't
> share code between boards. For instance, you could have a helper
> function that would turn on regulators/GPIOs based on some type of
> table and that helper function could be used across a whole pile of
> Chromebooks. If a Chromebook is sufficiently different that it
> couldn't use the helper function then it could call its own function,
> but presumably it wouldn't be hard to support a bunch of boards
> without much code.
I agree this part is fairly generic and should be implemented.
We probably don't even need such a table. If these components share
a common connection to the mainboard, they certainly will have the
same GPIO lines and regulator supplies. The prober could just scan
the nodes looking for -gpio and -supply properties, de-duplicate
them, and turn them on.
The reason this isn't implemented in this version is because the devices
I'm currently using do not have these resources togglable. The supply is
always on, and the GPIO line is disconnected from the SoC. So I have no
way of testing it yet.
> As part of this, I think that your main "HW Prober" for Chromebooks
> should be in "drivers/platform/chrome/". I think that the only things
> that should be in the "drivers/of" directory should be helper
> functions used by the Chromebook HW Probers.
Sound like what Rob wants.
ChenYu
^ permalink raw reply
* Re: [RFC PATCH v2 2/7] of: Introduce hardware prober driver
From: Chen-Yu Tsai @ 2023-11-14 8:30 UTC (permalink / raw)
To: Rob Herring
Cc: Frank Rowand, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Hsin-Yi Wang, Dmitry Torokhov,
andriy.shevchenko, Jiri Kosina, linus.walleij, broonie, gregkh,
hdegoede, james.clark, james, keescook, rafael, tglx,
Jeff LaBundy, linux-input, devicetree, linux-arm-kernel,
linux-mediatek, linux-kernel, Douglas Anderson, Johan Hovold
In-Reply-To: <CAL_JsqJgUNcuXqtzHKdz5FdbxsrnLeZpgq-F+E21BvYS9qL0xg@mail.gmail.com>
On Thu, Nov 9, 2023 at 11:14 PM Rob Herring <robh+dt@kernel.org> wrote:
>
> On Thu, Nov 9, 2023 at 4:06 AM Chen-Yu Tsai <wenst@chromium.org> wrote:
> >
> > Some devices are designed and manufactured with some components having
> > multiple drop-in replacement options. These components are often
> > connected to the mainboard via ribbon cables, having the same signals
> > and pin assignments across all options. These may include the display
> > panel and touchscreen on laptops and tablets, and the trackpad on
> > laptops. Sometimes which component option is used in a particular device
> > can be detected by some firmware provided identifier, other times that
> > information is not available, and the kernel has to try to probe each
> > device.
> >
> > This change attempts to make the "probe each device" case cleaner. The
> > current approach is to have all options added and enabled in the device
> > tree. The kernel would then bind each device and run each driver's probe
> > function. This works, but has been broken before due to the introduction
> > of asynchronous probing, causing multiple instances requesting "shared"
> > resources, such as pinmuxes, GPIO pins, interrupt lines, at the same
> > time, with only one instance succeeding. Work arounds for these include
> > moving the pinmux to the parent I2C controller, using GPIO hogs or
> > pinmux settings to keep the GPIO pins in some fixed configuration, and
> > requesting the interrupt line very late. Such configurations can be seen
> > on the MT8183 Krane Chromebook tablets, and the Qualcomm sc8280xp-based
> > Lenovo Thinkpad 13S.
> >
> > Instead of this delicate dance between drivers and device tree quirks,
> > this change introduces a simple I2C component prober. For any given
> > class of devices on the same I2C bus, it will go through all of them,
> > doing a simple I2C read transfer and see which one of them responds.
> > It will then enable the device that responds.
> >
> > This requires some minor modifications in the existing device tree.
> > The status for all the device nodes for the component options must be
> > set to "failed-needs-probe-xxx". This makes it clear that some mechanism
> > is needed to enable one of them, and also prevents the prober and device
> > drivers running at the same time.
> >
> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> > ---
> > drivers/of/Kconfig | 13 ++++
> > drivers/of/Makefile | 1 +
> > drivers/of/hw_prober.c | 154 +++++++++++++++++++++++++++++++++++++++++
>
> Not sure about having this in drivers/of/, but fine for now... Really,
> the I2C bus stuff should be in the I2C core with the rest of the code
> that knows how to parse I2C bus nodes.
I think we can move the majority of this patch into the I2C core and
export just the one prober function. The remainder and the other SKU
ID based prober could be moved to drivers/platform/chrome.
Not sure how we want to place probers for other platforms though?
> > 3 files changed, 168 insertions(+)
> > create mode 100644 drivers/of/hw_prober.c
> >
> > diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
> > index da9826accb1b..269d20d51936 100644
> > --- a/drivers/of/Kconfig
> > +++ b/drivers/of/Kconfig
> > @@ -102,4 +102,17 @@ config OF_OVERLAY
> > config OF_NUMA
> > bool
> >
> > +config HW_PROBER
> > + bool "Hardware Prober driver"
> > + select I2C
>
> You should not select I2C, but enable/disable I2C functionality based
> on it being enabled.
Ack.
> > + select OF_DYNAMIC
> > + help
> > + Some devices will have multiple drop-in options for one component.
> > + In many cases the different options are indistinguishable by the
> > + kernel without actually probing each possible option.
> > +
> > + This driver is meant to handle the probing of such components, and
> > + update the running device tree such that the correct variant is
> > + made available.
> > +
> > endif # OF
> > diff --git a/drivers/of/Makefile b/drivers/of/Makefile
> > index eff624854575..ed3875cdc554 100644
> > --- a/drivers/of/Makefile
> > +++ b/drivers/of/Makefile
> > @@ -12,6 +12,7 @@ obj-$(CONFIG_OF_RESERVED_MEM) += of_reserved_mem.o
> > obj-$(CONFIG_OF_RESOLVE) += resolver.o
> > obj-$(CONFIG_OF_OVERLAY) += overlay.o
> > obj-$(CONFIG_OF_NUMA) += of_numa.o
> > +obj-$(CONFIG_HW_PROBER) += hw_prober.o
> >
> > ifdef CONFIG_KEXEC_FILE
> > ifdef CONFIG_OF_FLATTREE
> > diff --git a/drivers/of/hw_prober.c b/drivers/of/hw_prober.c
> > new file mode 100644
> > index 000000000000..442da6eff896
> > --- /dev/null
> > +++ b/drivers/of/hw_prober.c
> > @@ -0,0 +1,154 @@
> > +// SPDX-License-Identifier: GPL-2.0-only
> > +/*
> > + * hw_prober.c - Hardware prober driver
> > + *
> > + * Copyright (c) 2023 Google LLC
> > + */
> > +
> > +#include <linux/array_size.h>
> > +#include <linux/i2c.h>
> > +#include <linux/of.h>
> > +#include <linux/platform_device.h>
> > +
> > +#define DRV_NAME "hw_prober"
> > +
> > +/**
> > + * struct hw_prober_entry - Holds an entry for the hardware prober
> > + *
> > + * @compatible: compatible string to match against the machine
> > + * @prober: prober function to call when machine matches
> > + * @data: extra data for the prober function
> > + */
> > +struct hw_prober_entry {
> > + const char *compatible;
> > + int (*prober)(struct platform_device *pdev, const void *data);
> > + const void *data;
> > +};
> > +
> > +/*
> > + * Some devices, such as Google Hana Chromebooks, are produced by multiple
> > + * vendors each using their preferred components. This prober assumes such
> > + * drop-in parts are on dedicated I2C busses, have non-conflicting addresses,
> > + * and can be directly probed by seeing which address responds without needing
> > + * regulators or GPIOs being enabled or toggled.
> > + */
> > +static int i2c_component_prober(struct platform_device *pdev, const void *data)
> > +{
> > + const char *node_name = data;
> > + struct device_node *node, *i2c_node;
> > + struct i2c_adapter *i2c;
> > + int ret = 0;
> > +
> > + node = of_find_node_by_name(NULL, node_name);
> > + if (!node)
> > + return dev_err_probe(&pdev->dev, -ENODEV, "Could not find %s device node\n",
> > + node_name);
> > +
> > + i2c_node = of_get_next_parent(node);
> > + if (strcmp(i2c_node->name, "i2c")) {
>
> We have functions for comparing node names, use them and don't access
> ->name directly.
Ack.
> > + of_node_put(i2c_node);
> > + return dev_err_probe(&pdev->dev, -EINVAL, "%s device isn't on I2C bus\n",
> > + node_name);
> > + }
> > +
> > + for_each_child_of_node(i2c_node, node) {
> > + if (!of_node_name_prefix(node, node_name))
> > + continue;
> > + if (!of_device_is_fail(node)) {
> > + /* device tree has component already enabled */
>
> This isn't quite right if there's a disabled device. To check 'is
> enabled', you just need to use of_device_is_available().
I wanted to distinguish between explicitly disabled, i.e. components
known to not exist on some specific variant, vs fail or components
that need probing. I suppose this is overengineered since the previous
of_node_name_prefix() already restricts the check to the class of
components we are interested in.
> > + of_node_put(node);
> > + of_node_put(i2c_node);
> > + return 0;
> > + }
> > + }
> > +
> > + i2c = of_get_i2c_adapter_by_node(i2c_node);
> > + if (!i2c) {
> > + of_node_put(i2c_node);
> > + return dev_err_probe(&pdev->dev, -EPROBE_DEFER, "Couldn't get I2C adapter\n");
> > + }
> > +
> > + for_each_child_of_node(i2c_node, node) {
>
> The I2C core will walk the devices too. Perhaps if that saves off a
> list of failed devices, then we don't need to walk the nodes again.
I will look into it.
> > + struct property *prop;
> > + union i2c_smbus_data data;
> > + u32 addr;
> > +
> > + if (!of_node_name_prefix(node, node_name))
> > + continue;
> > + if (of_property_read_u32(node, "reg", &addr))
> > + continue;
> > + if (i2c_smbus_xfer(i2c, addr, 0, I2C_SMBUS_READ, 0, I2C_SMBUS_BYTE, &data) < 0)
> > + continue;
> > +
> > + dev_info(&pdev->dev, "Enabling %pOF\n", node);
> > +
> > + prop = kzalloc(sizeof(*prop), GFP_KERNEL);
> > + if (!prop) {
> > + ret = -ENOMEM;
> > + of_node_put(node);
> > + break;
> > + }
> > +
> > + prop->name = "status";
> > + prop->length = 5;
> > + prop->value = "okay";
> > +
> > + /* Found a device that is responding */
> > + ret = of_update_property(node, prop);
>
> Use the changeset API instead and make an update flavor of
> of_changeset_add_prop_string().
Ack. However I don't really like the API, as there is no easy way to free
the allocated property if of_changeset_apply fails and we want to clean up.
> > + if (ret)
> > + kfree(prop);
> > +
> > + of_node_put(node);
> > + break;
> > + }
> > +
> > + i2c_put_adapter(i2c);
> > + of_node_put(i2c_node);
> > +
> > + return ret;
> > +}
> > +
> > +static const struct hw_prober_entry hw_prober_platforms[] = {
> > + { .compatible = "google,hana", .prober = i2c_component_prober, .data = "touchscreen" },
> > + { .compatible = "google,hana", .prober = i2c_component_prober, .data = "trackpad" },
>
> Not generic code. Needs to be somewhere else.
OK. How about drivers/platform/chrome/ for the non-generic bits and the other
prober patch?
> > +};
> > +
> > +static int hw_prober_probe(struct platform_device *pdev)
> > +{
> > + for (int i = 0; i < ARRAY_SIZE(hw_prober_platforms); i++)
> > + if (of_machine_is_compatible(hw_prober_platforms[i].compatible)) {
> > + int ret;
> > +
> > + ret = hw_prober_platforms[i].prober(pdev, hw_prober_platforms[i].data);
> > + if (ret)
> > + return ret;
> > + }
> > +
> > + return 0;
> > +}
> > +
> > +static struct platform_driver hw_prober_driver = {
> > + .probe = hw_prober_probe,
> > + .driver = {
> > + .name = DRV_NAME,
> > + },
> > +};
> > +
> > +static int __init hw_prober_driver_init(void)
> > +{
> > + struct platform_device *pdev;
> > + int ret;
> > +
> > + ret = platform_driver_register(&hw_prober_driver);
> > + if (ret)
> > + return ret;
> > +
> > + pdev = platform_device_register_simple(DRV_NAME, -1, NULL, 0);
>
> This should be dependent on platforms that need it, not everyone. IOW,
> this is where checking for "google,hana" belongs.
Ack.
Thanks
ChenYu
^ permalink raw reply
* Re: [RFC PATCH v2 2/7] of: Introduce hardware prober driver
From: Chen-Yu Tsai @ 2023-11-14 8:26 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Rob Herring, Frank Rowand, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno, Hsin-Yi Wang,
Dmitry Torokhov, Jiri Kosina, linus.walleij, broonie, gregkh,
hdegoede, james.clark, james, keescook, petr.tesarik.ext, rafael,
tglx, Jeff LaBundy, linux-input, devicetree, linux-arm-kernel,
linux-mediatek, linux-kernel, Douglas Anderson, Johan Hovold
In-Reply-To: <ZU0c2fuRSoqrpffA@smile.fi.intel.com>
On Fri, Nov 10, 2023 at 1:54 AM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> On Thu, Nov 09, 2023 at 06:05:59PM +0800, Chen-Yu Tsai wrote:
> > Some devices are designed and manufactured with some components having
> > multiple drop-in replacement options. These components are often
> > connected to the mainboard via ribbon cables, having the same signals
> > and pin assignments across all options. These may include the display
> > panel and touchscreen on laptops and tablets, and the trackpad on
> > laptops. Sometimes which component option is used in a particular device
> > can be detected by some firmware provided identifier, other times that
> > information is not available, and the kernel has to try to probe each
> > device.
> >
> > This change attempts to make the "probe each device" case cleaner. The
> > current approach is to have all options added and enabled in the device
> > tree. The kernel would then bind each device and run each driver's probe
> > function. This works, but has been broken before due to the introduction
> > of asynchronous probing, causing multiple instances requesting "shared"
> > resources, such as pinmuxes, GPIO pins, interrupt lines, at the same
> > time, with only one instance succeeding. Work arounds for these include
> > moving the pinmux to the parent I2C controller, using GPIO hogs or
> > pinmux settings to keep the GPIO pins in some fixed configuration, and
> > requesting the interrupt line very late. Such configurations can be seen
> > on the MT8183 Krane Chromebook tablets, and the Qualcomm sc8280xp-based
> > Lenovo Thinkpad 13S.
> >
> > Instead of this delicate dance between drivers and device tree quirks,
> > this change introduces a simple I2C component prober. For any given
> > class of devices on the same I2C bus, it will go through all of them,
> > doing a simple I2C read transfer and see which one of them responds.
> > It will then enable the device that responds.
> >
> > This requires some minor modifications in the existing device tree.
> > The status for all the device nodes for the component options must be
> > set to "failed-needs-probe-xxx". This makes it clear that some mechanism
> > is needed to enable one of them, and also prevents the prober and device
> > drivers running at the same time.
>
> ...
>
> > +config HW_PROBER
>
> config OF_HW_PROBER // or anything with explicit OF
>
> Don't give a false impression that this is something that may works without
> OF support.
Ack.
> ...
>
> > + bool "Hardware Prober driver"
>
> Ditto.
Ack.
> ...
>
> > +/*
> > + * hw_prober.c - Hardware prober driver
>
> Do not include filename into the file itself.
Ack.
> > + *
> > + * Copyright (c) 2023 Google LLC
> > + */
>
> ...
>
> > + node = of_find_node_by_name(NULL, node_name);
> > + if (!node)
> > + return dev_err_probe(&pdev->dev, -ENODEV, "Could not find %s device node\n",
> > + node_name);
>
> With
>
> struct device *dev = &pdev->dev;
>
> this and other lines can be made neater.
Ack.
> ...
>
>
> For better maintenance it's good to have ret assignment be placed here
>
> ret = 0;
Ack.
> > + for_each_child_of_node(i2c_node, node) {
> > + struct property *prop;
> > + union i2c_smbus_data data;
> > + u32 addr;
> > +
> > + if (!of_node_name_prefix(node, node_name))
> > + continue;
> > + if (of_property_read_u32(node, "reg", &addr))
> > + continue;
> > + if (i2c_smbus_xfer(i2c, addr, 0, I2C_SMBUS_READ, 0, I2C_SMBUS_BYTE, &data) < 0)
> > + continue;
> > +
> > + dev_info(&pdev->dev, "Enabling %pOF\n", node);
> > +
> > + prop = kzalloc(sizeof(*prop), GFP_KERNEL);
> > + if (!prop) {
> > + ret = -ENOMEM;
> > + of_node_put(node);
> > + break;
> > + }
> > +
> > + prop->name = "status";
> > + prop->length = 5;
> > + prop->value = "okay";
> > +
> > + /* Found a device that is responding */
> > + ret = of_update_property(node, prop);
> > + if (ret)
> > + kfree(prop);
> > +
> > + of_node_put(node);
> > + break;
> > + }
>
> ...
>
> > +static const struct hw_prober_entry hw_prober_platforms[] = {
> > + { .compatible = "google,hana", .prober = i2c_component_prober, .data = "touchscreen" },
> > + { .compatible = "google,hana", .prober = i2c_component_prober, .data = "trackpad" },
> > +};
>
> Why can't OF ID table be used for this?
My intent was to have this accept a probe function, which may take an extra
data argument. So either a new structure like the one here, or use OF ID table,
and then another layer with a struct holding the prober and extra data pointer.
I'm guessing this will change since Rob thinks the next patch that adds a
different prober doesn't belong here.
> ...
>
> > + for (int i = 0; i < ARRAY_SIZE(hw_prober_platforms); i++)
>
> unsigned?
Ack.
> > + if (of_machine_is_compatible(hw_prober_platforms[i].compatible)) {
> > + int ret;
> > +
> > + ret = hw_prober_platforms[i].prober(pdev, hw_prober_platforms[i].data);
> > + if (ret)
> > + return ret;
> > + }
>
> ...
>
> > + pdev = platform_device_register_simple(DRV_NAME, -1, NULL, 0);
>
> -1 is defined in the header, use that definition.
Ack.
> > + if (!IS_ERR(pdev))
> > + return 0;
> > +
> > + platform_driver_unregister(&hw_prober_driver);
> > +
> > + return PTR_ERR(pdev);
>
> Can you use standard pattern, i.e. checking for the _error_ condition?
Ack.
Thanks
ChenYu
^ permalink raw reply
* Re: [RFC PATCH v2 0/7] of: Introduce hardware prober driver
From: Chen-Yu Tsai @ 2023-11-14 7:05 UTC (permalink / raw)
To: Rob Herring
Cc: AngeloGioacchino Del Regno, Frank Rowand, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, Hsin-Yi Wang, Dmitry Torokhov,
andriy.shevchenko, Jiri Kosina, linus.walleij, broonie, gregkh,
hdegoede, james.clark, james, keescook, petr.tesarik.ext, rafael,
tglx, Jeff LaBundy, linux-input, devicetree, linux-arm-kernel,
linux-mediatek, linux-kernel, Douglas Anderson, Johan Hovold
In-Reply-To: <CAL_JsqK64w3+r_LJZoh50PzAUcsvH6ahSDCqgSiKrD3LBAXE9g@mail.gmail.com>
On Thu, Nov 9, 2023 at 9:52 PM Rob Herring <robh+dt@kernel.org> wrote:
>
> On Thu, Nov 9, 2023 at 4:54 AM AngeloGioacchino Del Regno
> <angelogioacchino.delregno@collabora.com> wrote:
> >
> > Il 09/11/23 11:05, Chen-Yu Tsai ha scritto:
> > > Hi everyone,
> > >
> > > This v2 series continues Doug's "of: device: Support 2nd sources of
> > > probeable but undiscoverable devices" [1] series, but follows the scheme
> > > suggested by Rob, marking all second source component device nodes
> > > as "fail-needs-probe-XXX", and having a hardware prober driver enable
> > > the one of them. I tried to include everyone from the original Cc: list.
> > > Please let me know if you would like to be dropped from future
> > > submissions.
> > >
> > >
> > > For the I2C component (touchscreens and trackpads) case from the
> > > original series, the hardware prober driver finds the particular
> > > class of device in the device tree, gets its parent I2C adapter,
> > > and tries to initiate a simple I2C read for each device under that
> > > I2C bus. When it finds one that responds, it considers that one
> > > present, marks it as "okay", and returns, letting the driver core
> > > actually probe the device.
> > >
> > > This works fine in most cases since these components are connected
> > > via ribbon cable and always have the same resources. The driver as
> > > implemented currently doesn't deal with regulators or GPIO pins,
> > > since in the existing device trees they are either always on for
> > > regulators, or have GPIO hogs or pinmux and pinconfig directly
> > > tied to the pin controller.
> > >
> > >
> > > Another case this driver could handle is selecting components based
> > > on some identifier passed in by the firmware. On Chromebooks we have
> > > a SKU ID which is inserted by the bootloader at
> > > /firmware/coreboot/sku-id. When a new combination of components is
> > > introduced, a new SKU ID is allocated to it. To have SKU ID based
> > > device trees, we would need to have one per SKU ID. This ends up
> > > increasing the number of device trees we have a lot. The recent
> > > MT8186 devices already have 10+10 SKUs [2], with possibly more to come.
> > >
> > > Instead, we could have just one device tree for each device, with
> > > component options listed and marked as "fail-needs-probe-XXX", and
> > > let the hardware prober enable one of them based on the given SKU ID.
> > > The driver will also fix up OF graph remote endpoints to point to the
> > > enabled component.
> > >
> > > The MT8186 Corsola series [2] can also benefit from this, though I
> > > haven't implemented anything yet.
> > >
> > >
> > > Patch 1 adds of_device_is_fail() for the new driver to use.
> > >
> > > Patch 2 implements the first case, probing the I2C bus for presence
> > > of components. This initial version targets the Hana Chromebooks.
> > >
> > > Patch 3 modifies the Hana device tree and marks the touchscreens
> > > and trackpads as "fail-needs-probe-XXX", ready for the driver to
> > > probe.
> > >
> > > Patch 4 adds a missing touchscreen variant to Hana.
> > >
> > > Patch 5 implements the second case, selectively enabling components
> > > based on the SKU ID. This initial version targets the Krane ChromeOS
> > > tablet, which has two possible MIPI DSI display panel options.
> > >
> > > Patch 6 drops Krane's SKU-specific compatible strings from the bindings.
> > >
> > > Patch 7 merges Krane's SKU-specific device trees into one, with the
> > > device tree now containing two possible panels. This unfortunately
> > > introduces a dtc warning:
> > >
> > > arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dts:81.13-83.6:
> > > Warning (graph_endpoint): /soc/dsi@14014000/panel2@0/port/endpoint:
> > > graph connection to node '/soc/dsi@14014000/ports/port/endpoint'
> > > is not bidirectional
> > >
> > >
> > > Please take a look.
> > >
> > > Johan, I'm not sure if this works as is for the Lenovo Thinkpad 13S
> > > case, since it looks like the trackpad shares the I2C bus with the
> > > keyboard.
> > >
> > >
> > > Thanks
> > > ChenYu
> > >
> > >
> > > Background as given in Doug's cover letter:
> > >
> > > Support for multiple "equivalent" sources for components (also known
> > > as second sourcing components) is a standard practice that helps keep
> > > cost down and also makes sure that if one component is unavailable due
> > > to a shortage that we don't need to stop production for the whole
> > > product.
> > >
> > > Some components are very easy to second source. eMMC, for instance, is
> > > fully discoverable and probable so you can stuff a wide variety of
> > > similar eMMC chips on your board and things will work without a hitch.
> > >
> > > Some components are more difficult to second source, specifically
> > > because it's difficult for software to probe what component is present
> > > on any given board. In cases like this software is provided
> > > supplementary information to help it, like a GPIO strap or a SKU ID
> > > programmed into an EEPROM. This helpful information can allow the
> > > bootloader to select a different device tree. The various different
> > > "SKUs" of different Chromebooks are examples of this.
> > >
> > > Some components are somewhere in between. These in-between components
> > > are the subject of this patch. Specifically, these components are
> > > easily "probeable" but not easily "discoverable".
> > >
> > > A good example of a probeable but undiscoverable device is an
> > > i2c-connected touchscreen or trackpad. Two separate components may be
> > > electrically compatible with each other and may have compatible power
> > > sequencing requirements but may require different software. If
> > > software is told about the different possible components (because it
> > > can't discover them), it can safely probe them to figure out which
> > > ones are present.
> > >
> > > On systems using device tree, if we want to tell the OS about all of
> > > the different components we need to list them all in the device
> > > tree. This leads to a problem. The multiple sources for components
> > > likely use the same resources (GPIOs, interrupts, regulators). If the
> > > OS tries to probe all of these components at the same time then it
> > > will detect a resource conflict and that's a fatal error.
> > >
> > > The fact that Linux can't handle these probeable but undiscoverable
> > > devices well has had a few consequences:
> > > 1. In some cases, we've abandoned the idea of second sourcing
> > > components for a given board, which increases cost / generates
> > > manufacturing headaches.
> > > 2. In some cases, we've been forced to add some sort of strapping /
> > > EEPROM to indicate which component is present. This adds difficulty
> > > to manufacturing / refurb processes.
> > > 3. In some cases, we've managed to make things work by the skin of our
> > > teeth through slightly hacky solutions. Specifically, if we remove
> > > the "pinctrl" entry from the various options then it won't
> > > conflict. Regulators inherently can have more than one consumer, so
> > > as long as there are no GPIOs involved in power sequencing and
> > > probing devices then things can work. This is how
> > > "sc8280xp-lenovo-thinkpad-x13s" works and also how
> > > "mt8173-elm-hana" works.
> > >
> > > End of background from Doug's cover letter.
> >
> > I think that using "status" is not a good idea, I find that confusing.
>
> "status" is what defines a device's state in terms of enabled,
> present, available. That's exactly what we're expressing here.
>
> Now, I do not think we should be mixing the device class (e.g.
> touchscreen) into status. I said this on v1, but apparently that was
> not listened to.
I must have missed it and only took in Doug's final response.
My code doesn't actually use the class in the status property though.
I will remove it and just keep "fail-needs-probe".
ChenYu
> >
> > Perhaps we could have a node like
> >
> > something {
> > device-class-one = <&device1>, <&device2>, <&device3>;
> > device-class-two = <&device4>, <&device5>, <&device6>;
> > }
> >
> > so that'd be more or less
> >
> > hw-prober {
> > trackpads = <&tp1>, <&tp2>;
> > keyboards = <&kb1>, <&kb2>;
> > touchscreens = <&ts1>, <&ts2>;
> > }
>
> No. That's more or less what v1 had.
>
> Rob
^ permalink raw reply
* [PATCH RESEND] Input: synaptics: enable InterTouch for ThinkPad L14 G1
From: José Pekkarinen @ 2023-11-14 6:36 UTC (permalink / raw)
To: dmitry.torokhov, skhan
Cc: José Pekkarinen, rrangel, jefferymiller, linux-input,
linux-kernel-mentees
Observed on dmesg of my laptop I see the following
output:
[ 19.898700] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4694]
[ 19.936057] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1162..]
[ 19.936076] psmouse serio1: synaptics: Your touchpad (PNP: LEN0411 PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to linux-input@vger.kernel.org.
[ 20.008901] psmouse serio1: synaptics: Touchpad model: 1, fw: 10.32, id: 0x1e2a1, caps: 0xf014a3/0x940300/0x12e800/0x500000, board id: 3471, fw id: 2909640
[ 20.008925] psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0
[ 20.053344] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input7
[ 20.397608] mousedev: PS/2 mouse device common for all mice
This patch will add its pnp id to the smbus list to
produce the setup of intertouch for the device.
Signed-off-by: José Pekkarinen <jose.pekkarinen@foxhound.fi>
---
drivers/input/mouse/synaptics.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index 22d16d80efb9..7a303a9d6bf7 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -183,6 +183,7 @@ static const char * const smbus_pnp_ids[] = {
"LEN009b", /* T580 */
"LEN0402", /* X1 Extreme Gen 2 / P1 Gen 2 */
"LEN040f", /* P1 Gen 3 */
+ "LEN0411", /* L14 Gen 1 */
"LEN200f", /* T450s */
"LEN2044", /* L470 */
"LEN2054", /* E480 */
--
2.39.2
^ permalink raw reply related
* Re: Requesting your attention and expertise regarding a Tablet/Kernel issue
From: David Revoy @ 2023-11-13 22:08 UTC (permalink / raw)
To: Benjamin Tissoires
Cc: José Expósito, Eric GOUYER, Illia Ostapyshyn, jkosina,
jason.gerecke, linux-input, linux-kernel
In-Reply-To: <CAO-hwJJ+nx72_TPfxcWRPBDZdDaPrO5yMNH4Y_mj6ej651Mesw@mail.gmail.com>
Hi Benjamin,
> Here is a little bit of history of why you were encountering this bug [...]
Many thanks for all the details you wrote about the bug, I found
your email so interesting that I couldn't resist to copy/paste it
on my blog[1].
> And that's exactly what happened in your case David. Which is why I'm
> so happy (also because I fixed the tools from an author I like and
> already had the books at home :-P):
Please send me an email in private with your adress; I'll be happy to
send you an original drawing. That will be my way to thank you :-)
> Could you please once again attach the hid-recorder of the Pro 24
> while doing the following sequence:
> - touch with the tip of the stylus the tablet
> - while touching, press the upper button (the problematic one)
> - still while touching, release the button
> - remove the stylus
Sure, you'll find the action (repeated three times) recorded here [2]
> you could also give a test of the artifacts of job 51469284[3].
>
> The points to check are:
> - if you right click while touching the surface, do you still get only
> a right click or some weird glitches in addition to it?
> - if you right click while not touching (hovering), no glitches?
I tested. It's a bit hard to tell if it causes glitches or if the
behavior is normal or not. I'm not using the right-click this way.
I always use it in "hover mode". With artifact or without, the
behavior is while the tip is pressed, the right-click quickly
'disapear' but it is probably normal because I test on contextual
menu and clicking somewhere else makes this type of menu disapear.
I hope this will help,
Cheers,
David
[1] https://www.davidrevoy.com/article1002/how-a-kernel-developer-made-my-styluses-work-again
[2] https://www.peppercarrot.com/extras/mailing-list/hid-records/XPPEN-Artist-24-Pro/XPPEN-Artist-24-Pro_pen_tip-contact-and-action-press-release-upper-stylus-button-x3.txt
^ permalink raw reply
* Re: [PATCH v1 1/1] treewide, spi: Get rid of SPI_MASTER_HALF_DUPLEX
From: Andy Shevchenko @ 2023-11-13 15:33 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Jonathan Cameron, Yang Yingliang, Mark Brown, linux-input,
linux-kernel, linux-mmc, netdev, linux-usb, linux-spi,
Dmitry Torokhov, Ulf Hansson, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni
In-Reply-To: <2023111307-payer-retiring-0d72@gregkh>
On Mon, Nov 13, 2023 at 09:29:39AM -0500, Greg Kroah-Hartman wrote:
> On Mon, Nov 13, 2023 at 01:12:49PM +0200, Andy Shevchenko wrote:
...
> > drivers/input/rmi4/rmi_spi.c | 2 +-
> > drivers/mmc/host/mmc_spi.c | 2 +-
> > drivers/net/ethernet/micrel/ks8851_spi.c | 4 ++--
> > drivers/usb/gadget/udc/max3420_udc.c | 2 +-
> > include/linux/spi/spi.h | 2 --
> > 5 files changed, 5 insertions(+), 7 deletions(-)
>
> This should go through the spi tree, right? If so:
Correct.
> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> For the USB portion.
Thank you!
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply
* Re: [PATCH v1 1/1] treewide, spi: Get rid of SPI_MASTER_HALF_DUPLEX
From: Greg Kroah-Hartman @ 2023-11-13 14:29 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Jonathan Cameron, Yang Yingliang, Mark Brown, linux-input,
linux-kernel, linux-mmc, netdev, linux-usb, linux-spi,
Dmitry Torokhov, Ulf Hansson, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni
In-Reply-To: <20231113111249.3982461-1-andriy.shevchenko@linux.intel.com>
On Mon, Nov 13, 2023 at 01:12:49PM +0200, Andy Shevchenko wrote:
> The SPI_MASTER_HALF_DUPLEX is the legacy name of a definition
> for a half duplex flag. Since all others had been replaced with
> the respective SPI_CONTROLLER prefix get rid of the last one
> as well. There is no functional change intended.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/input/rmi4/rmi_spi.c | 2 +-
> drivers/mmc/host/mmc_spi.c | 2 +-
> drivers/net/ethernet/micrel/ks8851_spi.c | 4 ++--
> drivers/usb/gadget/udc/max3420_udc.c | 2 +-
> include/linux/spi/spi.h | 2 --
> 5 files changed, 5 insertions(+), 7 deletions(-)
This should go through the spi tree, right? If so:
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
For the USB portion.
thanks,
greg k-h
^ permalink raw reply
* [linux-next:master] BUILD REGRESSION d173336e238b0f7f5b7eddfa641d7c25c24bb86a
From: kernel test robot @ 2023-11-13 13:46 UTC (permalink / raw)
To: Andrew Morton
Cc: Linux Memory Management List, alsa-devel, apparmor, bpf, coreteam,
dri-devel, gfs2, linux-arm-kernel, linux-arm-msm, linux-bcachefs,
linux-block, linux-crypto, linux-fbdev, linux-fsdevel, linux-gpio,
linux-hwmon, linux-input, linux-integrity, linux-leds,
linux-mediatek, linux-mips
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
branch HEAD: d173336e238b0f7f5b7eddfa641d7c25c24bb86a Add linux-next specific files for 20231113
Error/Warning reports:
https://lore.kernel.org/oe-kbuild-all/202310261059.USL6VstF-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202310272130.WYttKhJa-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202310301338.pB7KCZxs-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202311011040.L1ncxDT3-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202311011659.fOMoFPWP-lkp@intel.com
Error/Warning: (recently discovered and may have been fixed)
Warning: Documentation/devicetree/bindings/power/wakeup-source.txt references a file that doesn't exist: Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt
Warning: MAINTAINERS references a file that doesn't exist: Documentation/devicetree/bindings/iio/imu/bosch,bma400.yaml
drivers/gpu/drm/mediatek/mtk_disp_gamma.c:121:6: warning: variable 'cfg_val' set but not used [-Wunused-but-set-variable]
fs/bcachefs/disk_groups.c:583:6: warning: no previous prototype for 'bch2_target_to_text_sb' [-Wmissing-prototypes]
fs/bcachefs/disk_groups.c:583:6: warning: no previous prototype for function 'bch2_target_to_text_sb' [-Wmissing-prototypes]
Unverified Error/Warning (likely false positive, please contact us if interested):
arch/riscv/kernel/smpboot.c: asm/cpufeature.h is included more than once.
arch/x86/kernel/cpu/cacheinfo.c:341:24: sparse: sparse: too long token expansion
block/bdev.c:832 bdev_open_by_dev() warn: possible memory leak of 'handle'
drivers/pci/controller/dwc/pcie-rcar-gen4.c:439:15: warning: cast to smaller integer type 'enum dw_pcie_device_mode' from 'const void *' [-Wvoid-pointer-to-enum-cast]
Error/Warning ids grouped by kconfigs:
gcc_recent_errors
|-- alpha-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- alpha-defconfig
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- arc-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- arc-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- arc-randconfig-001-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- arc-randconfig-002-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- arm-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- arm-allnoconfig
| `-- arch-arm-kernel-process.c:warning:variable-buf-set-but-not-used
|-- arm-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- arm-defconfig
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| `-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
|-- arm-randconfig-001-20231113
| |-- arch-arm-kernel-process.c:warning:variable-buf-set-but-not-used
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- arm-randconfig-002-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| `-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
|-- arm-randconfig-003-20231113
| |-- arch-arm-kernel-process.c:warning:variable-buf-set-but-not-used
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- arm-randconfig-004-20231113
| |-- arch-arm-kernel-process.c:warning:variable-buf-set-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- arm-stm32_defconfig
| `-- arch-arm-kernel-process.c:warning:variable-buf-set-but-not-used
|-- arm64-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- arm64-defconfig
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- arm64-randconfig-001-20231113
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- arm64-randconfig-002-20231113
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
| `-- sound-firewire-dice-dice.c:warning:)-at-directive-output-may-be-truncated-writing-bytes-into-a-region-of-size-between-and
|-- arm64-randconfig-003-20231113
| `-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
|-- arm64-randconfig-004-20231113
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- csky-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- csky-allyesconfig
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
|-- i386-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- i386-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- i386-buildonly-randconfig-001-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-net-ppp-pppoe.c:warning:variable-pde-set-but-not-used
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- i386-buildonly-randconfig-002-20231113
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- i386-buildonly-randconfig-003-20231113
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-net-ppp-pppoe.c:warning:variable-pde-set-but-not-used
| |-- drivers-net-wireless-intersil-hostap-hostap_ap.c:warning:ap_control_proc_seqops-defined-but-not-used
| |-- drivers-net-wireless-intersil-hostap-hostap_ap.c:warning:prism2_ap_proc_seqops-defined-but-not-used
| |-- drivers-net-wireless-intersil-hostap-hostap_proc.c:warning:prism2_bss_list_proc_seqops-defined-but-not-used
| |-- drivers-net-wireless-intersil-hostap-hostap_proc.c:warning:prism2_scan_results_proc_seqops-defined-but-not-used
| |-- drivers-net-wireless-intersil-hostap-hostap_proc.c:warning:prism2_wds_proc_seqops-defined-but-not-used
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- i386-buildonly-randconfig-004-20231113
| `-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
|-- i386-buildonly-randconfig-005-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- i386-buildonly-randconfig-006-20231113
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| `-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
|-- i386-defconfig
| `-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
|-- i386-randconfig-001-20231113
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- i386-randconfig-002-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- i386-randconfig-003-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| `-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
|-- i386-randconfig-004-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- i386-randconfig-005-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- i386-randconfig-006-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- i386-randconfig-011-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| `-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
|-- i386-randconfig-014-20231113
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- i386-randconfig-015-20231113
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| `-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
|-- i386-randconfig-016-20231113
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- i386-randconfig-061-20231113
| |-- arch-x86-kernel-cpu-cacheinfo.c:sparse:sparse:too-long-token-expansion
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-file.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-struct-file-noderef-__rcu-f-got-struct-file-f
| |-- fs-file.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-struct-file-got-struct-file-noderef-__rcu-assigned-file
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- i386-randconfig-062-20231113
| |-- arch-x86-kernel-cpu-cacheinfo.c:sparse:sparse:too-long-token-expansion
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- fs-file.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-struct-file-noderef-__rcu-f-got-struct-file-f
| |-- fs-file.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-struct-file-got-struct-file-noderef-__rcu-assigned-file
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- i386-randconfig-063-20231113
| |-- arch-x86-kernel-cpu-cacheinfo.c:sparse:sparse:too-long-token-expansion
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-mtd-nand-raw-nand_legacy.c:sparse:sparse:cast-from-restricted-__le16
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-file.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-struct-file-noderef-__rcu-f-got-struct-file-f
| |-- fs-file.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-struct-file-got-struct-file-noderef-__rcu-assigned-file
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- i386-randconfig-141-20231113
| |-- block-bdev.c-bdev_open_by_dev()-warn:possible-memory-leak-of-handle
| |-- crypto-tcrypt.c-do_test()-warn:Function-too-hairy.-No-more-merges.
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-hwmon-sht3x.c-update_interval_write()-error:uninitialized-symbol-ret-.
| |-- drivers-hwtracing-stm-core.c-stm_register_device()-error:double-free-of-stm
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-bkey_methods.c-__bch2_bkey_compat()-warn:for-statement-not-indented
| |-- fs-bcachefs-btree_update.c-bch2_trans_update_by_path()-error:uninitialized-symbol-cmp-.
| |-- fs-bcachefs-btree_write_buffer.c-__bch2_btree_write_buffer_flush()-error:we-previously-assumed-iter.path-could-be-null-(see-line-)
| |-- fs-bcachefs-buckets.c-bch2_trans_fs_usage_apply()-error:we-previously-assumed-trans-disk_res-could-be-null-(see-line-)
| |-- fs-bcachefs-chardev.c-bch2_ioctl_fs_usage()-warn:check-for-integer-overflow-replica_entries_bytes
| |-- fs-bcachefs-compress.c-__bounce_alloc()-warn:possible-memory-leak-of-b
| |-- fs-bcachefs-ec.c-bch2_ec_stripe_head_get()-error:we-previously-assumed-h-s-could-be-null-(see-line-)
| |-- fs-bcachefs-fs-io-buffered.c-__bch2_writepage()-error:we-previously-assumed-w-io-could-be-null-(see-line-)
| |-- fs-bcachefs-journal_io.c-journal_entry_add()-warn:missing-error-code-ret
| |-- fs-bcachefs-movinggc.c-bch2_copygc()-error:f-dereferencing-possible-ERR_PTR()
| |-- fs-bcachefs-reflink.c-bch2_reflink_p_merge()-warn:ignoring-unreachable-code.
| |-- fs-bcachefs-six.c-__do_six_trylock()-error:uninitialized-symbol-old-.
| |-- fs-bcachefs-super.c-__bch2_fs_read_write()-warn:missing-unwind-goto
| |-- kernel-sched-fair.c-find_energy_efficient_cpu()-error:uninitialized-symbol-best_energy_cpu-.
| |-- kernel-sched-fair.c-select_idle_sibling()-error:uninitialized-symbol-util_max-.
| |-- kernel-sched-fair.c-select_idle_sibling()-error:uninitialized-symbol-util_min-.
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- lib-zstd-decompress-zstd_decompress_internal.h-ZSTD_DCtx_get_bmi2()-warn:inconsistent-indenting
|-- loongarch-allmodconfig
| |-- arch-loongarch-kernel-asm-offsets.c:warning:no-previous-prototype-for-output_kvm_defines
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- loongarch-allnoconfig
| `-- arch-loongarch-kernel-asm-offsets.c:warning:no-previous-prototype-for-output_kvm_defines
|-- loongarch-allyesconfig
| |-- arch-loongarch-kernel-asm-offsets.c:warning:no-previous-prototype-for-output_kvm_defines
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- loongarch-defconfig
| |-- arch-loongarch-kernel-asm-offsets.c:warning:no-previous-prototype-for-output_kvm_defines
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- loongarch-randconfig-001-20231113
| |-- arch-loongarch-kernel-asm-offsets.c:warning:no-previous-prototype-for-output_kvm_defines
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- loongarch-randconfig-002-20231113
| |-- arch-loongarch-kernel-asm-offsets.c:warning:no-previous-prototype-for-output_kvm_defines
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- m68k-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- m68k-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
|-- m68k-defconfig
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- m68k-q40_defconfig
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- microblaze-allmodconfig
| |-- arch-microblaze-kernel-traps.c:warning:no-previous-prototype-for-trap_init
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-fp-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-loglvl-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-pc-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-task-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-trace-not-described-in-unwind_trap
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- microblaze-allnoconfig
| |-- arch-microblaze-kernel-traps.c:warning:no-previous-prototype-for-trap_init
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-fp-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-loglvl-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-pc-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-task-not-described-in-unwind_trap
| `-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-trace-not-described-in-unwind_trap
|-- microblaze-allyesconfig
| |-- arch-microblaze-kernel-traps.c:warning:no-previous-prototype-for-trap_init
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-fp-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-loglvl-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-pc-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-task-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-trace-not-described-in-unwind_trap
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- microblaze-defconfig
| |-- arch-microblaze-kernel-traps.c:warning:no-previous-prototype-for-trap_init
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-fp-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-loglvl-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-pc-not-described-in-unwind_trap
| |-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-task-not-described-in-unwind_trap
| `-- arch-microblaze-kernel-unwind.c:warning:Function-parameter-or-member-trace-not-described-in-unwind_trap
|-- mips-allmodconfig
| |-- arch-mips-kernel-ftrace.c:warning:no-previous-prototype-for-prepare_ftrace_return
| |-- arch-mips-kernel-machine_kexec.c:warning:no-previous-prototype-for-machine_shutdown
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- mips-allyesconfig
| |-- arch-mips-kernel-ftrace.c:warning:no-previous-prototype-for-prepare_ftrace_return
| |-- arch-mips-kernel-machine_kexec.c:warning:no-previous-prototype-for-machine_shutdown
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- mips-decstation_64_defconfig
| |-- arch-mips-dec-prom-identify.c:warning:variable-dec_cpunum-set-but-not-used
| |-- arch-mips-dec-prom-identify.c:warning:variable-dec_firmrev-set-but-not-used
| |-- arch-mips-dec-prom-init.c:warning:no-previous-prototype-for-which_prom
| |-- arch-mips-dec-reset.c:warning:no-previous-prototype-for-dec_machine_restart
| |-- arch-mips-kernel-cevt-ds1287.c:warning:no-previous-prototype-for-ds1287_clockevent_init
| |-- drivers-tc-tc-driver.c:warning:Excess-function-parameter-drv-description-in-tc_unregister_driver
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- nios2-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- nios2-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- nios2-randconfig-001-20231113
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- nios2-randconfig-002-20231113
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| `-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
|-- openrisc-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- openrisc-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- parisc-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- parisc-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- parisc-randconfig-001-20231113
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-spi-spi-s3c64xx.c:warning:s3c64xx_spi_dt_match-defined-but-not-used
| |-- drivers-spi-spi-st-ssc4.c:warning:stm_spi_match-defined-but-not-used
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- parisc-randconfig-002-20231113
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| `-- net-ipv4-ipconfig.c:warning:variable-start_jiffies-set-but-not-used
|-- powerpc-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- powerpc-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- powerpc-randconfig-002-20231113
| |-- arch-powerpc-platforms-powermac-smp.c:warning:no-previous-prototype-for-smp_psurge_give_timebase
| |-- arch-powerpc-sysdev-cpm2_pic.c:warning:variable-i-set-but-not-used
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-video-fbdev-fsl-diu-fb.c:warning:Function-parameter-or-member-bits_per_pixel-not-described-in-fsl_diu_get_pixel_format
| |-- drivers-video-fbdev-fsl-diu-fb.c:warning:Function-parameter-or-member-mfb-not-described-in-fsl_diu_data
| |-- drivers-video-fbdev-fsl-diu-fb.c:warning:variable-hw-set-but-not-used
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| `-- sound-soc-fsl-mpc5200_psc_ac97.c:warning:cannot-understand-function-prototype:const-struct-snd_soc_dai_ops-psc_ac97_analog_ops
|-- powerpc-stx_gp3_defconfig
| `-- arch-powerpc-sysdev-cpm2_pic.c:warning:variable-i-set-but-not-used
|-- powerpc64-randconfig-001-20231113
| |-- arch-powerpc-kernel-traps.c:warning:no-previous-prototype-for-is_valid_bugaddr
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- powerpc64-randconfig-003-20231113
| |-- arch-powerpc-kernel-traps.c:warning:no-previous-prototype-for-is_valid_bugaddr
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- riscv-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- riscv-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- riscv-defconfig
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- riscv-randconfig-001-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- riscv-randconfig-002-20231113
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- riscv-rv32_defconfig
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- s390-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- s390-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- s390-debug_defconfig
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- s390-defconfig
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- s390-randconfig-001-20231113
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- net-netfilter-xt_hashlimit.c:warning:variable-ops-set-but-not-used
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- s390-randconfig-002-20231113
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- sh-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- sh-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- sh-randconfig-002-20231113
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- sparc-allmodconfig
| |-- arch-sparc-kernel-module.c:error:variable-strtab-set-but-not-used
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- sparc-allnoconfig
| |-- kernel-dma.c:warning:no-previous-prototype-for-free_dma
| `-- kernel-dma.c:warning:no-previous-prototype-for-request_dma
|-- sparc-allyesconfig
| |-- arch-sparc-kernel-module.c:error:variable-strtab-set-but-not-used
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- sparc-defconfig
| |-- arch-sparc-kernel-module.c:error:variable-strtab-set-but-not-used
| |-- kernel-dma.c:warning:no-previous-prototype-for-free_dma
| `-- kernel-dma.c:warning:no-previous-prototype-for-request_dma
|-- sparc-randconfig-001-20231113
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-dma.c:warning:no-previous-prototype-for-free_dma
| |-- kernel-dma.c:warning:no-previous-prototype-for-request_dma
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- sparc-randconfig-002-20231113
| |-- arch-sparc-kernel-module.c:error:variable-strtab-set-but-not-used
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- kernel-dma.c:warning:no-previous-prototype-for-free_dma
| |-- kernel-dma.c:warning:no-previous-prototype-for-request_dma
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- sparc64-allmodconfig
| |-- arch-sparc-kernel-module.c:error:variable-strtab-set-but-not-used
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- sparc64-allyesconfig
| |-- arch-sparc-kernel-module.c:error:variable-strtab-set-but-not-used
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-bcachefs_format.h:warning:p-offset-in-struct-bkey-isn-t-aligned-to
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- sparc64-defconfig
| |-- arch-sparc-kernel-module.c:error:variable-strtab-set-but-not-used
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- sparc64-randconfig-001-20231113
| |-- drivers-input-touchscreen-wdt87xx_i2c.c:warning:wdt87xx_acpi_id-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- um-randconfig-001-20231113
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- um-randconfig-002-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| `-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
|-- x86_64-allnoconfig
| |-- Warning:Documentation-devicetree-bindings-power-wakeup-source.txt-references-a-file-that-doesn-t-exist:Documentation-devicetree-bindings-input-qcom-pm8xxx-keypad.txt
| |-- Warning:MAINTAINERS-references-a-file-that-doesn-t-exist:Documentation-devicetree-bindings-iio-imu-bosch-bma400.yaml
| |-- arch-riscv-include-asm-insn-def.h:asm-gpr-num.h-is-included-more-than-once.
| |-- arch-riscv-kernel-smpboot.c:asm-cpufeature.h-is-included-more-than-once.
| |-- drivers-pinctrl-qcom-pinctrl-lpass-lpi.c:linux-seq_file.h-is-included-more-than-once.
| |-- include-linux-gpio-consumer.h:linux-err.h-is-included-more-than-once.
| |-- include-linux-gpio-driver.h:asm-bug.h-is-included-more-than-once.
| |-- include-linux-gpio-driver.h:linux-err.h-is-included-more-than-once.
| `-- kernel-bpf-bpf_struct_ops.c:bpf_struct_ops_types.h-is-included-more-than-once.
|-- x86_64-allyesconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-firmware-broadcom-bcm47xx_sprom.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-input-touchscreen-stmpe-ts.c:warning:stmpe_ts_ids-defined-but-not-used
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
|-- x86_64-buildonly-randconfig-002-20231113
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- x86_64-buildonly-randconfig-003-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
|-- x86_64-defconfig
| `-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
|-- x86_64-randconfig-001-20231113
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- x86_64-randconfig-002-20231113
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- x86_64-randconfig-003-20231113
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- x86_64-randconfig-004-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- x86_64-randconfig-005-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| `-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
|-- x86_64-randconfig-006-20231113
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
|-- x86_64-randconfig-014-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- x86_64-randconfig-016-20231113
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| `-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
|-- x86_64-randconfig-071-20231113
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- x86_64-randconfig-121-20231113
| |-- arch-x86-kernel-cpu-cacheinfo.c:sparse:sparse:too-long-token-expansion
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- x86_64-randconfig-122-20231113
| |-- arch-x86-kernel-cpu-cacheinfo.c:sparse:sparse:too-long-token-expansion
| |-- drivers-leds-leds-pca955x.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| `-- sound-firewire-dice-dice.c:warning:)-at-directive-output-may-be-truncated-writing-bytes-into-a-region-of-size-between-and
|-- x86_64-randconfig-123-20231113
| |-- arch-x86-kernel-cpu-cacheinfo.c:sparse:sparse:too-long-token-expansion
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-ida_dump
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- x86_64-randconfig-161-20231113
| |-- block-bdev.c-bdev_open_by_dev()-warn:possible-memory-leak-of-handle
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-char-tpm-tpm_tis_spi_main.c-tpm_tis_spi_transfer_half()-error:uninitialized-symbol-ret-.
| |-- drivers-gpu-drm-scheduler-sched_main.c-drm_sched_init()-warn:Please-consider-using-kcalloc-instead-of-kmalloc_array
| |-- drivers-gpu-drm-scheduler-sched_main.c-drm_sched_select_entity()-error:uninitialized-symbol-entity-.
| |-- drivers-hwtracing-stm-core.c-stm_register_device()-error:double-free-of-stm
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| `-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|-- x86_64-rhel-8.3
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- net-8021q-vlan.c:warning:i-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| `-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
`-- xtensa-randconfig-001-20231113
|-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
|-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
|-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
|-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
|-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
|-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
|-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
|-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
|-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
|-- drivers-net-wireless-intersil-hostap-hostap_ap.c:warning:ap_control_proc_seqops-defined-but-not-used
|-- drivers-net-wireless-intersil-hostap-hostap_ap.c:warning:prism2_ap_proc_seqops-defined-but-not-used
|-- drivers-net-wireless-intersil-hostap-hostap_proc.c:warning:prism2_bss_list_proc_seqops-defined-but-not-used
|-- drivers-net-wireless-intersil-hostap-hostap_proc.c:warning:prism2_scan_results_proc_seqops-defined-but-not-used
|-- drivers-net-wireless-intersil-hostap-hostap_proc.c:warning:prism2_wds_proc_seqops-defined-but-not-used
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
`-- net-netfilter-xt_hashlimit.c:warning:variable-ops-set-but-not-used
clang_recent_errors
|-- arm64-allmodconfig
| |-- block-partitions-aix.c:warning:Function-parameter-or-member-state-not-described-in-read_lba
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-file-not-described-in-binder_task_work_cb
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-length-not-described-in-binder_sg_copy
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-offset-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-skip_size-not-described-in-binder_ptr_fixup
| |-- drivers-android-binder.c:warning:Function-parameter-or-member-thread-not-described-in-binder_free_buf
| |-- drivers-android-binder_alloc.c:warning:Function-parameter-or-member-lru-not-described-in-binder_alloc_free_page
| |-- drivers-clocksource-timer-ti-32k.c:warning:expecting-prototype-for-timer().-Prototype-was-for-OMAP2_32KSYNCNT_REV_OFF()-instead
| |-- drivers-gpu-drm-mediatek-mtk_disp_gamma.c:warning:variable-cfg_val-set-but-not-used
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-host-not-described-in-memstick_remove_host
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-mrq-not-described-in-memstick_init_req
| |-- drivers-memstick-core-memstick.c:warning:Function-parameter-or-member-tpc-not-described-in-memstick_init_req
| |-- drivers-mtd-nand-raw-lpc32xx_mlc.c:warning:cast-from-irqreturn_t-(-)(int-struct-lpc32xx_nand_host-)-(aka-enum-irqreturn-(-)(int-struct-lpc32xx_nand_host-)-)-to-irq_handler_t-(aka-enum-irqreturn-(-)(in
| |-- drivers-pci-controller-dwc-pcie-rcar-gen4.c:warning:cast-to-smaller-integer-type-enum-dw_pcie_device_mode-from-const-void
| |-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
| |-- fs-bcachefs-disk_groups.c:warning:no-previous-prototype-for-function-bch2_target_to_text_sb
| |-- fs-gfs2-glops.c:warning:Function-parameter-or-member-gl-not-described-in-inode_go_instantiate
| |-- kernel-gcov-clang.c:warning:Excess-function-parameter-dest-description-in-gcov_info_add
| |-- kernel-gcov-clang.c:warning:Excess-function-parameter-source-description-in-gcov_info_add
| |-- kernel-gcov-clang.c:warning:Function-parameter-or-member-dst-not-described-in-gcov_info_add
| |-- kernel-gcov-clang.c:warning:Function-parameter-or-member-src-not-described-in-gcov_info_add
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
| |-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
| |-- lib-842_compress.c:warning:Function-parameter-or-member-in-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-olen-not-described-in-sw842_compress
| |-- lib-842_compress.c:warning:Function-parameter-or-member-wmem-not-described-in-sw842_compress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-ilen-not-described-in-sw842_decompress
| |-- lib-842_decompress.c:warning:Function-parameter-or-member-out-not-described-in-sw842_decompress
| |-- lib-test_ida.c:warning:no-previous-prototype-for-function-ida_dump
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
| |-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
| `-- sound-core-seq-seq_midi.c:warning:cast-from-int-(-)(struct-snd_rawmidi_substream-const-char-int)-to-snd_seq_dump_func_t-(aka-int-(-)(void-void-int)-)-converts-to-incompatible-function-type
`-- x86_64-rhel-8.3-rust
|-- drivers-usb-host-xhci.c:warning:Function-parameter-or-member-desc-not-described-in-xhci_get_endpoint_index
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-buf-not-described-in-ftrace_set_global_notrace
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_global_notrace
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-len-not-described-in-ftrace_set_notrace
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_filter
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_global_notrace
|-- kernel-trace-ftrace.c:warning:Function-parameter-or-member-reset-not-described-in-ftrace_set_notrace
|-- security-apparmor-lsm.c:warning:Function-parameter-or-member-level-not-described-in-apparmor_socket_getsockopt
|-- security-apparmor-lsm.c:warning:Function-parameter-or-member-optname-not-described-in-apparmor_socket_getsockopt
`-- security-apparmor-lsm.c:warning:Function-parameter-or-member-sock-not-described-in-apparmor_socket_setsockopt
elapsed time: 741m
configs tested: 158
configs skipped: 2
tested configs:
alpha allnoconfig gcc
alpha allyesconfig gcc
alpha defconfig gcc
arc allmodconfig gcc
arc allnoconfig gcc
arc allyesconfig gcc
arc defconfig gcc
arc randconfig-001-20231113 gcc
arc randconfig-002-20231113 gcc
arm alldefconfig clang
arm allmodconfig gcc
arm allnoconfig gcc
arm allyesconfig gcc
arm defconfig gcc
arm nhk8815_defconfig gcc
arm randconfig-001-20231113 gcc
arm randconfig-002-20231113 gcc
arm randconfig-003-20231113 gcc
arm randconfig-004-20231113 gcc
arm spear3xx_defconfig clang
arm stm32_defconfig gcc
arm vt8500_v6_v7_defconfig clang
arm64 allmodconfig clang
arm64 allmodconfig gcc
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20231113 gcc
arm64 randconfig-002-20231113 gcc
arm64 randconfig-003-20231113 gcc
arm64 randconfig-004-20231113 gcc
csky allmodconfig gcc
csky allnoconfig gcc
csky allyesconfig gcc
csky defconfig gcc
i386 allmodconfig gcc
i386 allnoconfig gcc
i386 allyesconfig gcc
i386 buildonly-randconfig-001-20231113 gcc
i386 buildonly-randconfig-002-20231113 gcc
i386 buildonly-randconfig-003-20231113 gcc
i386 buildonly-randconfig-004-20231113 gcc
i386 buildonly-randconfig-005-20231113 gcc
i386 buildonly-randconfig-006-20231113 gcc
i386 defconfig gcc
i386 randconfig-001-20231113 gcc
i386 randconfig-002-20231113 gcc
i386 randconfig-003-20231113 gcc
i386 randconfig-004-20231113 gcc
i386 randconfig-005-20231113 gcc
i386 randconfig-006-20231113 gcc
i386 randconfig-011-20231113 gcc
i386 randconfig-014-20231113 gcc
i386 randconfig-015-20231113 gcc
i386 randconfig-016-20231113 gcc
loongarch allmodconfig gcc
loongarch allnoconfig gcc
loongarch allyesconfig gcc
loongarch defconfig gcc
loongarch randconfig-001-20231113 gcc
loongarch randconfig-002-20231113 gcc
m68k allmodconfig gcc
m68k allnoconfig gcc
m68k allyesconfig gcc
m68k defconfig gcc
m68k q40_defconfig gcc
microblaze allmodconfig gcc
microblaze allnoconfig gcc
microblaze allyesconfig gcc
microblaze defconfig gcc
mips allmodconfig gcc
mips allnoconfig gcc
mips allyesconfig gcc
mips decstation_64_defconfig gcc
nios2 allmodconfig gcc
nios2 allnoconfig gcc
nios2 allyesconfig gcc
nios2 defconfig gcc
nios2 randconfig-001-20231113 gcc
nios2 randconfig-002-20231113 gcc
openrisc allmodconfig gcc
openrisc allnoconfig gcc
openrisc allyesconfig gcc
openrisc defconfig gcc
openrisc or1klitex_defconfig gcc
parisc alldefconfig gcc
parisc allmodconfig gcc
parisc allnoconfig gcc
parisc allyesconfig gcc
parisc defconfig gcc
parisc randconfig-001-20231113 gcc
parisc randconfig-002-20231113 gcc
parisc64 defconfig gcc
powerpc allmodconfig gcc
powerpc allnoconfig gcc
powerpc allyesconfig gcc
powerpc linkstation_defconfig gcc
powerpc randconfig-002-20231113 gcc
powerpc randconfig-003-20231113 gcc
powerpc stx_gp3_defconfig gcc
powerpc64 randconfig-001-20231113 gcc
powerpc64 randconfig-003-20231113 gcc
riscv allmodconfig gcc
riscv allnoconfig gcc
riscv allyesconfig gcc
riscv defconfig gcc
riscv randconfig-001-20231113 gcc
riscv randconfig-002-20231113 gcc
riscv rv32_defconfig gcc
s390 allmodconfig gcc
s390 allnoconfig gcc
s390 allyesconfig gcc
s390 debug_defconfig gcc
s390 defconfig gcc
s390 randconfig-001-20231113 gcc
s390 randconfig-002-20231113 gcc
sh allmodconfig gcc
sh allnoconfig gcc
sh allyesconfig gcc
sh defconfig gcc
sh j2_defconfig gcc
sh randconfig-002-20231113 gcc
sh urquell_defconfig gcc
sparc allmodconfig gcc
sparc allnoconfig gcc
sparc allyesconfig gcc
sparc defconfig gcc
sparc randconfig-001-20231113 gcc
sparc randconfig-002-20231113 gcc
sparc64 allmodconfig gcc
sparc64 allyesconfig gcc
sparc64 defconfig gcc
sparc64 randconfig-001-20231113 gcc
um allmodconfig clang
um allnoconfig clang
um allyesconfig clang
um defconfig gcc
um i386_defconfig gcc
um randconfig-001-20231113 gcc
um randconfig-002-20231113 gcc
um x86_64_defconfig gcc
x86_64 allnoconfig gcc
x86_64 allyesconfig gcc
x86_64 buildonly-randconfig-002-20231113 gcc
x86_64 buildonly-randconfig-003-20231113 gcc
x86_64 defconfig gcc
x86_64 randconfig-001-20231113 gcc
x86_64 randconfig-002-20231113 gcc
x86_64 randconfig-003-20231113 gcc
x86_64 randconfig-004-20231113 gcc
x86_64 randconfig-005-20231113 gcc
x86_64 randconfig-006-20231113 gcc
x86_64 randconfig-014-20231113 gcc
x86_64 randconfig-016-20231113 gcc
x86_64 randconfig-071-20231113 gcc
x86_64 rhel-8.3-rust clang
x86_64 rhel-8.3 gcc
xtensa audio_kc705_defconfig gcc
xtensa generic_kc705_defconfig gcc
xtensa randconfig-001-20231113 gcc
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply
* Re: [PATCH v3 3/3] Input: Add TouchNetix axiom i2c touchscreen driver
From: kamel.bouhara @ 2023-11-13 13:32 UTC (permalink / raw)
To: Jeff LaBundy
Cc: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Henrik Rydberg, linux-input, linux-kernel, devicetree,
Marco Felsch, mark.satterthwaite, bartp, hannah.rossiter,
Thomas Petazzoni, Gregory Clement, bsp-development.geo
Le 2023-10-22 23:54, Jeff LaBundy a écrit :
> Hi Kamel,
Hi Jeff,
>
> On Thu, Oct 12, 2023 at 09:40:34AM +0200, Kamel Bouhara wrote:
>> Add a new driver for the TouchNetix's axiom family of
>> touchscreen controllers. This driver only supports i2c
>> and can be later adapted for SPI and USB support.
>>
>> Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
>> ---
>> MAINTAINERS | 1 +
>> drivers/input/touchscreen/Kconfig | 13 +
>> drivers/input/touchscreen/Makefile | 1 +
>> .../input/touchscreen/touchnetix_axiom_i2c.c | 740
>> ++++++++++++++++++
>> 4 files changed, 755 insertions(+)
>> create mode 100644 drivers/input/touchscreen/touchnetix_axiom_i2c.c
>
> Please do not include 'i2c' in the filename. If the driver is expanded
> in
> the future to support SPI, it would make sense to have
> touchnetix_axiom.c,
> touchnetix_axiom_i2c.c and touchnetix_axiom_spi.c. To prevent this
> driver
> from having to be renamed in that case, just call it
> touchnetix_axiom.c.
>
Sure but the generic part of the code could also be moved to
touchnetix_axiom.c.
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 12ae8bc6b8cf..2d1e0b025e89 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -21415,6 +21415,7 @@ M: Kamel Bouhara <kamel.bouhara@bootlin.com>
>> L: linux-input@vger.kernel.org
>> S: Maintained
>>
>> F: Documentation/devicetree/bindings/input/touchscreen/touchnetix,axiom-ax54a.yaml
>> +F: drivers/input/touchscreen/touchnetix_axiom_i2c.c
>>
>> THUNDERBOLT DMA TRAFFIC TEST DRIVER
>> M: Isaac Hazan <isaac.hazan@intel.com>
>> diff --git a/drivers/input/touchscreen/Kconfig
>> b/drivers/input/touchscreen/Kconfig
>> index e3e2324547b9..58665ccbe077 100644
>> --- a/drivers/input/touchscreen/Kconfig
>> +++ b/drivers/input/touchscreen/Kconfig
>> @@ -803,6 +803,19 @@ config TOUCHSCREEN_MIGOR
>> To compile this driver as a module, choose M here: the
>> module will be called migor_ts.
>>
>> +config TOUCHSCREEN_TOUCHNETIX_AXIOM_I2C
>> + tristate "TouchNetix AXIOM based touchscreen controllers"
>> + depends on I2C
>> + depends on GPIOLIB || COMPILE_TEST
>
> All gpiod_*() functions used in this driver have a dummy function for
> the
> CONFIG_GPIOLIB=n case, so this dependency is unnecessary.
>
Yes, thanks.
>> + help
>> + Say Y here if you have a axiom touchscreen connected to
>> + your system.
>> +
>> + If unsure, say N.
>> +
>> + To compile this driver as a module, choose M here: the
>> + module will be called axiom_i2c.
>> +
>> config TOUCHSCREEN_TOUCHRIGHT
>> tristate "Touchright serial touchscreen"
>> select SERIO
>> diff --git a/drivers/input/touchscreen/Makefile
>> b/drivers/input/touchscreen/Makefile
>> index 62bd24f3ac8e..23b6fb8864b0 100644
>> --- a/drivers/input/touchscreen/Makefile
>> +++ b/drivers/input/touchscreen/Makefile
>> @@ -88,6 +88,7 @@ obj-$(CONFIG_TOUCHSCREEN_SUR40) += sur40.o
>> obj-$(CONFIG_TOUCHSCREEN_SURFACE3_SPI) += surface3_spi.o
>> obj-$(CONFIG_TOUCHSCREEN_TI_AM335X_TSC) += ti_am335x_tsc.o
>> obj-$(CONFIG_TOUCHSCREEN_TOUCHIT213) += touchit213.o
>> +obj-$(CONFIG_TOUCHSCREEN_TOUCHNETIX_AXIOM_I2C) +=
>> touchnetix_axiom_i2c.o
>> obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o
>> obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o
>> obj-$(CONFIG_TOUCHSCREEN_TS4800) += ts4800-ts.o
>> diff --git a/drivers/input/touchscreen/touchnetix_axiom_i2c.c
>> b/drivers/input/touchscreen/touchnetix_axiom_i2c.c
>> new file mode 100644
>> index 000000000000..fb6239a87341
>> --- /dev/null
>> +++ b/drivers/input/touchscreen/touchnetix_axiom_i2c.c
>> @@ -0,0 +1,740 @@
>> +// SPDX-License-Identifier: GPL-2.0-only
>> +/*
>> + * TouchNetix aXiom Touchscreen Driver
>> + *
>> + * Copyright (C) 2020-2023 TouchNetix Ltd.
>> + *
>> + * Author(s): Bart Prescott <bartp@baasheep.co.uk>
>> + * Pedro Torruella <pedro.torruella@touchnetix.com>
>> + * Mark Satterthwaite <mark.satterthwaite@touchnetix.com>
>> + * Hannah Rossiter <hannah.rossiter@touchnetix.com>
>> + * Kamel Bouhara <kamel.bouhara@bootlin.com>
>> + *
>> + */
>> +
>> +#include <linux/crc16.h>
>> +#include <linux/delay.h>
>> +#include <linux/device.h>
>> +#include <linux/gpio/consumer.h>
>> +#include <linux/i2c.h>
>> +#include <linux/input.h>
>> +#include <linux/input/mt.h>
>> +#include <linux/interrupt.h>
>> +#include <linux/kernel.h>
>> +#include <linux/module.h>
>
> Please #include mod_devicetable.h as well.
>
OK is this only for the sake of clarity ? As mod_devicetable.h is
already included in linux/of.h ?
>> +#include <linux/of.h>
>> +#include <linux/pm.h>
>
> In addition to Marco's comment about unused includes, pm.h does not
> appear
> to be used either.
>
Ack, thx.
>> +#include <linux/slab.h>
>> +#include <linux/string.h>
>> +
>> +/*
>> + * Runtime TCP mode: device is executing normal code and is
>> + * accessible via the Touch Controller Mode
>> + */
>> +#define BOOT_TCP 0
>> +/*
>> + * Bootloader BLP mode: device is executing bootloader and is
>> + * accessible via the Boot Loader Protocol.
>> + */
>> +#define BOOT_BLP 1
>> +#define AXIOM_PROX_LEVEL -128
>> +/*
>> + * Register group u31 has 2 pages for usage table entries.
>> + * (2 * AXIOM_COMMS_PAGE_SIZE) / AXIOM_U31_BYTES_PER_USAGE = 85
>> + */
>> +#define AXIOM_U31_MAX_USAGES 85
>> +#define AXIOM_U31_BYTES_PER_USAGE 6
>> +#define AXIOM_U31_PAGE0_LENGTH 0x0C
>> +#define AXIOM_U31_BOOTMODE_MASK BIT(7)
>> +#define AXIOM_U31_FW_INFO_VARIANT_MASK GENMASK(6, 0)
>> +#define AXIOM_U31_FW_INFO_STATUS_MASK BIT(7)
>> +
>> +#define AXIOM_U41_MAX_TARGETS 10
>> +
>> +#define AXIOM_U46_AUX_CHANNELS 4
>> +#define AXIOM_U46_AUX_MASK GENMASK(11, 0)
>> +
>> +#define AXIOM_COMMS_MAX_USAGE_PAGES 3
>> +#define AXIOM_COMMS_PAGE_SIZE 256
>> +#define AXIOM_COMMS_OVERFLOW_MASK BIT(7)
>> +#define AXIOM_COMMS_REPORT_LEN_MASK GENMASK(7, 0)
>> +
>> +#define AXIOM_REBASELINE_CMD 0x03
>> +
>> +#define AXIOM_REPORT_USAGE_ID 0x34
>> +#define AXIOM_DEVINFO_USAGE_ID 0x31
>> +#define AXIOM_USAGE_2HB_REPORT_ID 0x01
>> +#define AXIOM_REBASELINE_USAGE_ID 0x02
>> +#define AXIOM_USAGE_2AUX_REPORT_ID 0x46
>> +#define AXIOM_USAGE_2DCTS_REPORT_ID 0x41
>> +
>> +#define AXIOM_PAGE_MASK GENMASK(15, 8)
>> +#define AXIOM_PAGE_OFFSET_MASK GENMASK(7, 0)
>> +
>> +struct axiom_devinfo {
>> + char bootloader_fw_major;
>
> Please use standard kernel type definitions, specifically u8 in place
> of char.
>
Ack.
>> + char bootloader_fw_minor;
>> + char bootmode;
>> + u16 device_id;
>> + char fw_major;
>> + char fw_minor;
>> + char fw_info_extra;
>> + char tcp_revision;
>> + u16 jedec_id;
>> + char num_usages;
>> + char silicon_revision;
>> +};
>> +
>> +/*
>> + * Describes parameters of a specific usage, essenstially a single
>> element of
>> + * the "Usage Table"
>> + */
>> +struct usage_entry {
>> + char id;
>> + char is_report;
>> + char start_page;
>> + char num_pages;
>> +};
>> +
>> +/*
>> + * Holds state of a touch or target when detected prior a touch (eg.
>> + * hover or proximity events).
>> + */
>
> Nit: this comment is misleading. The enum itself does not hold state;
> it
> represents state. A variable defined using this enum holds the state.
>
Ok.
>> +enum axiom_target_state {
>> + TARGET_STATE_NOT_PRESENT = 0,
>> + TARGET_STATE_PROX = 1,
>> + TARGET_STATE_HOVER = 2,
>> + TARGET_STATE_TOUCHING = 3,
>> + TARGET_STATE_MIN = TARGET_STATE_NOT_PRESENT,
>> + TARGET_STATE_MAX = TARGET_STATE_TOUCHING,
>> +};
>
> Please namespace these, i.e. AXIOM_TARGET_STATE_*.
>
>> +
>> +struct u41_target {
>> + enum axiom_target_state state;
>> + u16 x;
>> + u16 y;
>> + s8 z;
>> + bool insert;
>> + bool touch;
>> +};
>
> Please namespace this struct definition as you have done below.
>
Sure.
>> +
>> +struct axiom_target_report {
>> + u8 index;
>> + u8 present;
>> + u16 x;
>> + u16 y;
>> + s8 z;
>> +};
>> +
>> +struct axiom_cmd_header {
>> + u16 target_address;
>> + u16 length:15;
>> + u16 read:1;
>> +} __packed;
>> +
>> +struct axiom_data {
>> + struct axiom_devinfo devinfo;
>> + struct device *dev;
>> + struct gpio_desc *reset_gpio;
>> + struct gpio_desc *irq_gpio;
>> + struct i2c_client *client;
>> + struct input_dev *input_dev;
>> + u32 max_report_len;
>> + u32 report_overflow_counter;
>> + u32 report_counter;
>> + char rx_buf[AXIOM_COMMS_MAX_USAGE_PAGES * AXIOM_COMMS_PAGE_SIZE];
>> + struct u41_target targets[AXIOM_U41_MAX_TARGETS];
>> + struct usage_entry usage_table[AXIOM_U31_MAX_USAGES];
>> + bool usage_table_populated;
>> +};
>> +
>> +/*
>> + * aXiom devices are typically configured to report
>> + * touches at a rate of 100Hz (10ms). For systems
>> + * that require polling for reports, 100ms seems like
>> + * an acceptable polling rate.
>> + * When reports are polled, it will be expected to
>> + * occasionally observe the overflow bit being set
>> + * in the reports. This indicates that reports are not
>> + * being read fast enough.
>> + */
>> +#define POLL_INTERVAL_DEFAULT_MS 100
>
> I'd rather we take this information from device tree; it seems
> 'poll-interval'
> is a common property used by other drivers.
>
>> +
>> +/* Translate usage/page/offset triplet into physical address. */
>> +static u16
>> +usage_to_target_address(struct axiom_data *ts, char usage, char page,
>> + char offset)
>
> The line break after the function type is a bit confusing; please use
> this
> more common style and namespace all functions:
>
> static u16 axiom_usage_to_target_address(...,
> ...);
>
> Note any line breaks are aligned to the opening parenthesis.
>
Fixed, thx.
>> +{
>> + struct axiom_devinfo *device_info;
>> + struct usage_entry *usage_table;
>> + u32 i;
>> +
>> + device_info = &ts->devinfo;
>> + usage_table = ts->usage_table;
>> +
>> + /* At the moment the convention is that u31 is always at physical
>> address 0x0 */
>> + if (!ts->usage_table_populated) {
>> + if (usage == AXIOM_DEVINFO_USAGE_ID)
>> + return ((page << 8) + offset);
>> + else
>> + return 0xffff;
>> + }
>> +
>> + for (i = 0; i < device_info->num_usages; i++) {
>> + if (usage_table[i].id != usage)
>> + continue;
>> +
>> + if (page >= usage_table[i].num_pages) {
>> + dev_err(ts->dev, "Invalid usage table! usage: %u, page: %u,
>> offset: %u\n",
>> + usage, page, offset);
>> + return 0xffff;
>> + }
>> + }
>> +
>> + return ((usage_table[i].start_page + page) << 8) + offset;
>> +}
>> +
>> +static int
>> +axiom_i2c_read(struct i2c_client *client, u8 usage, u8 page, u8 *buf,
>> u16 len)
>> +{
>> + struct axiom_data *ts = i2c_get_clientdata(client);
>> + struct axiom_cmd_header cmd_header;
>> + struct i2c_msg msg[2];
>> + int ret;
>> +
>> + cmd_header.target_address = cpu_to_le16(usage_to_target_address(ts,
>> usage, page, 0));
>> + cmd_header.length = cpu_to_le16(len);
>> + cmd_header.read = 1;
>> +
>> + msg[0].addr = client->addr;
>> + msg[0].flags = 0;
>> + msg[0].len = sizeof(cmd_header);
>> + msg[0].buf = (u8 *)&cmd_header;
>> +
>> + msg[1].addr = client->addr;
>> + msg[1].flags = I2C_M_RD;
>> + msg[1].len = len;
>> + msg[1].buf = (char *)buf;
>
> Again, please use u8 in place of char, as was done for the first
> element.
OK.
>
>> +
>> + ret = i2c_transfer(client->adapter, msg, 2);
>
> Please use ARRAY_SIZE(msg) above as you do below.
>
>> + if (ret != ARRAY_SIZE(msg)) {
>> + dev_err(&client->dev,
>> + "Failed reading usage %#x page %#x, error=%d\n",
>> + usage, page, ret);
>> + return -EIO;
>> + }
>
> This check papers over negative error codes that may have been returned
> by
> i2c_transfer(). For ret < 0 you should return ret, and only return -EIO
> for
> 0 <= ret < ARRAY_SIZE(msg).
>
> More importantly, however, if this device supports multiple transports
> and
> you expect SPI support can be added in the future, you really should
> use
> regmap throughout in order to avoid ripping up this driver later.
>
I have a doubt on wether or not regmap can be used for SPI as there is
some
specific padding required for SPI.
>> +
>> + return 0;
>> +}
>> +
>> +static int
>> +axiom_i2c_write(struct i2c_client *client, u8 usage, u8 page, u8
>> *buf, u16 len)
>> +{
>> + struct axiom_data *ts = i2c_get_clientdata(client);
>> + struct axiom_cmd_header cmd_header;
>> + struct i2c_msg msg[2];
>> + int ret;
>> +
>> + cmd_header.target_address = cpu_to_le16(usage_to_target_address(ts,
>> usage, page, 0));
>> + cmd_header.length = cpu_to_le16(len);
>> + cmd_header.read = 0;
>> +
>> + msg[0].addr = client->addr;
>> + msg[0].flags = 0;
>> + msg[0].len = sizeof(cmd_header);
>> + msg[0].buf = (u8 *)&cmd_header;
>> +
>> + msg[1].addr = client->addr;
>> + msg[1].flags = 0;
>> + msg[1].len = len;
>> + msg[1].buf = (char *)buf;
>> +
>> + ret = i2c_transfer(client->adapter, msg, 2);
>> + if (ret < 0) {
>> + dev_err(&client->dev,
>> + "Failed to write usage %#x page %#x, error=%d\n", usage,
>> + page, ret);
>> + return ret;
>> + }
>
> The error handling between your read and write wrappers is
> inconsistent;
> please see my comment above.
>
> Is there any reason i2c_master_send() cannot work here? I'm guessing
> the
> controller needs a repeated start in between the two messages?
>
Yes reads requires repeated starts between each messages.
For writes I could still use i2c_master_send() but what makes it more
relevant here ?
> For these kind of special requirements, it's helpful to add some
> comments
> as to why the HW calls for additional housekeeping.
>
OK.
>> +
>> + return 0;
>> +}
>> +
>> +/*
>> + * Decodes and populates the local Usage Table.
>> + * Given a buffer of data read from page 1 onwards of u31 from an
>> aXiom
>> + * device.
>> + */
>
> What is a usage table? These comments aren't helpful unless some of the
> underlying concepts are defined as well.
It's a set of registers regrouped in categories (data, configuration,
device and report).
I'll try to clarify it.
>
>> +static u32 axiom_populate_usage_table(struct axiom_data *ts, char
>> *rx_data)
>> +{
>> + u32 usage_id = 0;
>
> There is no need to initialize this iterator.
>
>> + u32 max_report_len = 0;
>> + struct axiom_devinfo *device_info;
>> + struct usage_entry *usage_table;
>> +
>> + device_info = &ts->devinfo;
>> + usage_table = ts->usage_table;
>> +
>> + for (usage_id = 0; usage_id < device_info->num_usages; usage_id++) {
>> + u16 offset = (usage_id * AXIOM_U31_BYTES_PER_USAGE);
>> + char id = rx_data[offset + 0];
>> + char start_page = rx_data[offset + 1];
>> + char num_pages = rx_data[offset + 2];
>
> Please consider whether you can use a packed struct for this decoding.
>
>> + u32 max_offset = ((rx_data[offset + 3] & AXIOM_PAGE_OFFSET_MASK) +
>> 1) * 2;
>> +
>> + if (!num_pages)
>> + usage_table[usage_id].is_report = true;
>> +
>> + /* Store the entry into the usage table */
>> + usage_table[usage_id].id = id;
>> + usage_table[usage_id].start_page = start_page;
>> + usage_table[usage_id].num_pages = num_pages;
>> +
>> + dev_dbg(ts->dev, "Usage %2u Info: %*ph\n", usage_id,
>> + AXIOM_U31_BYTES_PER_USAGE,
>> + &rx_data[offset]);
>
> Nit: this line break seems unnecessary.
>
>> +
>> + /* Identify the max report length the module will receive */
>> + if (usage_table[usage_id].is_report && max_offset > max_report_len)
>> + max_report_len = max_offset;
>> + }
>> + ts->usage_table_populated = true;
>> +
>> + return max_report_len;
>> +}
>> +
>> +/* Retrieve, store and print the axiom device information */
>
> This comment does not seem particularly helpful.
>
>> +static int axiom_discover(struct axiom_data *ts)
>> +{
>> + struct axiom_devinfo *devinfo = &ts->devinfo;
>> + struct device *dev = ts->dev;
>> + char *rx_data = ts->rx_buf;
>> + int ret;
>
> In input, variables that represent a negative error code (fail) or zero
> (pass)
> tend to be called 'error'.
>
>> +
>> + /*
>> + * Fetch the first page of usage u31 to get the
>> + * device information and the number of usages
>> + */
>> + ret = axiom_i2c_read(ts->client, AXIOM_DEVINFO_USAGE_ID, 0, rx_data,
>> + AXIOM_U31_PAGE0_LENGTH);
>> + if (ret)
>> + return ret;
>> +
>> + devinfo->bootmode = (rx_data[0] & AXIOM_U31_BOOTMODE_MASK);
>> + devinfo->device_id = ((rx_data[1] & AXIOM_PAGE_OFFSET_MASK) << 8) |
>> rx_data[0];
>> + devinfo->fw_minor = rx_data[2];
>> + devinfo->fw_major = rx_data[3];
>> + devinfo->fw_info_extra = rx_data[4];
>> + devinfo->bootloader_fw_minor = rx_data[6];
>> + devinfo->bootloader_fw_major = rx_data[7];
>> + devinfo->jedec_id = (rx_data[8]) | (rx_data[9] << 8);
>> + devinfo->num_usages = rx_data[10];
>> + devinfo->silicon_revision = rx_data[11];
>
> Opinions may vary here, but mine is that it is a waste of memory and
> time
> to read and parse all of this data, only to print it at debug level.
> Unless
> these variables are used elsewhere or reported to user space via sysfs,
> I
> would drop all of this. It seems like cruft leftover from a vendor
> driver.
>
> If you feel strongly about keeping these variables, then axiom_devinfo
> should
> be defined as a packed struct to prevent having to disect rx_data[]
> byte by
> byte. You should just read into &devinfo directly.
Ack thx.
>
>> +
>> + dev_dbg(dev, " Boot Mode: %s\n", ts->devinfo.bootmode ? "BLP" :
>> "TCP");
>> + dev_dbg(dev, " Device ID : %04x\n", ts->devinfo.device_id);
>> + dev_dbg(dev, " Firmware Rev : %02x.%02x\n", ts->devinfo.fw_major,
>> + ts->devinfo.fw_minor);
>> + dev_dbg(dev, " Bootloader Rev : %02x.%02x\n",
>> + ts->devinfo.bootloader_fw_major,
>> + ts->devinfo.bootloader_fw_minor);
>> + dev_dbg(dev, " FW Extra Info : %04x\n",
>> ts->devinfo.fw_info_extra);
>> + dev_dbg(dev, " Silicon : %02x\n", ts->devinfo.jedec_id);
>> + dev_dbg(dev, " Num Usages : %04x\n", ts->devinfo.num_usages);
>> +
>> + /* Read the second page of usage u31 to get the usage table */
>> + ret = axiom_i2c_read(ts->client, AXIOM_DEVINFO_USAGE_ID, 1, rx_data,
>> + (AXIOM_U31_BYTES_PER_USAGE * ts->devinfo.num_usages));
>> + if (ret)
>> + return ret;
>> +
>> + ts->max_report_len = axiom_populate_usage_table(ts, rx_data);
>> + dev_dbg(dev, "Max Report Length: %u\n", ts->max_report_len);
>> +
>> + return 0;
>> +}
>> +
>> +/*
>> + * Support function to axiom_process_u41_report.
>> + * Generates input-subsystem events for every target.
>> + * After calling this function the caller shall issue
>> + * a Sync to the input sub-system.
>> + */
>> +static bool
>> +axiom_process_u41_report_target(struct axiom_data *ts,
>> + struct axiom_target_report *target)
>> +{
>> + struct input_dev *input_dev = ts->input_dev;
>> + enum axiom_target_state current_state;
>> + struct u41_target *target_prev_state;
>> + struct device *dev = ts->dev;
>> + bool update = false;
>> + int slot;
>> +
>> + /* Verify the target index */
>> + if (target->index >= AXIOM_U41_MAX_TARGETS) {
>> + dev_dbg(dev, "Invalid target index! %u\n", target->index);
>> + return false;
>> + }
>> +
>> + target_prev_state = &ts->targets[target->index];
>> +
>> + current_state = TARGET_STATE_NOT_PRESENT;
>> +
>> + if (target->present) {
>> + if (target->z >= 0)
>> + current_state = TARGET_STATE_TOUCHING;
>> + else if (target->z > AXIOM_PROX_LEVEL && target->z < 0)
>> + current_state = TARGET_STATE_HOVER;
>> + else if (target->z AXIOM_PROX_LEVEL)
>> + current_state = TARGET_STATE_PROX;
>> + }
>> +
>> + if (target_prev_state->state == current_state &&
>> + target_prev_state->x == target->x &&
>> + target_prev_state->y == target->y &&
>> + target_prev_state->z == target->z) {
>> + return false;
>> + }
>> +
>> + slot = target->index;
>> +
>> + dev_dbg(dev, "U41 Target T%u, slot:%u present:%u, x:%u, y:%u,
>> z:%d\n",
>> + target->index, slot, target->present,
>> + target->x, target->y, target->z);
>> +
>> + switch (current_state) {
>> + case TARGET_STATE_NOT_PRESENT:
>> + case TARGET_STATE_PROX:
>> + if (target_prev_state->insert)
>> + break;
>> + update = true;
>> + target_prev_state->insert = false;
>> + input_mt_slot(input_dev, slot);
>> +
>> + if (!slot)
>> + input_report_key(input_dev, BTN_LEFT, 0);
>> +
>> + input_mt_report_slot_inactive(input_dev);
>> + /*
>> + * make sure the previous coordinates are
>> + * all off screen when the finger comes back
>> + */
>> + target->x = 65535;
>> + target->y = 65535;
>> + target->z = AXIOM_PROX_LEVEL;
>> + break;
>> + case TARGET_STATE_HOVER:
>> + case TARGET_STATE_TOUCHING:
>> + target_prev_state->insert = true;
>> + update = true;
>> + input_mt_slot(input_dev, slot);
>> + input_report_abs(input_dev, ABS_MT_TRACKING_ID, slot);
>> + input_report_abs(input_dev, ABS_MT_POSITION_X, target->x);
>> + input_report_abs(input_dev, ABS_X, target->x);
>> + input_report_abs(input_dev, ABS_MT_POSITION_Y, target->y);
>> + input_report_abs(input_dev, ABS_Y, target->y);
>> +
>> + if (current_state == TARGET_STATE_TOUCHING) {
>> + input_report_abs(input_dev, ABS_MT_DISTANCE, 0);
>> + input_report_abs(input_dev, ABS_DISTANCE, 0);
>> + input_report_abs(input_dev, ABS_MT_PRESSURE, target->z);
>> + input_report_abs(input_dev, ABS_PRESSURE, target->z);
>> + } else {
>> + input_report_abs(input_dev, ABS_MT_DISTANCE, -target->z);
>> + input_report_abs(input_dev, ABS_DISTANCE, -target->z);
>> + input_report_abs(input_dev, ABS_MT_PRESSURE, 0);
>> + input_report_abs(input_dev, ABS_PRESSURE, 0);
>> + }
>> +
>> + if (!slot)
>> + input_report_key(input_dev, BTN_LEFT, (current_state ==
>> + TARGET_STATE_TOUCHING));
>> + break;
>> + }
>> +
>> + target_prev_state->state = current_state;
>> + target_prev_state->x = target->x;
>> + target_prev_state->y = target->y;
>> + target_prev_state->z = target->z;
>> +
>> + if (update)
>> + input_mt_sync_frame(input_dev);
>> +
>> + return update;
>> +}
>> +
>> +/*
>> + * Take a raw buffer with u41 report data and decode it.
>> + * Also generate input events if needed.
>> + * rx_buf: ptr to a byte array [0]: Usage number [1]: Status LSB [2]:
>> Status MSB
>> + */
>> +static void axiom_process_u41_report(struct axiom_data *ts, char
>> *rx_buf)
>> +{
>> + struct input_dev *input_dev = ts->input_dev;
>> + struct axiom_target_report target;
>> + bool update_done = false;
>> + u16 target_status;
>> + u32 i;
>> +
>> + target_status = ((rx_buf[1]) | (rx_buf[2] << 8));
>> +
>> + for (i = 0; i < AXIOM_U41_MAX_TARGETS; i++) {
>> + char target_step = rx_buf[(i * 4)];
>> +
>> + target.index = i;
>> + target.present = ((target_status & (1 << i)) != 0) ? 1 : 0;
>> + target.x = ((target_step + 3) | ((target_step + 4) << 8));
>> + target.y = ((target_step + 5) | ((target_step + 6) << 8));
>> + target.z = (s8)(rx_buf[i + 43]);
>> + update_done |= axiom_process_u41_report_target(ts, &target);
>> + }
>> +
>> + if (update_done)
>> + input_sync(input_dev);
>> +}
>> +
>> +static void axiom_process_u46_report(struct axiom_data *ts, char
>> *rx_buf)
>> +{
>> + struct input_dev *input_dev = ts->input_dev;
>> + u32 event_value;
>> + u16 aux_value;
>> + u32 i = 0;
>> +
>> + for (i = 0; i < AXIOM_U46_AUX_CHANNELS; i++) {
>> + char target_step = rx_buf[(i * 2)];
>> +
>> + aux_value = (((target_step + 2) << 8) | (target_step + 1)) &
>> AXIOM_U46_AUX_MASK;
>> + event_value = (i << 16) | (aux_value);
>> + input_event(input_dev, EV_MSC, MSC_RAW, event_value);
>> + }
>> +
>> + input_mt_sync(input_dev);
>> + input_sync(input_dev);
>> +}
>
> Please forgive me in case I am simply slow to understand, but I really
> do
> not think we can accept this kind of encapsulation. We have multiple
> calls
> to input_mt_sync() and input_sync() spread across different functions,
> one
> of which uses a 'done' flag to make a decision. It's also unclear what
> 'u41'
> and 'u46' represent. The current implementation is too confusing to
> review
> effectively IMO.
>
> What we ultimately want to see here is one homogenous event handler
> where
> MT slots are processed, followed by one call to input_mt_sync(), itself
> followed by one call to input_sync() after any additional events (e.g.
> keys)
> are processed. It's certainly OK to break out some processing into
> helper
> functions, but we ultimately want to see one entry point into the input
> core.
>
> Please consider whether there is a more maintainable way to organize
> this
> processing; it seems more complex than other touchscreen drivers.
OK I'll rework this in v4.
>
>> +
>> +/*
>> + * Validates the crc and demultiplexes the axiom reports to the
>> appropriate
>> + * report handler
>> + */
>> +static void axiom_handle_events(struct axiom_data *ts)
>> +{
>> + char *report_data = ts->rx_buf;
>> + struct device *dev = ts->dev;
>> + char usage = report_data[1];
>> + u16 crc_report;
>> + u16 crc_calc;
>> + char len;
>> +
>> + axiom_i2c_read(ts->client, AXIOM_REPORT_USAGE_ID, 0, report_data,
>> ts->max_report_len);
>
> If this read fails due to a HW problem, the rest of this function will
> act
> upon garbage data.
>
>> +
>> + if ((report_data[0] & AXIOM_COMMS_OVERFLOW_MASK) != 0)
>> + ts->report_overflow_counter++;
>> +
>> + len = (report_data[0] & AXIOM_COMMS_REPORT_LEN_MASK) * 2;
>> + if (!len) {
>> + dev_err(dev, "Zero length report discarded.\n");
>> + return;
>
> Please make the return type of helper functions like
> axiom_handle_events() of
> type int, and consider -ENODATA for this particular condition.
>
> Even though callers to axiom_handle_events() are void at this time, you
> should
> start out with the driver being flexible in case it grows over time.
>
>> + }
>> +
>> + dev_dbg(dev, "Payload Data %*ph\n", len, report_data);
>> +
>> + /* Validate the report CRC */
>> + crc_report = (report_data[len - 1] << 8) | (report_data[len - 2]);
>> + /* Length is in 16 bit words and remove the size of the CRC16 itself
>> */
>> + crc_calc = crc16(0, report_data, (len - 2));
>> +
>> + if (crc_calc != crc_report) {
>> + dev_err(dev,
>> + "CRC mismatch! Expected: %#x, Calculated CRC: %#x.\n",
>> + crc_report, crc_calc);
>> + return;
>
> Return -EINVAL after promoting the return type to int.
OK.
>
>> + }
>> +
>> + switch (usage) {
>> + case AXIOM_USAGE_2DCTS_REPORT_ID:
>> + axiom_process_u41_report(ts, &report_data[1]);
>> + break;
>> +
>> + case AXIOM_USAGE_2AUX_REPORT_ID:
>> + /* This is an aux report (force) */
>> + axiom_process_u46_report(ts, &report_data[1]);
>> + break;
>> +
>> + case AXIOM_USAGE_2HB_REPORT_ID:
>> + /* This is a heartbeat report */
>> + break;
>
> Since 'usage' is read from the HW, we need a default branch for
> handling
> unexpected values.
Ack thx.
>
>> + }
>> +
>> + ts->report_counter++;
>
> This counter appears to be unused.
>
Fixed thx.
>> +}
>> +
>> +static void axiom_i2c_poll(struct input_dev *input_dev)
>> +{
>> + struct axiom_data *ts = input_get_drvdata(input_dev);
>> +
>> + axiom_handle_events(ts);
>> +}
>> +
>> +static irqreturn_t axiom_irq(int irq, void *dev_id)
>> +{
>> + struct axiom_data *ts = dev_id;
>> +
>> + axiom_handle_events(ts);
>> +
>> + return IRQ_HANDLED;
>> +}
>> +
>> +static void axiom_reset(struct gpio_desc *reset_gpio)
>> +{
>> + gpiod_set_value_cansleep(reset_gpio, 1);
>> + usleep_range(1000, 2000);
>> + gpiod_set_value_cansleep(reset_gpio, 0);
>> + msleep(100);
>> +}
>> +
>> +/* Rebaseline the touchscreen, effectively zero-ing it */
>
> What does it mean to rebaseline the touchscreen? I'm guessing it means
> to null out or normalize pressure? Please consider a less
> colloquialized
> function name.
>
> Out of curiousity, what happens if the user's hand happens to be on the
> touch surface at the time you call axiom_rebaseline()? Does the device
> recover on its own?
This indeed force the controller to measure a new capacitance by zeoring
it,
I don't really know if it's harmful, yet the documentation says
rebaseline is
for tuning or debug purpose.
I believe this is done for testing the communication.
>
>> +static int axiom_rebaseline(struct axiom_data *ts)
>> +{
>> + char buffer[8] = {};
>
> Are you expecting each element to be initialized to zero?
Yes.
>
>> +
>> + buffer[0] = AXIOM_REBASELINE_CMD;
>> +
>> + return axiom_i2c_write(ts->client, AXIOM_REPORT_USAGE_ID, 0, buffer,
>> sizeof(buffer));
>> +}
>> +
>> +static int axiom_i2c_probe(struct i2c_client *client)
>> +{
>> + struct device *dev = &client->dev;
>> + struct input_dev *input_dev;
>> + struct axiom_data *ts;
>> + int ret;
>> + int target;
>> +
>> + ts = devm_kzalloc(dev, sizeof(*ts), GFP_KERNEL);
>> + if (!ts)
>> + return -ENOMEM;
>> +
>> + ts->client = client;
>> + i2c_set_clientdata(client, ts);
>> + ts->dev = dev;
>> +
>> + ts->irq_gpio = devm_gpiod_get_optional(dev, "irq", GPIOD_IN);
>> + if (IS_ERR(ts->irq_gpio))
>> + return dev_err_probe(dev, PTR_ERR(ts->irq_gpio), "failed to get irq
>> GPIO");
>> +
>> + ts->reset_gpio = devm_gpiod_get_optional(dev, "reset",
>> GPIOD_OUT_HIGH);
>> + if (IS_ERR(ts->reset_gpio))
>> + return dev_err_probe(dev, PTR_ERR(ts->reset_gpio), "failed to get
>> reset GPIO\n");
>> +
>> + axiom_reset(ts->reset_gpio);
>
> We shouldn't call axiom_reset() if reset_gpio is NULL. Even though the
> calls to gpiod_set_value_cansleep() will bail safely, there is no
> reason
> to make the CPU sleep for 100 ms if the device was not actually reset.
>
>> +
>> + if (ts->irq_gpio) {
>> + ret = devm_request_threaded_irq(dev, client->irq, NULL,
>> + axiom_irq, 0, dev_name(dev), ts);
>
> Did you mean to set IRQF_ONESHOT?
No
>
>> + if (ret < 0)
>> + return dev_err_probe(dev, ret, "Failed to request threaded
>> IRQ\n");
>> + }
>
> This is a kernel panic waiting to happen, as the interrupt handler
> (which can
> post input events) is declared before the input device has been
> allocated.
>
> Normally you want to set up interrupts last, after all resources have
> been
> initialized and the HW has been configured.
Ack thx.
>
>> +
>> + ret = axiom_discover(ts);
>> + if (ret)
>> + return dev_err_probe(dev, ret, "Failed touchscreen discover\n");
>> +
>> + ret = axiom_rebaseline(ts);
>> + if (ret)
>> + return dev_err_probe(dev, ret, "Failed touchscreen
>> re-baselining\n");
>> +
>> + input_dev = devm_input_allocate_device(ts->dev);
>> + if (!input_dev)
>> + return -ENOMEM;
>> +
>> + input_dev->name = "TouchNetix aXiom Touchscreen";
>> + input_dev->phys = "input/axiom_ts";
>> +
>> + /* Single Touch */
>> + input_set_abs_params(input_dev, ABS_X, 0, 65535, 0, 0);
>> + input_set_abs_params(input_dev, ABS_Y, 0, 65535, 0, 0);
>
> You don't need to explicitly declare support for single-contact axes;
> input_mt_init_slots() does this for us.
Indeed, we set INPUT_MT_DIRECT.
>
>> +
>> + /* Multi Touch */
>> + /* Min, Max, Fuzz (expected noise in px, try 4?) and Flat */
>> + input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, 65535, 0, 0);
>> + /* Min, Max, Fuzz (expected noise in px, try 4?) and Flat */
>> + input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0, 65535, 0, 0);
>> + input_set_abs_params(input_dev, ABS_MT_TOOL_TYPE, 0, MT_TOOL_MAX, 0,
>> 0);
>> + input_set_abs_params(input_dev, ABS_MT_DISTANCE, 0, 127, 0, 0);
>> + input_set_abs_params(input_dev, ABS_MT_PRESSURE, 0, 127, 0, 0);
>> +
>> + /* Registers the axiom device as a touchscreen instead of as a mouse
>> pointer */
>> + input_mt_init_slots(input_dev, AXIOM_U41_MAX_TARGETS,
>> INPUT_MT_DIRECT);
>
> Please check the return value of input_mt_init_slots().
OK.
>
>> +
>> + input_set_capability(input_dev, EV_KEY, BTN_LEFT);
>
> Why to hard-code the key to BTN_LEFT as opposed to making it
> configurable via
> device tree?
Not sure about this, I will check with the vendors, try to clarify why.
>
>> +
>> + /* Enables the raw data for up to 4 force channels to be sent to the
>> input subsystem */
>> + set_bit(EV_REL, input_dev->evbit);
>> + set_bit(EV_MSC, input_dev->evbit);
>> + /* Declare that we support "RAW" Miscellaneous events */
>> + set_bit(MSC_RAW, input_dev->mscbit);
>
> The driver is not posting any REL events. Can you clarify what is
> represented
> by MSC events?
Same here.
>
>> +
>> + if (!ts->irq_gpio) {
>> + ret = input_setup_polling(input_dev, axiom_i2c_poll);
>> + if (ret)
>> + return dev_err_probe(ts->dev, ret, "Unable to set up polling
>> mode\n");
>
> Nit: extraneous space.
>
>> + input_set_poll_interval(input_dev, POLL_INTERVAL_DEFAULT_MS);
>> + }
>> +
>> + ts->input_dev = input_dev;
>> + input_set_drvdata(ts->input_dev, ts);
>> +
>> + /* Ensure that all reports are initialised to not be present. */
>> + for (target = 0; target < AXIOM_U41_MAX_TARGETS; target++)
>> + ts->targets[target].state = TARGET_STATE_NOT_PRESENT;
>> +
>> + ret = input_register_device(input_dev);
>> +
>
> Nit: unnecessary NL.
>
>> + if (ret)
>> + return dev_err_probe(ts->dev, ret,
>> + "Could not register with Input Sub-system.\n");
>
> Nit: alignment.
>
>> +
>> + return 0;
>> +}
>> +
>> +static void axiom_i2c_remove(struct i2c_client *client)
>> +{
>> + struct axiom_data *ts = i2c_get_clientdata(client);
>> +
>> + input_unregister_device(ts->input_dev);
>> +}
>
> This remove callback is unnecessary. So long as input_dev was allocated
> using
> a device-managed function, it will be unregistered automatically.
>
>> +
>> +static const struct i2c_device_id axiom_i2c_id_table[] = {
>> + { "axiom-ax54a" },
>> + {},
>
> Nit: no need for a trailing comma after the sentinel, as no line would
> ever be
> added beneath it.
>
>> +};
>> +
>
> Nit: unnecessary NL.
>
>> +MODULE_DEVICE_TABLE(i2c, axiom_i2c_id_table);
>> +
>> +static const struct of_device_id axiom_i2c_of_match[] = {
>> + { .compatible = "touchnetix,axiom-ax54a", },
>> + {}
>> +};
>> +
>
> And here.
>
>> +MODULE_DEVICE_TABLE(of, axiom_i2c_of_match);
>> +
>> +static struct i2c_driver axiom_i2c_driver = {
>> + .driver = {
>> + .name = "axiom",
>> + .of_match_table = axiom_i2c_of_match,
>> + },
>> + .id_table = axiom_i2c_id_table,
>> + .probe = axiom_i2c_probe,
>> + .remove = axiom_i2c_remove,
>> +};
>> +
>> +module_i2c_driver(axiom_i2c_driver);
>
> And here.
>
>> +
>> +MODULE_AUTHOR("Bart Prescott <bartp@baasheep.co.uk>");
>> +MODULE_AUTHOR("Pedro Torruella <pedro.torruella@touchnetix.com>");
>> +MODULE_AUTHOR("Mark Satterthwaite
>> <mark.satterthwaite@touchnetix.com>");
>> +MODULE_AUTHOR("Hannah Rossiter <hannah.rossiter@touchnetix.com>");
>> +MODULE_AUTHOR("Kamel Bouhara <kamel.bouhara@bootlin.com>");
>> +MODULE_DESCRIPTION("TouchNetix aXiom touchscreen I2C bus driver");
>> +MODULE_LICENSE("GPL");
>> --
>> 2.25.1
>>
>
> Kind regards,
> Jeff LaBundy
^ permalink raw reply
* Re: How to disable the touchscreen so it does not draw power?
From: Hans de Goede @ 2023-11-13 12:12 UTC (permalink / raw)
To: Paul Menzel, Dmitry Torokhov; +Cc: linux-input
In-Reply-To: <99dcbb8d-06a8-4c32-ab03-94bc3bf5658f@redhat.com>
Hi,
On 11/13/23 13:08, Hans de Goede wrote:
> Hi,
>
> On 11/13/23 09:39, Paul Menzel wrote:
>> Dear Linux folks,
>>
>>
>> On a Dell XPS 13 9360 with a touchscreen, when it’s connect to an external monitor, that is set up as the only display, the touchscreen – although the internal monitor is disabled (in GNOME) – is still active and draws power according to PowerTOP:
>>
>> $ uname -a
>> Linux abreu 6.5.0-4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.5.10-1 (2023-11-03) x86_64 GNU/Linux
>> $ lsusb | grep Touchscreen
>> Bus 001 Device 003: ID 04f3:2234 Elan Microelectronics Corp. Touchscreen
>> $ sudo LANG= powertop
>> Power est. Usage Events/s Category Description
>> 9.39 W 100.0% Device USB device: DELL DA300 (Bizlink)
>> 1.39 W 100.0% Device USB device: Touchscreen (ELAN)
>>
>> Is there a way to disable the touchscreen, so it does not draw power?
>>
>> `sudo modprobe -r hid-multitouch` also affects the touchpad, which is not wanted.
>
> Ideally userspace would close the /dev/input/event node belonging to the touchscreen when the internal panel is off. Please file an issue for that against libinput (to add the plumbing for this to libinput, ultimately the wayland-compositor, e.g. mutter, then needs to use that plumbing).
>
> For now you can manually detach the driver by doing (as root):
>
> cd /sys/bus/usb/drivers/usbhid/
> ls
>
> The ls will show a bunch of usb devices, e.g. :
>
> 1-5.1.1:1.0
> 1-5.1.1:1.1
> 1-5.4.1:1.0
> 1-5.4.1:1.1
>
> You can then unbind the driver from a specific usb device by doing, e.g.:
>
> echo '1-5.1.1:1.0' > unbind
> echo '1-5.1.1:1.1' > unbind
>
> to find out which usb device is which look at:
>
> lsusb
>
> and
>
> lsusb -t
>
>
> The first one gives you the bus + dev info, which you can then match up with the lsusb -t output to get the bus-port.port.port (in my example) address you need by following the tree.
>
> E.g. for the 1-5.1.1 device (with 2 HID interfaces in my case):
>
> lsusb:
> Bus 001 Device 007: ID 046d:c534 Logitech, Inc. Unifying Receiver
>
> lsusb -t:
> /: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/10p, 480M
> |__ Port 005: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
> |__ Port 001: Dev 004, If 0, Class=Hub, Driver=hub/2p, 480M
> |__ Port 001: Dev 007, If 0, Class=Human Interface Device, Driver=usbhid, 12M
> |__ Port 001: Dev 007, If 1, Class=Human Interface Device, Driver=usbhid, 12M
>
> Notice Bus 001 and Dev(ice) 007 match up in both outputs and the ports going from the USB root hub to the unifying receiver are: 005 001 001 leading to: 1-5.1.1 as usb device address.
>
> You also need to enable autosuspend on the USB device for it to suspend when no driver is attached:
>
> cd /sys/bus/usb/devices/1-5.1.1
> echo auto > power/control
Actually I think just doing this last step is enough to put the USB connection to sleep (assuming the touchscreen supports USB remote wake) even if the driver is still loaded and the USB connection is what uses the most power. Note you will see the biggest energy usage win if you enable autosuspend on all USB devices, so that the controller itself can go to sleep.
This might not work if you are using a USB kbd/mouse on the same controller though, enabling autosuspend / remote wakeup on those does not always work well (e.g. big delay in key-presses or key-presses getting lost)
Regards,
Hans
^ permalink raw reply
* Re: How to disable the touchscreen so it does not draw power?
From: Hans de Goede @ 2023-11-13 12:08 UTC (permalink / raw)
To: Paul Menzel, Dmitry Torokhov; +Cc: linux-input
In-Reply-To: <978f5891-5167-4a07-884a-4ba464af30f3@molgen.mpg.de>
Hi,
On 11/13/23 09:39, Paul Menzel wrote:
> Dear Linux folks,
>
>
> On a Dell XPS 13 9360 with a touchscreen, when it’s connect to an external monitor, that is set up as the only display, the touchscreen – although the internal monitor is disabled (in GNOME) – is still active and draws power according to PowerTOP:
>
> $ uname -a
> Linux abreu 6.5.0-4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.5.10-1 (2023-11-03) x86_64 GNU/Linux
> $ lsusb | grep Touchscreen
> Bus 001 Device 003: ID 04f3:2234 Elan Microelectronics Corp. Touchscreen
> $ sudo LANG= powertop
> Power est. Usage Events/s Category Description
> 9.39 W 100.0% Device USB device: DELL DA300 (Bizlink)
> 1.39 W 100.0% Device USB device: Touchscreen (ELAN)
>
> Is there a way to disable the touchscreen, so it does not draw power?
>
> `sudo modprobe -r hid-multitouch` also affects the touchpad, which is not wanted.
Ideally userspace would close the /dev/input/event node belonging to the touchscreen when the internal panel is off. Please file an issue for that against libinput (to add the plumbing for this to libinput, ultimately the wayland-compositor, e.g. mutter, then needs to use that plumbing).
For now you can manually detach the driver by doing (as root):
cd /sys/bus/usb/drivers/usbhid/
ls
The ls will show a bunch of usb devices, e.g. :
1-5.1.1:1.0
1-5.1.1:1.1
1-5.4.1:1.0
1-5.4.1:1.1
You can then unbind the driver from a specific usb device by doing, e.g.:
echo '1-5.1.1:1.0' > unbind
echo '1-5.1.1:1.1' > unbind
to find out which usb device is which look at:
lsusb
and
lsusb -t
The first one gives you the bus + dev info, which you can then match up with the lsusb -t output to get the bus-port.port.port (in my example) address you need by following the tree.
E.g. for the 1-5.1.1 device (with 2 HID interfaces in my case):
lsusb:
Bus 001 Device 007: ID 046d:c534 Logitech, Inc. Unifying Receiver
lsusb -t:
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/10p, 480M
|__ Port 005: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 001: Dev 004, If 0, Class=Hub, Driver=hub/2p, 480M
|__ Port 001: Dev 007, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 001: Dev 007, If 1, Class=Human Interface Device, Driver=usbhid, 12M
Notice Bus 001 and Dev(ice) 007 match up in both outputs and the ports going from the USB root hub to the unifying receiver are: 005 001 001 leading to: 1-5.1.1 as usb device address.
You also need to enable autosuspend on the USB device for it to suspend when no driver is attached:
cd /sys/bus/usb/devices/1-5.1.1
echo auto > power/control
Regards,
Hans
^ permalink raw reply
* [PATCH v1 1/1] treewide, spi: Get rid of SPI_MASTER_HALF_DUPLEX
From: Andy Shevchenko @ 2023-11-13 11:12 UTC (permalink / raw)
To: Jonathan Cameron, Yang Yingliang, Andy Shevchenko,
Greg Kroah-Hartman, Mark Brown, linux-input, linux-kernel,
linux-mmc, netdev, linux-usb, linux-spi
Cc: Dmitry Torokhov, Ulf Hansson, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni
The SPI_MASTER_HALF_DUPLEX is the legacy name of a definition
for a half duplex flag. Since all others had been replaced with
the respective SPI_CONTROLLER prefix get rid of the last one
as well. There is no functional change intended.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/input/rmi4/rmi_spi.c | 2 +-
drivers/mmc/host/mmc_spi.c | 2 +-
drivers/net/ethernet/micrel/ks8851_spi.c | 4 ++--
drivers/usb/gadget/udc/max3420_udc.c | 2 +-
include/linux/spi/spi.h | 2 --
5 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/input/rmi4/rmi_spi.c b/drivers/input/rmi4/rmi_spi.c
index 852aeb0b2c07..07c866f42296 100644
--- a/drivers/input/rmi4/rmi_spi.c
+++ b/drivers/input/rmi4/rmi_spi.c
@@ -375,7 +375,7 @@ static int rmi_spi_probe(struct spi_device *spi)
struct rmi_device_platform_data *spi_pdata = spi->dev.platform_data;
int error;
- if (spi->master->flags & SPI_MASTER_HALF_DUPLEX)
+ if (spi->master->flags & SPI_CONTROLLER_HALF_DUPLEX)
return -EINVAL;
rmi_spi = devm_kzalloc(&spi->dev, sizeof(struct rmi_spi_xport),
diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c
index cc333ad67cac..b0cccef4cfbf 100644
--- a/drivers/mmc/host/mmc_spi.c
+++ b/drivers/mmc/host/mmc_spi.c
@@ -1322,7 +1322,7 @@ static int mmc_spi_probe(struct spi_device *spi)
/* We rely on full duplex transfers, mostly to reduce
* per-transfer overheads (by making fewer transfers).
*/
- if (spi->master->flags & SPI_MASTER_HALF_DUPLEX)
+ if (spi->master->flags & SPI_CONTROLLER_HALF_DUPLEX)
return -EINVAL;
/* MMC and SD specs only seem to care that sampling is on the
diff --git a/drivers/net/ethernet/micrel/ks8851_spi.c b/drivers/net/ethernet/micrel/ks8851_spi.c
index 70bc7253454f..7c41623dac90 100644
--- a/drivers/net/ethernet/micrel/ks8851_spi.c
+++ b/drivers/net/ethernet/micrel/ks8851_spi.c
@@ -156,7 +156,7 @@ static void ks8851_rdreg(struct ks8851_net *ks, unsigned int op,
txb[0] = cpu_to_le16(op | KS_SPIOP_RD);
- if (kss->spidev->master->flags & SPI_MASTER_HALF_DUPLEX) {
+ if (kss->spidev->master->flags & SPI_CONTROLLER_HALF_DUPLEX) {
msg = &kss->spi_msg2;
xfer = kss->spi_xfer2;
@@ -180,7 +180,7 @@ static void ks8851_rdreg(struct ks8851_net *ks, unsigned int op,
ret = spi_sync(kss->spidev, msg);
if (ret < 0)
netdev_err(ks->netdev, "read: spi_sync() failed\n");
- else if (kss->spidev->master->flags & SPI_MASTER_HALF_DUPLEX)
+ else if (kss->spidev->master->flags & SPI_CONTROLLER_HALF_DUPLEX)
memcpy(rxb, trx, rxl);
else
memcpy(rxb, trx + 2, rxl);
diff --git a/drivers/usb/gadget/udc/max3420_udc.c b/drivers/usb/gadget/udc/max3420_udc.c
index 2d57786d3db7..89e8cf2a2a7d 100644
--- a/drivers/usb/gadget/udc/max3420_udc.c
+++ b/drivers/usb/gadget/udc/max3420_udc.c
@@ -1201,7 +1201,7 @@ static int max3420_probe(struct spi_device *spi)
int err, irq;
u8 reg[8];
- if (spi->master->flags & SPI_MASTER_HALF_DUPLEX) {
+ if (spi->master->flags & SPI_CONTROLLER_HALF_DUPLEX) {
dev_err(&spi->dev, "UDC needs full duplex to work\n");
return -EINVAL;
}
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
index 255a0562aea5..7b4baff63c5c 100644
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -1638,8 +1638,6 @@ spi_transfer_is_last(struct spi_controller *ctlr, struct spi_transfer *xfer)
/* Compatibility layer */
#define spi_master spi_controller
-#define SPI_MASTER_HALF_DUPLEX SPI_CONTROLLER_HALF_DUPLEX
-
#define spi_master_get_devdata(_ctlr) spi_controller_get_devdata(_ctlr)
#define spi_master_set_devdata(_ctlr, _data) \
spi_controller_set_devdata(_ctlr, _data)
--
2.43.0.rc1.1.gbec44491f096
^ permalink raw reply related
* Re: [PATCH v3 14/42] power: reset: Add a driver for the ep93xx reset
From: Andy Shevchenko @ 2023-11-13 10:22 UTC (permalink / raw)
To: Alexander Sverdlin
Cc: Andy Shevchenko, nikita.shubin, Hartley Sweeten,
Lennert Buytenhek, Russell King, Lukasz Majewski, Linus Walleij,
Bartosz Golaszewski, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Michael Turquette, Stephen Boyd, Daniel Lezcano,
Thomas Gleixner, Alessandro Zummo, Alexandre Belloni,
Wim Van Sebroeck, Guenter Roeck, Sebastian Reichel,
Thierry Reding, Uwe Kleine-König, Mark Brown,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Vinod Koul, Miquel Raynal, Richard Weinberger,
Vignesh Raghavendra, Damien Le Moal, Sergey Shtylyov,
Dmitry Torokhov, Arnd Bergmann, Olof Johansson, soc,
Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Michael Peters,
Kris Bahnsen, linux-arm-kernel, linux-kernel, linux-gpio,
devicetree, linux-clk, linux-rtc, linux-watchdog, linux-pm,
linux-pwm, linux-spi, netdev, dmaengine, linux-mtd, linux-ide,
linux-input, alsa-devel
In-Reply-To: <fcfdc6f05926db494ea0105e5523cc21ecfdf4e7.camel@gmail.com>
On Mon, Nov 13, 2023 at 12:07 PM Alexander Sverdlin
<alexander.sverdlin@gmail.com> wrote:
> On Fri, 2023-07-21 at 19:37 +0300, Andy Shevchenko wrote:
> > > + /* Issue the reboot */
> ^^^^^^^^^^^^^^^^^^^^^^
> This is the relevant comment, one can extend it, but looks already quite
> informative considering EP93XX_SYSCON_DEVCFG_SWRST register name.
This does not explain the necessity of the mdelay() below.
> But Nikita would be able to include more verbose comment if
> you'd have a suggestion.
Please,add one.
> > > + ep93xx_devcfg_set_clear(priv->map, EP93XX_SYSCON_DEVCFG_SWRST, 0x00);
> > > + ep93xx_devcfg_set_clear(priv->map, 0x00, EP93XX_SYSCON_DEVCFG_SWRST);
> >
> >
> > > + mdelay(1000);
> >
> > Atomic?! Such a huge delay must be explained, esp. why it's atomic.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply
* Re: [PATCH v3 07/42] soc: Add SoC driver for Cirrus ep93xx
From: Andy Shevchenko @ 2023-11-13 10:19 UTC (permalink / raw)
To: Alexander Sverdlin
Cc: Andy Shevchenko, nikita.shubin, Hartley Sweeten,
Lennert Buytenhek, Russell King, Lukasz Majewski, Linus Walleij,
Bartosz Golaszewski, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Michael Turquette, Stephen Boyd, Daniel Lezcano,
Thomas Gleixner, Alessandro Zummo, Alexandre Belloni,
Wim Van Sebroeck, Guenter Roeck, Sebastian Reichel,
Thierry Reding, Uwe Kleine-König, Mark Brown,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Vinod Koul, Miquel Raynal, Richard Weinberger,
Vignesh Raghavendra, Damien Le Moal, Sergey Shtylyov,
Dmitry Torokhov, Arnd Bergmann, Olof Johansson, soc,
Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Michael Peters,
Kris Bahnsen, linux-arm-kernel, linux-kernel, linux-gpio,
devicetree, linux-clk, linux-rtc, linux-watchdog, linux-pm,
linux-pwm, linux-spi, netdev, dmaengine, linux-mtd, linux-ide,
linux-input, alsa-devel
In-Reply-To: <c49f77492cacc5a30079720af58a9f2fca761609.camel@gmail.com>
On Sat, Nov 11, 2023 at 11:33 PM Alexander Sverdlin
<alexander.sverdlin@gmail.com> wrote:
> On Fri, 2023-07-21 at 17:13 +0300, Andy Shevchenko wrote:
...
> > > + spin_lock_irqsave(&ep93xx_swlock, flags);
> > > +
> > > + regmap_read(map, EP93XX_SYSCON_DEVCFG, &val);
> > > + val &= ~clear_bits;
> > > + val |= set_bits;
> > > + regmap_write(map, EP93XX_SYSCON_SWLOCK, EP93XX_SWLOCK_MAGICK);
> > > + regmap_write(map, EP93XX_SYSCON_DEVCFG, val);
> >
> > Is this sequence a must?
> > I.o.w. can you first supply magic and then update devcfg?
> >
> > > + spin_unlock_irqrestore(&ep93xx_swlock, flags);
...
> > > +void ep93xx_swlocked_update_bits(struct regmap *map, unsigned int reg,
> > > + unsigned int mask, unsigned int val)
> > Same Q as above.
>
> EP93xx User Manual [1] has most verbose description of SWLock for ADC
> block:
> "Writing 0xAA to this register will unlock all locked registers until the
> next block access. The ARM lock instruction prefix should be used for the
> two consequtive write cycles when writing to locked chip registers."
>
> One may conclude that RmW (two accesses to the particular block) sequence
> is not appropriate.
It's not obvious to me. The terms "block access" and "block cycle"
occur only once in the very same section that describes ADCSWLock. The
meaning of these terms is not fully understandable. So, assuming that
you have tried it differently and it indeed doesn't work, let's go
with this one.
> [1] https://cdn.embeddedts.com/resource-attachments/ts-7000_ep9301-ug.pdf
--
With Best Regards,
Andy Shevchenko
^ 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