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;
};