Blob Blame History Raw
From: Petr Tesarik <ptesarik@suse.com>
Subject: kABI: mask changes made by basic protected virtualization support
Patch-mainline: never, kabi
References: jsc#SLE-6197 FATE#327012 bsc#1140559 LTC#173150

Upstream commit 37db8985b2116c89a3cbaf87083a02f83afaba5b redesigns some
fields in struct ccw_device_private. This is a private struct and should
never be used by third-party code, so simply revert the changes for
genksyms.

The same upstream commit also changes some symvers by including
linux/dma-mapping.h from drivers/s390/cio/device.c. This provides full
definition of a few dma-related structs that were previously incomplete.

Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
 drivers/s390/cio/device.c |    2 ++
 drivers/s390/cio/io_sch.h |   10 ++++++++++
 2 files changed, 12 insertions(+)

--- a/drivers/s390/cio/device.c
+++ b/drivers/s390/cio/device.c
@@ -25,7 +25,9 @@
 #include <linux/timer.h>
 #include <linux/kernel_stat.h>
 #include <linux/sched/signal.h>
+#ifndef __GENKSYMS__
 #include <linux/dma-mapping.h>
+#endif
 
 #include <asm/ccwdev.h>
 #include <asm/cio.h>
--- a/drivers/s390/cio/io_sch.h
+++ b/drivers/s390/cio/io_sch.h
@@ -165,7 +165,15 @@ struct ccw_device_private {
 	} __attribute__((packed)) flags;
 	unsigned long intparm;	/* user interruption parameter */
 	struct qdio_irq *qdio_data;
+#ifdef __GENKSYMS__
+	struct irb irb;		/* device status */
+#endif
 	int async_kill_io_rc;
+#ifdef __GENKSYMS__
+	struct senseid senseid;	/* SenseID info */
+	struct pgid pgid[8];	/* path group IDs per chpid*/
+	struct ccw1 iccws[2];	/* ccws for SNID/SID/SPGID commands */
+#endif
 	struct work_struct todo_work;
 	enum cdev_todo todo;
 	wait_queue_head_t wait_q;
@@ -174,8 +182,10 @@ struct ccw_device_private {
 	struct list_head cmb_list;	/* list of measured devices */
 	u64 cmb_start_time;		/* clock value of cmb reset */
 	void *cmb_wait;			/* deferred cmb enable/disable */
+#ifndef __GENKSYMS__
 	struct gen_pool *dma_pool;
 	struct ccw_device_dma_area *dma_area;
+#endif
 	enum interruption_class int_class;
 };