[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] pc-bios/s390-ccw: Get rid of the the __u* types
From: |
Claudio Imbrenda |
Subject: |
Re: [PATCH] pc-bios/s390-ccw: Get rid of the the __u* types |
Date: |
Tue, 27 Jun 2023 13:58:05 +0200 |
On Tue, 27 Jun 2023 13:41:01 +0200
Thomas Huth <thuth@redhat.com> wrote:
> Using types starting with double underscores should be avoided since these
> names are marked as reserved by the C standard. The corresponding Linux
> kernel header file has also been changed accordingly a long time ago:
>
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/diff/drivers/s390/cio/cio.h?id=cd6b4f27b9bb2a
>
> So we should get rid of the __u* in the s390-ccw bios now finally, too.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> ---
> Based-on: <20230510143925.4094-4-quintela@redhat.com>
>
> pc-bios/s390-ccw/cio.h | 232 ++++++++++++++++++------------------
> pc-bios/s390-ccw/s390-ccw.h | 4 -
> 2 files changed, 116 insertions(+), 120 deletions(-)
>
> diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h
> index efeb449572..c977a52b50 100644
> --- a/pc-bios/s390-ccw/s390-ccw.h
> +++ b/pc-bios/s390-ccw/s390-ccw.h
> @@ -17,10 +17,6 @@ typedef unsigned char u8;
> typedef unsigned short u16;
> typedef unsigned int u32;
> typedef unsigned long long u64;
> -typedef unsigned char __u8;
> -typedef unsigned short __u16;
> -typedef unsigned int __u32;
> -typedef unsigned long long __u64;
>
> #define true 1
> #define false 0
> diff --git a/pc-bios/s390-ccw/cio.h b/pc-bios/s390-ccw/cio.h
> index 88a88adfd2..8b18153deb 100644
> --- a/pc-bios/s390-ccw/cio.h
> +++ b/pc-bios/s390-ccw/cio.h
> @@ -17,32 +17,32 @@
> * path management control word
> */
> struct pmcw {
> - __u32 intparm; /* interruption parameter */
> - __u32 qf:1; /* qdio facility */
> - __u32 w:1;
> - __u32 isc:3; /* interruption subclass */
> - __u32 res5:3; /* reserved zeros */
> - __u32 ena:1; /* enabled */
> - __u32 lm:2; /* limit mode */
> - __u32 mme:2; /* measurement-mode enable */
> - __u32 mp:1; /* multipath mode */
> - __u32 tf:1; /* timing facility */
> - __u32 dnv:1; /* device number valid */
> - __u32 dev:16; /* device number */
> - __u8 lpm; /* logical path mask */
> - __u8 pnom; /* path not operational mask */
> - __u8 lpum; /* last path used mask */
> - __u8 pim; /* path installed mask */
> - __u16 mbi; /* measurement-block index */
> - __u8 pom; /* path operational mask */
> - __u8 pam; /* path available mask */
> - __u8 chpid[8]; /* CHPID 0-7 (if available) */
> - __u32 unused1:8; /* reserved zeros */
> - __u32 st:3; /* subchannel type */
> - __u32 unused2:18; /* reserved zeros */
> - __u32 mbfc:1; /* measurement block format control */
> - __u32 xmwme:1; /* extended measurement word mode enable */
> - __u32 csense:1; /* concurrent sense; can be enabled ...*/
> + u32 intparm; /* interruption parameter */
> + u32 qf:1; /* qdio facility */
> + u32 w:1;
> + u32 isc:3; /* interruption subclass */
> + u32 res5:3; /* reserved zeros */
> + u32 ena:1; /* enabled */
> + u32 lm:2; /* limit mode */
> + u32 mme:2; /* measurement-mode enable */
> + u32 mp:1; /* multipath mode */
> + u32 tf:1; /* timing facility */
> + u32 dnv:1; /* device number valid */
> + u32 dev:16; /* device number */
> + u8 lpm; /* logical path mask */
> + u8 pnom; /* path not operational mask */
> + u8 lpum; /* last path used mask */
> + u8 pim; /* path installed mask */
> + u16 mbi; /* measurement-block index */
> + u8 pom; /* path operational mask */
> + u8 pam; /* path available mask */
> + u8 chpid[8]; /* CHPID 0-7 (if available) */
> + u32 unused1:8; /* reserved zeros */
> + u32 st:3; /* subchannel type */
> + u32 unused2:18; /* reserved zeros */
> + u32 mbfc:1; /* measurement block format control */
> + u32 xmwme:1; /* extended measurement word mode enable */
> + u32 csense:1; /* concurrent sense; can be enabled ...*/
> /* ... per MSCH, however, if facility */
> /* ... is not installed, this results */
> /* ... in an operand exception. */
> @@ -50,24 +50,24 @@ struct pmcw {
>
> /* Target SCHIB configuration. */
> struct schib_config {
> - __u64 mba;
> - __u32 intparm;
> - __u16 mbi;
> - __u32 isc:3;
> - __u32 ena:1;
> - __u32 mme:2;
> - __u32 mp:1;
> - __u32 csense:1;
> - __u32 mbfc:1;
> + u64 mba;
> + u32 intparm;
> + u16 mbi;
> + u32 isc:3;
> + u32 ena:1;
> + u32 mme:2;
> + u32 mp:1;
> + u32 csense:1;
> + u32 mbfc:1;
> } __attribute__ ((packed));
>
> struct scsw {
> - __u16 flags;
> - __u16 ctrl;
> - __u32 cpa;
> - __u8 dstat;
> - __u8 cstat;
> - __u16 count;
> + u16 flags;
> + u16 ctrl;
> + u32 cpa;
> + u8 dstat;
> + u8 cstat;
> + u16 count;
> } __attribute__ ((packed));
>
> /* Function Control */
> @@ -117,42 +117,42 @@ struct scsw {
> typedef struct schib {
> struct pmcw pmcw; /* path management control word */
> struct scsw scsw; /* subchannel status word */
> - __u64 mba; /* measurement block address */
> - __u8 mda[4]; /* model dependent area */
> + u64 mba; /* measurement block address */
> + u8 mda[4]; /* model dependent area */
> } __attribute__ ((packed, aligned(4))) Schib;
>
> typedef struct subchannel_id {
> union {
> struct {
> - __u16 cssid:8;
> - __u16 reserved:4;
> - __u16 m:1;
> - __u16 ssid:2;
> - __u16 one:1;
> + u16 cssid:8;
> + u16 reserved:4;
> + u16 m:1;
> + u16 ssid:2;
> + u16 one:1;
> };
> - __u16 sch_id;
> + u16 sch_id;
> };
> - __u16 sch_no;
> + u16 sch_no;
> } __attribute__ ((packed, aligned(4))) SubChannelId;
>
> struct chsc_header {
> - __u16 length;
> - __u16 code;
> + u16 length;
> + u16 code;
> } __attribute__((packed));
>
> typedef struct chsc_area_sda {
> struct chsc_header request;
> - __u8 reserved1:4;
> - __u8 format:4;
> - __u8 reserved2;
> - __u16 operation_code;
> - __u32 reserved3;
> - __u32 reserved4;
> - __u32 operation_data_area[252];
> + u8 reserved1:4;
> + u8 format:4;
> + u8 reserved2;
> + u16 operation_code;
> + u32 reserved3;
> + u32 reserved4;
> + u32 operation_data_area[252];
> struct chsc_header response;
> - __u32 reserved5:4;
> - __u32 format2:4;
> - __u32 reserved6:24;
> + u32 reserved5:4;
> + u32 format2:4;
> + u32 reserved6:24;
> } __attribute__((packed)) ChscAreaSda;
>
> /*
> @@ -160,37 +160,37 @@ typedef struct chsc_area_sda {
> */
> struct tpi_info {
> struct subchannel_id schid;
> - __u32 intparm; /* interruption parameter */
> - __u32 adapter_IO:1;
> - __u32 reserved2:1;
> - __u32 isc:3;
> - __u32 reserved3:12;
> - __u32 int_type:3;
> - __u32 reserved4:12;
> + u32 intparm; /* interruption parameter */
> + u32 adapter_IO:1;
> + u32 reserved2:1;
> + u32 isc:3;
> + u32 reserved3:12;
> + u32 int_type:3;
> + u32 reserved4:12;
> } __attribute__ ((packed, aligned(4)));
>
> /* channel command word (format 0) */
> typedef struct ccw0 {
> - __u8 cmd_code;
> - __u32 cda:24;
> - __u32 chainData:1;
> - __u32 chain:1;
> - __u32 sli:1;
> - __u32 skip:1;
> - __u32 pci:1;
> - __u32 ida:1;
> - __u32 suspend:1;
> - __u32 mida:1;
> - __u8 reserved;
> - __u16 count;
> + u8 cmd_code;
> + u32 cda:24;
> + u32 chainData:1;
> + u32 chain:1;
> + u32 sli:1;
> + u32 skip:1;
> + u32 pci:1;
> + u32 ida:1;
> + u32 suspend:1;
> + u32 mida:1;
> + u8 reserved;
> + u16 count;
> } __attribute__ ((packed, aligned(8))) Ccw0;
>
> /* channel command word (format 1) */
> typedef struct ccw1 {
> - __u8 cmd_code;
> - __u8 flags;
> - __u16 count;
> - __u32 cda;
> + u8 cmd_code;
> + u8 flags;
> + u16 count;
> + u32 cda;
> } __attribute__ ((packed, aligned(8))) Ccw1;
>
> /* do_cio() CCW formats */
> @@ -234,31 +234,31 @@ typedef struct ccw1 {
> * Command-mode operation request block
> */
> typedef struct cmd_orb {
> - __u32 intparm; /* interruption parameter */
> - __u32 key:4; /* flags, like key, suspend control, etc. */
> - __u32 spnd:1; /* suspend control */
> - __u32 res1:1; /* reserved */
> - __u32 mod:1; /* modification control */
> - __u32 sync:1; /* synchronize control */
> - __u32 fmt:1; /* format control */
> - __u32 pfch:1; /* prefetch control */
> - __u32 isic:1; /* initial-status-interruption control */
> - __u32 alcc:1; /* address-limit-checking control */
> - __u32 ssic:1; /* suppress-suspended-interr. control */
> - __u32 res2:1; /* reserved */
> - __u32 c64:1; /* IDAW/QDIO 64 bit control */
> - __u32 i2k:1; /* IDAW 2/4kB block size control */
> - __u32 lpm:8; /* logical path mask */
> - __u32 ils:1; /* incorrect length */
> - __u32 zero:6; /* reserved zeros */
> - __u32 orbx:1; /* ORB extension control */
> - __u32 cpa; /* channel program address */
> + u32 intparm; /* interruption parameter */
> + u32 key:4; /* flags, like key, suspend control, etc. */
> + u32 spnd:1; /* suspend control */
> + u32 res1:1; /* reserved */
> + u32 mod:1; /* modification control */
> + u32 sync:1; /* synchronize control */
> + u32 fmt:1; /* format control */
> + u32 pfch:1; /* prefetch control */
> + u32 isic:1; /* initial-status-interruption control */
> + u32 alcc:1; /* address-limit-checking control */
> + u32 ssic:1; /* suppress-suspended-interr. control */
> + u32 res2:1; /* reserved */
> + u32 c64:1; /* IDAW/QDIO 64 bit control */
> + u32 i2k:1; /* IDAW 2/4kB block size control */
> + u32 lpm:8; /* logical path mask */
> + u32 ils:1; /* incorrect length */
> + u32 zero:6; /* reserved zeros */
> + u32 orbx:1; /* ORB extension control */
> + u32 cpa; /* channel program address */
> } __attribute__ ((packed, aligned(4))) CmdOrb;
>
> struct ciw {
> - __u8 type;
> - __u8 command;
> - __u16 count;
> + u8 type;
> + u8 command;
> + u16 count;
> };
>
> #define CU_TYPE_UNKNOWN 0x0000
> @@ -271,12 +271,12 @@ struct ciw {
> */
> typedef struct senseid {
> /* common part */
> - __u8 reserved; /* always 0x'FF' */
> - __u16 cu_type; /* control unit type */
> - __u8 cu_model; /* control unit model */
> - __u16 dev_type; /* device type */
> - __u8 dev_model; /* device model */
> - __u8 unused; /* padding byte */
> + u8 reserved; /* always 0x'FF' */
> + u16 cu_type; /* control unit type */
> + u8 cu_model; /* control unit model */
> + u16 dev_type; /* device type */
> + u8 dev_model; /* device model */
> + u8 unused; /* padding byte */
> /* extended part */
> struct ciw ciw[62];
> } __attribute__ ((packed, aligned(4))) SenseId;
> @@ -342,9 +342,9 @@ typedef struct SenseDataEckdDasd {
> /* interruption response block */
> typedef struct irb {
> struct scsw scsw;
> - __u32 esw[5];
> - __u32 ecw[8];
> - __u32 emw[8];
> + u32 esw[5];
> + u32 ecw[8];
> + u32 emw[8];
> } __attribute__ ((packed, aligned(4))) Irb;
>
> /* Used for SEEK ccw commands */