ANDROID: fix up abi change in struct sdhci_host

In commit 57ee7bc4c6 ("mmc: sdhci: Fix voltage switch delay"), two new
fields were added to struct sdhci_host, drv_type and reinit_uhs.  Use
the ABI padding we have in place in this structure for these new fields,
and make reinit_uhs a bitfield, not a boolean, preserving a bit more
space for any future changes that might happen.

As we are using an ANDROID_KABI_RESERVE() macro, we also need to update
the .xml file with the new signature change in the structure:

type 'struct sdhci_host' changed
  member 'union { struct { u8 reinit_uhs; u8 reserve01; u8 drv_type; u16 reserve02; u32 reserve03; }; struct { u64 android_kabi_reserved1; }; union { }; }' was added
  member 'u64 android_kabi_reserved1' was removed

Bug: 161946584
Fixes: 57ee7bc4c6 ("mmc: sdhci: Fix voltage switch delay")
Change-Id: Ia4fb8523495ce24a54cae9652452ad9e24f8bf66
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Greg Kroah-Hartman
2023-01-27 08:55:04 +00:00
parent ebd1f8013d
commit 20de784185
2 changed files with 1303 additions and 1266 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -527,8 +527,6 @@ struct sdhci_host {
unsigned int clock; /* Current clock (MHz) */
u8 pwr; /* Current voltage */
u8 drv_type; /* Current UHS-I driver type */
bool reinit_uhs; /* Force UHS-related re-initialization */
bool runtime_suspended; /* Host is runtime suspended */
bool bus_on; /* Bus power prevents runtime suspend */
@@ -617,7 +615,18 @@ struct sdhci_host {
u64 data_timeout;
ANDROID_KABI_RESERVE(1);
/*
* ANDROID:
* drv_type and reinit_uhs are here to preserve the ABI changes in commit 57ee7bc4c60a
* ("mmc: sdhci: Fix voltage switch delay")
*/
ANDROID_KABI_USE(1, struct {
u8 reinit_uhs :1;
u8 reserve01 :7;
u8 drv_type;
u16 reserve02;
u32 reserve03;
});
unsigned long private[] ____cacheline_aligned;
};