Messages in this thread | | | Subject | Re: [RFC v3 4/7] platform: x86: Add generic Intel IPC driver | From | sathyanarayanan kuppuswamy <> | Date | Tue, 3 Oct 2017 18:07:18 -0700 |
| |
Hi,
On 10/01/2017 07:59 AM, Andy Shevchenko wrote: > On Tue, Sep 5, 2017 at 8:37 AM, > <sathyanarayanan.kuppuswamy@linux.intel.com> wrote: >> From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> >> >> Currently intel_scu_ipc.c, intel_pmc_ipc.c and intel_punit_ipc.c >> redundantly implements the same IPC features and has lot of code >> duplication between them. This driver addresses this issue by grouping >> the common IPC functionalities under the same driver. >> +static const char *ipc_dev_err_string(struct intel_ipc_dev *ipc_dev, >> + int error) >> +{ >> + switch (error) { >> + case IPC_DEV_ERR_NONE: >> + return "No error"; >> + case IPC_DEV_ERR_CMD_NOT_SUPPORTED: >> + return "Command not-supported/Invalid"; >> + case IPC_DEV_ERR_CMD_NOT_SERVICED: >> + return "Command not-serviced/Invalid param"; >> + case IPC_DEV_ERR_UNABLE_TO_SERVICE: >> + return "Unable-to-service/Cmd-timeout"; >> + case IPC_DEV_ERR_CMD_INVALID: >> + return "Command-invalid/Cmd-locked"; >> + case IPC_DEV_ERR_CMD_FAILED: >> + return "Command-failed/Invalid-VR-id"; >> + case IPC_DEV_ERR_EMSECURITY: >> + return "Invalid Battery/VR-Error"; >> + case IPC_DEV_ERR_UNSIGNEDKERNEL: >> + return "Unsigned kernel"; >> + default: >> + return "Unknown Command"; >> + }; >> +} > Since it's continuous list you can define an array of messages like > > const char * const *errors = { > [..._ERR_...] = "", > ... > > }; > > Also you can use enum in the header and define _ERR_MAX there. > Thus, code would be transformed to > > if (error < _ERR_MAX) > return errors[error]; > > return "Unknown Command"; Thanks will fix it in next version. >
-- Sathyanarayanan Kuppuswamy Linux kernel developer
| |