From mboxrd@z Thu Jan 1 00:00:00 1970 From: Borislav Petkov Subject: Re: [RFC PATCH v2 2/4] acpi: apei: Split GHES handlers outside of ghes_do_proc Date: Wed, 18 Apr 2018 19:52:01 +0200 Message-ID: <20180418175201.GI4795@pd.tnic> References: <20180416215903.7318-1-mr.nuke.me@gmail.com> <20180416215903.7318-3-mr.nuke.me@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Return-path: Content-Disposition: inline In-Reply-To: <20180416215903.7318-3-mr.nuke.me@gmail.com> Sender: linux-kernel-owner@vger.kernel.org To: Alexandru Gagniuc Cc: linux-acpi@vger.kernel.org, linux-edac@vger.kernel.org, rjw@rjwysocki.net, lenb@kernel.org, tony.luck@intel.com, tbaicar@codeaurora.org, will.deacon@arm.com, james.morse@arm.com, shiju.jose@huawei.com, zjzhang@codeaurora.org, gengdongjiu@huawei.com, linux-kernel@vger.kernel.org, alex_gagniuc@dellteam.com, austin_bolen@dell.com, shyam_iyer@dell.com, devel@acpica.org, mchehab@kernel.org, robert.moore@intel.com, erik.schmauss@intel.com List-Id: linux-acpi@vger.kernel.org On Mon, Apr 16, 2018 at 04:59:01PM -0500, Alexandru Gagniuc wrote: > static void ghes_do_proc(struct ghes *ghes, > const struct acpi_hest_generic_status *estatus) > { > int sev, sec_sev; > struct acpi_hest_generic_data *gdata; > + const struct ghes_handler *handler; > guid_t *sec_type; > guid_t *fru_id = &NULL_UUID_LE; > char *fru_text = ""; > @@ -478,21 +537,10 @@ static void ghes_do_proc(struct ghes *ghes, > if (gdata->validation_bits & CPER_SEC_VALID_FRU_TEXT) > fru_text = gdata->fru_text; > > - if (guid_equal(sec_type, &CPER_SEC_PLATFORM_MEM)) { > - struct cper_sec_mem_err *mem_err = acpi_hest_get_payload(gdata); > - > - ghes_edac_report_mem_error(sev, mem_err); > - > - arch_apei_report_mem_error(sev, mem_err); > - ghes_handle_memory_failure(gdata, sev); > - } > - else if (guid_equal(sec_type, &CPER_SEC_PCIE)) { > - ghes_handle_aer(gdata); > - } > - else if (guid_equal(sec_type, &CPER_SEC_PROC_ARM)) { > - struct cper_sec_proc_arm *err = acpi_hest_get_payload(gdata); > > - log_arm_hw_error(err); > + handler = get_handler(sec_type); I don't like this - it was better and more readable before because I can follow which handler gets called. This change makes is less readable. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply. From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [RFC,v2,2/4] acpi: apei: Split GHES handlers outside of ghes_do_proc From: Borislav Petkov Message-Id: <20180418175201.GI4795@pd.tnic> Date: Wed, 18 Apr 2018 19:52:01 +0200 To: Alexandru Gagniuc Cc: linux-acpi@vger.kernel.org, linux-edac@vger.kernel.org, rjw@rjwysocki.net, lenb@kernel.org, tony.luck@intel.com, tbaicar@codeaurora.org, will.deacon@arm.com, james.morse@arm.com, shiju.jose@huawei.com, zjzhang@codeaurora.org, gengdongjiu@huawei.com, linux-kernel@vger.kernel.org, alex_gagniuc@dellteam.com, austin_bolen@dell.com, shyam_iyer@dell.com, devel@acpica.org, mchehab@kernel.org, robert.moore@intel.com, erik.schmauss@intel.com List-ID: T24gTW9uLCBBcHIgMTYsIDIwMTggYXQgMDQ6NTk6MDFQTSAtMDUwMCwgQWxleGFuZHJ1IEdhZ25p dWMgd3JvdGU6Cj4gIHN0YXRpYyB2b2lkIGdoZXNfZG9fcHJvYyhzdHJ1Y3QgZ2hlcyAqZ2hlcywK PiAgCQkJIGNvbnN0IHN0cnVjdCBhY3BpX2hlc3RfZ2VuZXJpY19zdGF0dXMgKmVzdGF0dXMpCj4g IHsKPiAgCWludCBzZXYsIHNlY19zZXY7Cj4gIAlzdHJ1Y3QgYWNwaV9oZXN0X2dlbmVyaWNfZGF0 YSAqZ2RhdGE7Cj4gKwljb25zdCBzdHJ1Y3QgZ2hlc19oYW5kbGVyICpoYW5kbGVyOwo+ICAJZ3Vp ZF90ICpzZWNfdHlwZTsKPiAgCWd1aWRfdCAqZnJ1X2lkID0gJk5VTExfVVVJRF9MRTsKPiAgCWNo YXIgKmZydV90ZXh0ID0gIiI7Cj4gQEAgLTQ3OCwyMSArNTM3LDEwIEBAIHN0YXRpYyB2b2lkIGdo ZXNfZG9fcHJvYyhzdHJ1Y3QgZ2hlcyAqZ2hlcywKPiAgCQlpZiAoZ2RhdGEtPnZhbGlkYXRpb25f Yml0cyAmIENQRVJfU0VDX1ZBTElEX0ZSVV9URVhUKQo+ICAJCQlmcnVfdGV4dCA9IGdkYXRhLT5m cnVfdGV4dDsKPiAgCj4gLQkJaWYgKGd1aWRfZXF1YWwoc2VjX3R5cGUsICZDUEVSX1NFQ19QTEFU Rk9STV9NRU0pKSB7Cj4gLQkJCXN0cnVjdCBjcGVyX3NlY19tZW1fZXJyICptZW1fZXJyID0gYWNw aV9oZXN0X2dldF9wYXlsb2FkKGdkYXRhKTsKPiAtCj4gLQkJCWdoZXNfZWRhY19yZXBvcnRfbWVt X2Vycm9yKHNldiwgbWVtX2Vycik7Cj4gLQo+IC0JCQlhcmNoX2FwZWlfcmVwb3J0X21lbV9lcnJv cihzZXYsIG1lbV9lcnIpOwo+IC0JCQlnaGVzX2hhbmRsZV9tZW1vcnlfZmFpbHVyZShnZGF0YSwg c2V2KTsKPiAtCQl9Cj4gLQkJZWxzZSBpZiAoZ3VpZF9lcXVhbChzZWNfdHlwZSwgJkNQRVJfU0VD X1BDSUUpKSB7Cj4gLQkJCWdoZXNfaGFuZGxlX2FlcihnZGF0YSk7Cj4gLQkJfQo+IC0JCWVsc2Ug aWYgKGd1aWRfZXF1YWwoc2VjX3R5cGUsICZDUEVSX1NFQ19QUk9DX0FSTSkpIHsKPiAtCQkJc3Ry dWN0IGNwZXJfc2VjX3Byb2NfYXJtICplcnIgPSBhY3BpX2hlc3RfZ2V0X3BheWxvYWQoZ2RhdGEp Owo+ICAKPiAtCQkJbG9nX2FybV9od19lcnJvcihlcnIpOwo+ICsJCWhhbmRsZXIgPSBnZXRfaGFu ZGxlcihzZWNfdHlwZSk7CgpJIGRvbid0IGxpa2UgdGhpcyAtIGl0IHdhcyBiZXR0ZXIgYW5kIG1v cmUgcmVhZGFibGUgYmVmb3JlIGJlY2F1c2UgSSBjYW4KZm9sbG93IHdoaWNoIGhhbmRsZXIgZ2V0 cyBjYWxsZWQuIFRoaXMgY2hhbmdlIG1ha2VzIGlzIGxlc3MgcmVhZGFibGUuCg==