diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 9a022caacf9361a322f84ea6e838541556bfc804..2a1b79a299fb51e9c540b3851abcf12d515c6589 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -30,6 +30,7 @@ #include #include +#include /** * struct drm_crtc_commit - track modeset commits on a CRTC @@ -239,6 +240,9 @@ struct drm_private_state_funcs { */ void (*atomic_print_state)(struct drm_printer *p, const struct drm_private_state *state); + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** @@ -338,6 +342,8 @@ struct drm_private_state { * @obj: backpointer to the private object */ struct drm_private_obj *obj; + KABI_RESERVE(1) + KABI_RESERVE(2) }; struct __drm_private_objs_state { diff --git a/include/drm/drm_client.h b/include/drm/drm_client.h index c0a14b40c039fcff90848d5f3d068452ed070d3a..7bbc9d5bcd763a5c040fb779b6dd4ca94e230afc 100644 --- a/include/drm/drm_client.h +++ b/include/drm/drm_client.h @@ -10,6 +10,7 @@ #include #include +#include struct drm_client_dev; struct drm_device; @@ -114,6 +115,9 @@ struct drm_client_dev { * before. It is usually not tried again. */ bool hotplug_failed; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; int drm_client_init(struct drm_device *dev, struct drm_client_dev *client, @@ -153,6 +157,9 @@ struct drm_client_buffer { * @fb: DRM framebuffer */ struct drm_framebuffer *fb; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; struct drm_client_buffer * diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index d300fde6c1a47a0330dc17d17725c26fa206235d..d304ec8dd06bed57bdf62ac846f137e0c78b771e 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -33,6 +33,7 @@ #include #include +#include struct drm_connector_helper_funcs; struct drm_modeset_acquire_ctx; @@ -321,6 +322,9 @@ struct drm_hdmi_info { /** @dsc_cap: DSC capabilities of the sink */ struct drm_hdmi_dsc_cap dsc_cap; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** @@ -816,6 +820,9 @@ struct drm_display_info { * @quirks: EDID based quirks. Internal to EDID parsing. */ u32 quirks; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; int drm_display_info_set_bus_formats(struct drm_display_info *info, @@ -876,6 +883,8 @@ struct drm_tv_connector_state { unsigned int overscan; unsigned int saturation; unsigned int hue; + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** @@ -1335,6 +1344,9 @@ struct drm_connector_funcs { * Allows connectors to create connector-specific debugfs files. */ void (*debugfs_init)(struct drm_connector *connector, struct dentry *root); + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** @@ -1481,6 +1493,9 @@ struct drm_cmdline_mode { * Did the mode have a preferred TV mode? */ bool tv_mode_specified; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** @@ -1876,6 +1891,9 @@ struct drm_connector { /** @hdr_sink_metadata: HDR Metadata Information read from sink */ struct hdr_sink_metadata hdr_sink_metadata; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; #define obj_to_connector(x) container_of(x, struct drm_connector, base) diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 8b48a1974da3143c7de176e6fe3e01da9c8fc9d8..4476b01f063dc0f3dc7cb3fef65e8867e06ff7cb 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -34,6 +34,7 @@ #include #include #include +#include struct drm_connector; struct drm_device; @@ -385,6 +386,9 @@ struct drm_crtc_state { /** @state: backpointer to global drm_atomic_state */ struct drm_atomic_state *state; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** @@ -1175,6 +1179,9 @@ struct drm_crtc { * Initialized via drm_self_refresh_helper_init(). */ struct drm_self_refresh_data *self_refresh_data; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** diff --git a/include/drm/drm_device.h b/include/drm/drm_device.h index 7cf4afae2e790e71d58fa654194831564e24570b..2f2e2c069753602ef3f01c606617f65e7a06a283 100644 --- a/include/drm/drm_device.h +++ b/include/drm/drm_device.h @@ -8,6 +8,7 @@ #include #include +#include struct drm_driver; struct drm_minor; @@ -391,6 +392,9 @@ struct drm_device { bool irq_enabled; int irq; #endif + + KABI_RESERVE(1) + KABI_RESERVE(2) }; #endif diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h index 9813fa759b75d4dd39350a6eb687fbf455a64aed..fe52bff7eba564180caadbb6d2066d5b7ec4848e 100644 --- a/include/drm/drm_drv.h +++ b/include/drm/drm_drv.h @@ -34,6 +34,8 @@ #include +#include + struct drm_file; struct drm_gem_object; struct drm_master; @@ -452,6 +454,9 @@ struct drm_driver { void (*disable_vblank)(struct drm_device *dev, unsigned int pipe); int dev_priv_size; #endif + + KABI_RESERVE(1) + KABI_RESERVE(2) }; void *__devm_drm_dev_alloc(struct device *parent, diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index 375737fd6c36ed19941da0c85224bf667cd575c1..38dc5ea44198292dc6f048e952dc1d8a75d3ff38 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -37,6 +37,8 @@ struct drm_fb_helper; #include +#include + /** * struct drm_fb_helper_surface_size - describes fbdev size and scanout surface size * @fb_width: fbdev width @@ -99,6 +101,9 @@ struct drm_fb_helper_funcs { * 0 on success, or an error code otherwise. */ int (*fb_dirty)(struct drm_fb_helper *helper, struct drm_clip_rect *clip); + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** @@ -206,6 +211,9 @@ struct drm_fb_helper { */ struct fb_deferred_io fbdefio; #endif + + KABI_RESERVE(1) + KABI_RESERVE(2) }; static inline struct drm_fb_helper * diff --git a/include/drm/drm_file.h b/include/drm/drm_file.h index 010239392adfb92477edfe12a95a1275e9b0b1bb..18b3a8389e40953a98686035e4935080dee522cb 100644 --- a/include/drm/drm_file.h +++ b/include/drm/drm_file.h @@ -38,6 +38,8 @@ #include +#include + struct dma_fence; struct drm_file; struct drm_device; @@ -83,6 +85,9 @@ struct drm_minor { struct list_head debugfs_list; struct mutex debugfs_lock; /* Protects debugfs_list. */ + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** @@ -374,6 +379,9 @@ struct drm_file { #if IS_ENABLED(CONFIG_DRM_LEGACY) unsigned long lock_count; /* DRI1 legacy lock count */ #endif + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h index 532ae78ca747e6c42bcb7c9621cb290f21655bea..adfd1b891d5ebb263a018412b234988ed9c34f29 100644 --- a/include/drm/drm_fourcc.h +++ b/include/drm/drm_fourcc.h @@ -25,6 +25,8 @@ #include #include +#include + /** * DRM_FORMAT_MAX_PLANES - maximum number of planes a DRM format can have */ @@ -141,6 +143,9 @@ struct drm_format_info { /** @is_color_indexed: Is it a color-indexed format? */ bool is_color_indexed; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** diff --git a/include/drm/drm_gem.h b/include/drm/drm_gem.h index bc9f6aa2f3fec3b0b9d7adff424928b0e09d3bd8..4b7ec8eab65c78cc6e95c335f3a4151d3b28bed7 100644 --- a/include/drm/drm_gem.h +++ b/include/drm/drm_gem.h @@ -41,6 +41,8 @@ #include +#include + struct iosys_map; struct drm_gem_object; @@ -216,6 +218,9 @@ struct drm_gem_object_funcs { * This is optional but necessary for mmap support. */ const struct vm_operations_struct *vm_ops; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** @@ -421,6 +426,9 @@ struct drm_gem_object { * The current LRU list that the GEM object is on. */ struct drm_gem_lru *lru; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** diff --git a/include/linux/energy_model.h b/include/linux/energy_model.h index b9caa01dfac48594e463e954a3bbd65a5b8ad96e..0091bf129f772d41341b8f4c26cf7163c818eb3d 100644 --- a/include/linux/energy_model.h +++ b/include/linux/energy_model.h @@ -9,6 +9,7 @@ #include #include #include +#include /** * struct em_perf_state - Performance state of a performance domain @@ -24,6 +25,8 @@ struct em_perf_state { unsigned long power; unsigned long cost; unsigned long flags; + KABI_RESERVE(1) + KABI_RESERVE(2) }; /* @@ -56,6 +59,8 @@ struct em_perf_domain { struct em_perf_state *table; int nr_perf_states; unsigned long flags; + KABI_RESERVE(1) + KABI_RESERVE(2) unsigned long cpus[]; }; diff --git a/include/linux/input.h b/include/linux/input.h index 49790c1bd2c43e21615fda95cbf3febb22ba6da0..124432f404df9db27d5c00690e45c08ab97bedde 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -20,6 +20,7 @@ #include #include #include +#include struct input_dev_poller; @@ -209,6 +210,9 @@ struct input_dev { ktime_t timestamp[INPUT_CLK_MAX]; bool inhibited; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; #define to_input_dev(d) container_of(d, struct input_dev, dev) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 4a1dc88ddbff9a6bfec51b1b62f3cd2cc3758463..9aac2ab156ca2072a67ebbac4e95b3628d9ab275 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -13,6 +13,8 @@ #include #include #include +#include + #include #include @@ -289,6 +291,8 @@ struct irq_affinity { unsigned int set_size[IRQ_AFFINITY_MAX_SETS]; void (*calc_sets)(struct irq_affinity *, unsigned int nvecs); void *priv; + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** @@ -650,6 +654,8 @@ struct tasklet_struct void (*callback)(struct tasklet_struct *t); }; unsigned long data; + KABI_RESERVE(1) + KABI_RESERVE(2) }; #define DECLARE_TASKLET(name, _callback) \ diff --git a/include/linux/irq.h b/include/linux/irq.h index 90081afa10ce529f053d97d094f65722c80b9efe..a5a904a1304f5ab299fa415e002ee9178696843e 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -160,6 +161,9 @@ struct irq_common_data { #ifdef CONFIG_GENERIC_IRQ_IPI unsigned int ipi_offset; #endif + KABI_RESERVE(1) + KABI_RESERVE(2) + }; /** @@ -548,6 +552,8 @@ struct irq_chip { void (*irq_nmi_teardown)(struct irq_data *data); unsigned long flags; + KABI_RESERVE(1) + KABI_RESERVE(2) }; /* @@ -1023,6 +1029,8 @@ struct irq_chip_type { u32 type; u32 mask_cache_priv; u32 *mask_cache; + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h index d9451d456a7333fe3b1af852bc3590bb179ce6dd..fea156ae551c8bc61346eec9d5bc7bb2b878efab 100644 --- a/include/linux/irqdesc.h +++ b/include/linux/irqdesc.h @@ -5,7 +5,7 @@ #include #include #include - +#include /* * Core internal functions to deal with irq descriptors */ @@ -105,6 +105,8 @@ struct irq_desc { #ifdef CONFIG_HARDIRQS_SW_RESEND struct hlist_node resend_node; #endif + KABI_RESERVE(1) + KABI_RESERVE(2) } ____cacheline_internodealigned_in_smp; #ifdef CONFIG_SPARSE_IRQ diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 51c254b7fec273550f17742e53bf28923cc561c8..e9f4bb2b76768dbda979c10b0a72ab2fd93cf10c 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -36,6 +36,7 @@ #include #include #include +#include struct device_node; struct fwnode_handle; @@ -175,6 +176,8 @@ struct irq_domain { unsigned int revmap_size; struct radix_tree_root revmap_tree; struct irq_data __rcu *revmap[]; + KABI_RESERVE(1) + KABI_RESERVE(2) }; /* Irq domain flags */ diff --git a/include/linux/msi.h b/include/linux/msi.h index ddace8c34dcf958edae65de2858bf924adb9d19e..6c23f778edddde2b02fa3155d99e780862ec5cb0 100644 --- a/include/linux/msi.h +++ b/include/linux/msi.h @@ -26,6 +26,7 @@ #include #include #include +#include #include @@ -128,6 +129,8 @@ struct pci_msi_desc { u8 mask_pos; void __iomem *mask_base; }; + KABI_RESERVE(1) + KABI_RESERVE(2) }; /** @@ -203,6 +206,10 @@ struct msi_desc { struct pci_msi_desc pci; struct msi_desc_data data; }; + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) }; /* diff --git a/include/linux/pm.h b/include/linux/pm.h index 629c1633bbd00d0b01174287f55fc03e6025288a..f80ebfcdee0851967d181fad00fb38d271e4469d 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -16,6 +16,7 @@ #include #include #include +#include /* * Callbacks for platform drivers to implement. @@ -600,6 +601,10 @@ enum rpm_status { RPM_RESUMING, RPM_SUSPENDED, RPM_SUSPENDING, + RPM_KABI_RESERVE_1, + RPM_KABI_RESERVE_2, + RPM_KABI_RESERVE_3, + RPM_KABI_RESERVE_4, }; /* @@ -640,6 +645,9 @@ struct pm_subsys_data { #ifdef CONFIG_PM_GENERIC_DOMAINS struct pm_domain_data *domain_data; #endif + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /* @@ -720,6 +728,9 @@ struct dev_pm_info { struct pm_subsys_data *subsys_data; /* Owned by the subsystem. */ void (*set_latency_tolerance)(struct device *, s32); struct dev_pm_qos *qos; + + KABI_RESERVE(1) + KABI_RESERVE(2) }; extern int dev_pm_get_subsys_data(struct device *dev); diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h index f776fb93eaa0d7c7acd2372af48445e70c72560c..0928055376bc3987d284cfbb7b9f4769130f5c1b 100644 --- a/include/linux/pm_domain.h +++ b/include/linux/pm_domain.h @@ -18,6 +18,7 @@ #include #include #include +#include /* * Flags to control the behaviour of a genpd. @@ -167,6 +168,11 @@ struct generic_pm_domain { }; }; + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + }; static inline struct generic_pm_domain *pd_to_genpd(struct dev_pm_domain *pd) diff --git a/include/linux/stop_machine.h b/include/linux/stop_machine.h index ea7a74ea7389318627bae6f5410576e00135ca76..bd81cbe553ccd391485f649ec44bc23947bebd38 100644 --- a/include/linux/stop_machine.h +++ b/include/linux/stop_machine.h @@ -6,6 +6,7 @@ #include #include #include +#include /* * stop_cpu[s]() is simplistic per-cpu maximum priority cpu @@ -27,6 +28,8 @@ struct cpu_stop_work { unsigned long caller; void *arg; struct cpu_stop_done *done; + KABI_RESERVE(1) + KABI_RESERVE(2) }; int stop_one_cpu(unsigned int cpu, cpu_stop_fn_t fn, void *arg);