ANDROID: fix up gpio change in 5.10.111

Commit 7e88a50704 ("gpio: Restrict usage of GPIO chip irq members
before initialization") causes an abi break, so use one of our reserved
fields to handle the change properly.

This causes the .xml file to need to be updated as libabigail notices
that the structure has changed a bit, but this is to be expected:

Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 2 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct gpio_chip at driver.h:362:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct gpio_irq_chip' of 'gpio_chip::irq' changed:
      type size hasn't changed
      there are data member changes:
        data member u64 android_kabi_reserved1 at offset 2304 (in bits) became anonymous data member 'union {bool initialized; struct {u64 android_kabi_reserved1;}; union {};}'
      1339 impacted interfaces
  1339 impacted interfaces

'struct gpio_irq_chip at driver.h:32:1' changed:
  details were reported earlier

Bug: 161946584
Fixes: 7e88a50704 ("gpio: Restrict usage of GPIO chip irq members before initialization")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I010117f847936389e3a3d21d1119b52ee35005fd
This commit is contained in:
Greg Kroah-Hartman
2022-04-25 11:49:48 +02:00
parent 5dadf6321c
commit 904c5c08bb
2 changed files with 359 additions and 350 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -225,15 +225,6 @@ struct gpio_irq_chip {
unsigned long *valid_mask, unsigned long *valid_mask,
unsigned int ngpios); unsigned int ngpios);
/**
* @initialized:
*
* Flag to track GPIO chip irq member's initialization.
* This flag will make sure GPIO chip irq members are not used
* before they are initialized.
*/
bool initialized;
/** /**
* @valid_mask: * @valid_mask:
* *
@@ -277,7 +268,14 @@ struct gpio_irq_chip {
*/ */
void (*irq_mask)(struct irq_data *data); void (*irq_mask)(struct irq_data *data);
ANDROID_KABI_RESERVE(1); /**
* @initialized:
*
* Flag to track GPIO chip irq member's initialization.
* This flag will make sure GPIO chip irq members are not used
* before they are initialized.
*/
ANDROID_KABI_USE(1, bool initialized);
ANDROID_KABI_RESERVE(2); ANDROID_KABI_RESERVE(2);
}; };