Blob Blame History Raw
From 7addb4724db6fb1cdf02f5a04cbd296d9b53c26e Mon Sep 17 00:00:00 2001
From: Oliver Neukum <oneukum@suse.de>
Date: Thu, 7 Feb 2013 17:29:03 +0100
Subject: [PATCH 2/3] Add a void* suse_kabi_padding placeholder to some USB
 structures
Patch-mainline: Never, kabi
References: fate#312013

---
 include/linux/usb.h        |    7 +++++++
 include/linux/usb/hcd.h    |    2 ++
 include/linux/usb/usbnet.h |    2 ++
 3 files changed, 11 insertions(+)

--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -256,6 +256,7 @@ struct usb_interface {
 	struct device dev;		/* interface specific device info */
 	struct device *usb_dev;
 	struct work_struct reset_ws;	/* for resets in atomic context */
+	void *suse_kabi_padding;
 };
 #define	to_usb_interface(d) container_of(d, struct usb_interface, dev)
 
@@ -401,6 +402,7 @@ struct usb_host_bos {
 	struct usb_ssp_cap_descriptor	*ssp_cap;
 	struct usb_ss_container_id_descriptor	*ss_id;
 	struct usb_ptm_cap_descriptor	*ptm_cap;
+	void *suse_kabi_padding;
 };
 
 int __usb_get_extra_descriptor(char *buffer, unsigned size,
@@ -465,6 +467,7 @@ struct usb_bus {
 	struct mon_bus *mon_bus;	/* non-null when associated */
 	int monitored;			/* non-zero when monitored */
 #endif
+	void *suse_kabi_padding;
 };
 
 struct usb_dev_state;
@@ -688,6 +691,8 @@ struct usb_device {
 	struct usb3_lpm_parameters u1_params;
 	struct usb3_lpm_parameters u2_params;
 	unsigned lpm_disable_count;
+
+	void *suse_kabi_padding;
 };
 #define	to_usb_device(d) container_of(d, struct usb_device, dev)
 
@@ -1180,6 +1185,7 @@ struct usb_driver {
 
 	struct usb_dynids dynids;
 	struct usbdrv_wrap drvwrap;
+	void *suse_kabi_padding;
 	unsigned int no_dynamic_id:1;
 	unsigned int supports_autosuspend:1;
 	unsigned int disable_hub_initiated_lpm:1;
@@ -1559,6 +1565,7 @@ struct urb {
 	usb_complete_t complete;	/* (in) completion routine */
 	struct usb_iso_packet_descriptor iso_frame_desc[0];
 					/* (in) ISO ONLY */
+	void *suse_kabi_padding;
 };
 
 /* ----------------------------------------------------------------------- */
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
@@ -211,6 +211,7 @@ struct usb_hcd {
 	 * (ohci 32, uhci 1024, ehci 256/512/1024).
 	 */
 
+	void *suse_kabi_padding;
 	/* The HC driver's private data is stored at the end of
 	 * this structure.
 	 */
@@ -399,6 +400,7 @@ struct hc_driver {
 	/* Call for power on/off the port if necessary */
 	int	(*port_power)(struct usb_hcd *hcd, int portnum, bool enable);
 
+	void *suse_kabi_padding;
 };
 
 static inline int hcd_giveback_urb_in_bh(struct usb_hcd *hcd)
--- a/include/linux/usb/usbnet.h
+++ b/include/linux/usb/usbnet.h
@@ -82,6 +82,7 @@ struct usbnet {
 #		define EVENT_LINK_CHANGE	11
 #		define EVENT_SET_RX_MODE	12
 #		define EVENT_NO_IP_ALIGN	13
+	void	*suse_kabi_padding;
 	u32			rx_speed;	/* in bps - NOT Mbps */
 	u32			tx_speed;	/* in bps - NOT Mbps */
 };
@@ -173,6 +174,7 @@ struct driver_info {
 	int		out;		/* tx endpoint */
 
 	unsigned long	data;		/* Misc driver specific data */
+	void *suse_kabi_padding;
 };
 
 /* Minidrivers are just drivers using the "usbnet" core as a powerful