From 904c5c08bb412ba6c92bc528cde7101a1305b119 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 25 Apr 2022 11:49:48 +0200 Subject: [PATCH] ANDROID: fix up gpio change in 5.10.111 Commit 7e88a50704b0 ("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: 7e88a50704b0 ("gpio: Restrict usage of GPIO chip irq members before initialization") Signed-off-by: Greg Kroah-Hartman Change-Id: I010117f847936389e3a3d21d1119b52ee35005fd --- android/abi_gki_aarch64.xml | 691 ++++++++++++++++++------------------ include/linux/gpio/driver.h | 18 +- 2 files changed, 359 insertions(+), 350 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index bf7839d8ee33..18b0e2ba121b 100755 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -9030,12 +9030,12 @@ - + - + - + @@ -10318,9 +10318,9 @@ - + - + @@ -14296,9 +14296,9 @@ - + - + @@ -16427,12 +16427,12 @@ - + - + - + @@ -21146,9 +21146,9 @@ - + - + @@ -24102,12 +24102,12 @@ - + - + - + @@ -24999,10 +24999,10 @@ - + - + @@ -37926,9 +37926,9 @@ - + - + @@ -39561,24 +39561,24 @@ - + - + - + - + - + - + - + @@ -40525,132 +40525,132 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -53013,15 +53013,15 @@ - + - + - + - + @@ -60310,18 +60310,18 @@ - + - + - + - + - + @@ -60563,9 +60563,9 @@ - + - + @@ -60642,18 +60642,18 @@ - + - + - + - + - + @@ -61044,12 +61044,12 @@ - + - + - + @@ -69028,6 +69028,17 @@ + + + + + + + + + + + @@ -86448,7 +86459,7 @@ - + @@ -107200,9 +107211,9 @@ - + - + @@ -113727,9 +113738,9 @@ - - - + + + @@ -113804,14 +113815,14 @@ - - - + + + - - - + + + @@ -118093,12 +118104,12 @@ - - - - - - + + + + + + @@ -119317,10 +119328,10 @@ - - - - + + + + @@ -119464,8 +119475,8 @@ - - + + @@ -119967,14 +119978,14 @@ - - + + - - + + @@ -119986,16 +119997,16 @@ - - + + - - + + - - + + @@ -120031,9 +120042,9 @@ - - - + + + @@ -120059,19 +120070,19 @@ - - - + + + - - - - + + + + - - + + @@ -120090,9 +120101,9 @@ - - - + + + @@ -120103,27 +120114,27 @@ - - - + + + - - - + + + - - + + - - - + + + @@ -120201,42 +120212,42 @@ - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + @@ -122472,9 +122483,9 @@ - - - + + + @@ -122489,9 +122500,9 @@ - - - + + + @@ -122872,10 +122883,10 @@ - - - - + + + + @@ -127011,10 +127022,10 @@ - - - - + + + + @@ -127194,12 +127205,12 @@ - - - - - - + + + + + + @@ -127856,12 +127867,12 @@ - - - - - - + + + + + + @@ -127869,20 +127880,20 @@ - - - - + + + + - - - + + + - - - + + + @@ -127894,9 +127905,9 @@ - - - + + + @@ -127909,111 +127920,111 @@ - - - + + + - - + + - - - + + + - - + + - + + + + + + - - - - - - - - - + + + + - - - - - - - - - + - - + + - - + + - - + + + + + + + + + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + @@ -132582,53 +132593,53 @@ - - - - + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - + + - - + + - - - + + + - - - + + + - - - + + + @@ -132636,14 +132647,14 @@ - - - + + + - - - + + + @@ -136346,12 +136357,12 @@ - - - - - - + + + + + + @@ -141846,11 +141857,11 @@ - - - - - + + + + + @@ -144093,22 +144104,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -144176,23 +144187,23 @@ - - - - + + + + - - - - + + + + - - - - - + + + + + diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h index 394c54527272..c5585bcf53a5 100644 --- a/include/linux/gpio/driver.h +++ b/include/linux/gpio/driver.h @@ -225,15 +225,6 @@ struct gpio_irq_chip { unsigned long *valid_mask, 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: * @@ -277,7 +268,14 @@ struct gpio_irq_chip { */ 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); };