ANDROID: add kabi padding for structures for the android12 release

There are a lot of different structures that need to have a "frozen" abi
for the next 5+ years.  Add padding to a lot of them in order to be able
to handle any future changes that might be needed due to LTS and
security fixes that might come up.

It's a best guess, based on what has happened in the past from the
5.4.0..5.4.129 release (1 1/2 years).  Yes, past changes do not mean
that future changes will also be needed in the same area, but that is a
hint that those areas are both well maintained and looked after, and
there have been previous problems found in them.

Also the list of structures that are being required based on OEM usage
in the android/ symbol lists were consulted as that's a larger list than
what has been changed in the past.

Hopefully we caught everything we need to worry about, only time will
tell...

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I880bbcda0628a7459988eeb49d18655522697664
This commit is contained in:
Greg Kroah-Hartman
2021-07-02 15:58:26 +02:00
committed by Todd Kjos
parent 429c78f9b0
commit 37485a3025
84 changed files with 606 additions and 0 deletions

View File

@@ -12,6 +12,7 @@
#include <linux/device.h>
#include <linux/notifier.h>
#include <linux/types.h>
#include <linux/android_kabi.h>
#define SCMI_MAX_STR_SIZE 16
#define SCMI_MAX_NUM_RATES 16
@@ -82,6 +83,8 @@ struct scmi_clk_proto_ops {
u64 rate);
int (*enable)(const struct scmi_protocol_handle *ph, u32 clk_id);
int (*disable)(const struct scmi_protocol_handle *ph, u32 clk_id);
ANDROID_KABI_RESERVE(1);
};
/**
@@ -125,6 +128,8 @@ struct scmi_perf_proto_ops {
bool (*fast_switch_possible)(const struct scmi_protocol_handle *ph,
struct device *dev);
bool (*power_scale_mw_get)(const struct scmi_protocol_handle *ph);
ANDROID_KABI_RESERVE(1);
};
/**
@@ -150,6 +155,8 @@ struct scmi_power_proto_ops {
u32 state);
int (*state_get)(const struct scmi_protocol_handle *ph, u32 domain,
u32 *state);
ANDROID_KABI_RESERVE(1);
};
/**
@@ -326,6 +333,8 @@ struct scmi_sensor_info {
unsigned int resolution;
int exponent;
struct scmi_range_attrs scalar_attrs;
ANDROID_KABI_RESERVE(1);
};
/*
@@ -461,6 +470,8 @@ struct scmi_sensor_proto_ops {
u32 sensor_id, u32 *sensor_config);
int (*config_set)(const struct scmi_protocol_handle *ph,
u32 sensor_id, u32 sensor_config);
ANDROID_KABI_RESERVE(1);
};
/**
@@ -481,6 +492,8 @@ struct scmi_reset_proto_ops {
int (*reset)(const struct scmi_protocol_handle *ph, u32 domain);
int (*assert)(const struct scmi_protocol_handle *ph, u32 domain);
int (*deassert)(const struct scmi_protocol_handle *ph, u32 domain);
ANDROID_KABI_RESERVE(1);
};
/**
@@ -625,6 +638,8 @@ struct scmi_handle {
void (*devm_put_protocol)(struct scmi_device *sdev, u8 proto);
const struct scmi_notify_ops *notify_ops;
ANDROID_KABI_RESERVE(1);
};
enum scmi_std_protocol {
@@ -653,6 +668,8 @@ struct scmi_device {
const char *name;
struct device dev;
struct scmi_handle *handle;
ANDROID_KABI_RESERVE(1);
};
#define to_scmi_dev(d) container_of(d, struct scmi_device, dev)