[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 1/9] pc-bios: s390x: cio.c cleanup and compile fix
From: |
Janosch Frank |
Subject: |
Re: [PATCH v3 1/9] pc-bios: s390x: cio.c cleanup and compile fix |
Date: |
Wed, 27 May 2020 10:34:21 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 |
On 5/27/20 10:24 AM, Christian Borntraeger wrote:
>
>
> On 27.05.20 09:49, Janosch Frank wrote:
>> Let's initialize the structs at the beginning to ease reading and also
>> zeroing all other fields. This also makes the compiler stop
>> complaining about sense_id_ccw.flags being ored into when it's not
>> initialized.
>>
>> Signed-off-by: Janosch Frank <address@hidden>
>> Reviewed-by: Pierre Morel <address@hidden>
>> Reviewed-by: Thomas Huth <address@hidden>
>> Reviewed-by: David Hildenbrand <address@hidden>
>> ---
>> pc-bios/s390-ccw/cio.c | 40 ++++++++++++++++++++++------------------
>> 1 file changed, 22 insertions(+), 18 deletions(-)
>>
>> diff --git a/pc-bios/s390-ccw/cio.c b/pc-bios/s390-ccw/cio.c
>> index 339ec5fbe7..dbae1e240e 100644
>> --- a/pc-bios/s390-ccw/cio.c
>> +++ b/pc-bios/s390-ccw/cio.c
>> @@ -49,13 +49,13 @@ void enable_subchannel(SubChannelId schid)
>>
>> uint16_t cu_type(SubChannelId schid)
>> {
>> - Ccw1 sense_id_ccw;
>> SenseId sense_data;
>> -
>> - sense_id_ccw.cmd_code = CCW_CMD_SENSE_ID;
>> - sense_id_ccw.cda = ptr2u32(&sense_data);
>> - sense_id_ccw.count = sizeof(sense_data);
>> - sense_id_ccw.flags |= CCW_FLAG_SLI;
>> + Ccw1 sense_id_ccw = {
>> + .cmd_code = CCW_CMD_SENSE_ID,
>> + .count = sizeof(sense_data),
>> + .flags = CCW_FLAG_SLI,
>> + .cda = ptr2u32(&sense_data),
>> + };
>
> nitpicking, since you change the order anyway you _could_ swap count and flag
> to match the order of struct Ccw. Only necessary when redoing.
Sure, if it makes you happy :-)
>
>
>>
>> if (do_cio(schid, CU_TYPE_UNKNOWN, ptr2u32(&sense_id_ccw), CCW_FMT1)) {
>> panic("Failed to run SenseID CCw\n");
>> @@ -67,13 +67,13 @@ uint16_t cu_type(SubChannelId schid)
>> int basic_sense(SubChannelId schid, uint16_t cutype, void *sense_data,
>> uint16_t data_size)
>> {
>> - Ccw1 senseCcw;
>> + Ccw1 senseCcw = {
>> + .cmd_code = CCW_CMD_BASIC_SENSE,
>> + .count = data_size,
>> + .cda = ptr2u32(sense_data),
>> + };
>> Irb irb;
>>
>> - senseCcw.cmd_code = CCW_CMD_BASIC_SENSE;
>> - senseCcw.cda = ptr2u32(sense_data);
>> - senseCcw.count = data_size;
>> -
>
> here it is fine, due to the lack of flags.
> Was this actually a bug before that senseCcw.flags was
> not zeroed out?
I'd guess so, seems like the compiler went into other code paths with my
recent changes and then started complaining.
But it makes sense to clean them up anyway.
>
>
> [...]
>
> Other than that
> Reviewed-by: Christian Borntraeger <address@hidden>
Thanks!
signature.asc
Description: OpenPGP digital signature
- [PATCH v3 0/9] pc-bios: s390x: Cleanup part 1, Janosch Frank, 2020/05/27
- [PATCH v3 1/9] pc-bios: s390x: cio.c cleanup and compile fix, Janosch Frank, 2020/05/27
- [PATCH v3 2/9] pc-bios: s390x: Consolidate timing functions into time.h, Janosch Frank, 2020/05/27
- [PATCH v3 3/9] pc-bios: s390x: Move sleep and yield to helper.h, Janosch Frank, 2020/05/27
- [PATCH v3 4/9] pc-bios: s390x: Get rid of magic offsets into the lowcore, Janosch Frank, 2020/05/27
- [PATCH v3 6/9] pc-bios: s390x: Use PSW masks where possible and introduce PSW_MASK_SHORT_ADDR, Janosch Frank, 2020/05/27