[{"id":1778022,"web_url":"http://patchwork.ozlabs.org/comment/1778022/","msgid":"<CAHp75VecDGzs=esey6hSDWMxvYPeeiy5T-9x6MNFaHspLq0ctA@mail.gmail.com>","list_archive_url":null,"date":"2017-10-01T14:59:20","subject":"Re: [RFC v3 4/7] platform: x86: Add generic Intel IPC driver","submitter":{"id":4675,"url":"http://patchwork.ozlabs.org/api/people/4675/","name":"Andy Shevchenko","email":"andy.shevchenko@gmail.com"},"content":"On Tue, Sep 5, 2017 at 8:37 AM,\n<sathyanarayanan.kuppuswamy@linux.intel.com> wrote:\n> From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>\n>\n> Currently intel_scu_ipc.c, intel_pmc_ipc.c and intel_punit_ipc.c\n> redundantly implements the same IPC features and has lot of code\n> duplication between them. This driver addresses this issue by grouping\n> the common IPC functionalities under the same driver.\n\n> +static const char *ipc_dev_err_string(struct intel_ipc_dev *ipc_dev,\n> +       int error)\n> +{\n> +       switch (error) {\n> +       case IPC_DEV_ERR_NONE:\n> +               return \"No error\";\n> +       case IPC_DEV_ERR_CMD_NOT_SUPPORTED:\n> +               return \"Command not-supported/Invalid\";\n> +       case IPC_DEV_ERR_CMD_NOT_SERVICED:\n> +               return \"Command not-serviced/Invalid param\";\n> +       case IPC_DEV_ERR_UNABLE_TO_SERVICE:\n> +               return \"Unable-to-service/Cmd-timeout\";\n> +       case IPC_DEV_ERR_CMD_INVALID:\n> +               return \"Command-invalid/Cmd-locked\";\n> +       case IPC_DEV_ERR_CMD_FAILED:\n> +               return \"Command-failed/Invalid-VR-id\";\n> +       case IPC_DEV_ERR_EMSECURITY:\n> +               return \"Invalid Battery/VR-Error\";\n> +       case IPC_DEV_ERR_UNSIGNEDKERNEL:\n> +               return \"Unsigned kernel\";\n> +       default:\n> +               return \"Unknown Command\";\n> +       };\n> +}\n\nSince it's continuous list you can define an array of messages like\n\nconst char * const *errors = {\n [..._ERR_...] = \"\",\n ...\n\n};\n\nAlso you can use enum in the header and define _ERR_MAX there.\nThus, code would be transformed to\n\nif (error < _ERR_MAX)\n return errors[error];\n\nreturn \"Unknown Command\";","headers":{"Return-Path":"<linux-rtc-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-rtc-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"dqvU4tpl\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y4pNY0Dc9z9s0g\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon,  2 Oct 2017 01:59:24 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751087AbdJAO7X (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tSun, 1 Oct 2017 10:59:23 -0400","from mail-qt0-f177.google.com ([209.85.216.177]:55772 \"EHLO\n\tmail-qt0-f177.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751021AbdJAO7W (ORCPT\n\t<rfc822;linux-rtc@vger.kernel.org>); Sun, 1 Oct 2017 10:59:22 -0400","by mail-qt0-f177.google.com with SMTP id x54so4609409qth.12;\n\tSun, 01 Oct 2017 07:59:21 -0700 (PDT)","by 10.12.190.196 with HTTP; Sun, 1 Oct 2017 07:59:20 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=E+Pe/028Et0gtRgIswWPQEHfAITVf9dkxom7FY5mCxw=;\n\tb=dqvU4tplA4kZ5NZyluEB8BoLwetn8b0WwG60ShibMbCA/uYH3dXUkSvI3waeMI4O82\n\t0QrWlXQXsp1+EJp1uwGmNacsNftnCLeVxHnpB8tXeC8HrNIECFgEy2OmOfVWUkTqRLdB\n\t+KSTIOwQ6OeoRvPM1QpKmaSSAC6A8OPYBj2XLyNGo2FRn6qAr8iKxKmOe90AbREKZ9mI\n\tWzUtPvq5hrtti7kA6ZntNeuNJr9Kb65FUC6EcCM9GxsQAkKa8MYaY3k4mTFMf3GTv6K6\n\twlb3H4NDJcE9CAaNlgmOVv2J+Kh/hvAWGnQp+6eYVGZNyNgMR3hpiscjQjD+b7YFKrdW\n\t+now==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=E+Pe/028Et0gtRgIswWPQEHfAITVf9dkxom7FY5mCxw=;\n\tb=f+afiWBs12WJi5/ABfO9QemZK8SMzZmGDH3B70YgzOyQru5iUIfaY/rkifXG2Hu2GF\n\t2Lh+Njks0YOyz/Rrg18Bisq3LeKQQeTe/D+vUq0RTKl634epETBEU0QzP//vbuNiGmKD\n\tArr/lKThhKTvc/lPHQLoizs+hCQ2tmI7HvjwkiMdf2VhJeVVOa+/9ENdN9FOYJdPoh6T\n\tuUyxlw1TO/PZ5uJyx0o47ZEuXtMd0nLDUgsEh3a636hDQ+iVs3JxgGdZi1LguRqqYTmF\n\tcCU3ieqBtSdCO2n5xFsgnIf/OjLiXuNAmq80qzfktNgSqQfbbp6PaJb1ES8qSWgEycyL\n\tQ4bQ==","X-Gm-Message-State":"AMCzsaVPjyGR8L+XaPm2upQlV/nDXkpd+1AnhbVUJxNoRj00WGTtdh1w\n\tpZMTE4Cx7kTJYuw6abCRmW7DXQa2Zroz+NMFKKQ=","X-Google-Smtp-Source":"AOwi7QBpcDvZTbHBrGjd4K8imV/ctnS57/cE5te0yQP8WqJuwJPobDDPmilNo1J7FOIiY6CyZUBd3kjPOKcXVZzlbK8=","X-Received":"by 10.200.49.170 with SMTP id h39mr14488342qte.162.1506869961118;\n\tSun, 01 Oct 2017 07:59:21 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<7d1a79925df8d2e35cfbd6974706d0d1ef0fc0de.1504588701.git.sathyanarayanan.kuppuswamy@linux.intel.com>","References":"<cover.1504588701.git.sathyanarayanan.kuppuswamy@linux.intel.com>\n\t<7d1a79925df8d2e35cfbd6974706d0d1ef0fc0de.1504588701.git.sathyanarayanan.kuppuswamy@linux.intel.com>","From":"Andy Shevchenko <andy.shevchenko@gmail.com>","Date":"Sun, 1 Oct 2017 17:59:20 +0300","Message-ID":"<CAHp75VecDGzs=esey6hSDWMxvYPeeiy5T-9x6MNFaHspLq0ctA@mail.gmail.com>","Subject":"Re: [RFC v3 4/7] platform: x86: Add generic Intel IPC driver","To":"Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>","Cc":"Alessandro Zummo <a.zummo@towertech.it>,\n\t\"x86@kernel.org\" <x86@kernel.org>, Wim Van Sebroeck <wim@iguana.be>,\n\tIngo Molnar <mingo@redhat.com>,\n\tAlexandre Belloni <alexandre.belloni@free-electrons.com>,\n\tZha Qipeng <qipeng.zha@intel.com>, \"H. Peter Anvin\" <hpa@zytor.com>,\n\t\"dvhart@infradead.org\" <dvhart@infradead.org>,\n\tThomas Gleixner <tglx@linutronix.de>, Lee Jones <lee.jones@linaro.org>,\n\tAndy Shevchenko <andy@infradead.org>,\n\tSouvik Kumar Chakravarty <souvik.k.chakravarty@intel.com>,\n\tlinux-rtc@vger.kernel.org, linux-watchdog@vger.kernel.org,\n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\tPlatform Driver <platform-driver-x86@vger.kernel.org>,\n\tSathyanarayanan Kuppuswamy Natarajan <sathyaosid@gmail.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"linux-rtc-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-rtc.vger.kernel.org>","X-Mailing-List":"linux-rtc@vger.kernel.org"}},{"id":1779342,"web_url":"http://patchwork.ozlabs.org/comment/1779342/","msgid":"<96f8c550-da66-c11f-4db4-34fe520188aa@linux.intel.com>","list_archive_url":null,"date":"2017-10-04T01:07:18","subject":"Re: [RFC v3 4/7] platform: x86: Add generic Intel IPC driver","submitter":{"id":66129,"url":"http://patchwork.ozlabs.org/api/people/66129/","name":"Kuppuswamy Sathyanarayanan","email":"sathyanarayanan.kuppuswamy@linux.intel.com"},"content":"Hi,\n\n\nOn 10/01/2017 07:59 AM, Andy Shevchenko wrote:\n> On Tue, Sep 5, 2017 at 8:37 AM,\n> <sathyanarayanan.kuppuswamy@linux.intel.com> wrote:\n>> From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>\n>>\n>> Currently intel_scu_ipc.c, intel_pmc_ipc.c and intel_punit_ipc.c\n>> redundantly implements the same IPC features and has lot of code\n>> duplication between them. This driver addresses this issue by grouping\n>> the common IPC functionalities under the same driver.\n>> +static const char *ipc_dev_err_string(struct intel_ipc_dev *ipc_dev,\n>> +       int error)\n>> +{\n>> +       switch (error) {\n>> +       case IPC_DEV_ERR_NONE:\n>> +               return \"No error\";\n>> +       case IPC_DEV_ERR_CMD_NOT_SUPPORTED:\n>> +               return \"Command not-supported/Invalid\";\n>> +       case IPC_DEV_ERR_CMD_NOT_SERVICED:\n>> +               return \"Command not-serviced/Invalid param\";\n>> +       case IPC_DEV_ERR_UNABLE_TO_SERVICE:\n>> +               return \"Unable-to-service/Cmd-timeout\";\n>> +       case IPC_DEV_ERR_CMD_INVALID:\n>> +               return \"Command-invalid/Cmd-locked\";\n>> +       case IPC_DEV_ERR_CMD_FAILED:\n>> +               return \"Command-failed/Invalid-VR-id\";\n>> +       case IPC_DEV_ERR_EMSECURITY:\n>> +               return \"Invalid Battery/VR-Error\";\n>> +       case IPC_DEV_ERR_UNSIGNEDKERNEL:\n>> +               return \"Unsigned kernel\";\n>> +       default:\n>> +               return \"Unknown Command\";\n>> +       };\n>> +}\n> Since it's continuous list you can define an array of messages like\n>\n> const char * const *errors = {\n>   [..._ERR_...] = \"\",\n>   ...\n>\n> };\n>\n> Also you can use enum in the header and define _ERR_MAX there.\n> Thus, code would be transformed to\n>\n> if (error < _ERR_MAX)\n>   return errors[error];\n>\n> return \"Unknown Command\";\nThanks will fix it in next version.\n>","headers":{"Return-Path":"<linux-rtc-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-rtc-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y6HnY4kpCz9t2V\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 12:07:45 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751805AbdJDBHd (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tTue, 3 Oct 2017 21:07:33 -0400","from mga02.intel.com ([134.134.136.20]:56636 \"EHLO mga02.intel.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751225AbdJDBHb (ORCPT <rfc822;linux-rtc@vger.kernel.org>);\n\tTue, 3 Oct 2017 21:07:31 -0400","from orsmga004.jf.intel.com ([10.7.209.38])\n\tby orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t03 Oct 2017 18:07:30 -0700","from linux.intel.com ([10.54.29.200])\n\tby orsmga004.jf.intel.com with ESMTP; 03 Oct 2017 18:07:30 -0700","from [10.7.198.92] (skuppusw-desk.jf.intel.com [10.7.198.92])\n\tby linux.intel.com (Postfix) with ESMTP id 6F1365802D8;\n\tTue,  3 Oct 2017 18:07:30 -0700 (PDT)"],"X-ExtLoop1":"1","X-IronPort-AV":"E=Sophos;i=\"5.42,475,1500966000\"; d=\"scan'208\";a=\"134888086\"","Reply-To":"sathyanarayanan.kuppuswamy@linux.intel.com","Subject":"Re: [RFC v3 4/7] platform: x86: Add generic Intel IPC driver","To":"Andy Shevchenko <andy.shevchenko@gmail.com>","Cc":"Alessandro Zummo <a.zummo@towertech.it>,\n\t\"x86@kernel.org\" <x86@kernel.org>, Wim Van Sebroeck <wim@iguana.be>,\n\tIngo Molnar <mingo@redhat.com>,\n\tAlexandre Belloni <alexandre.belloni@free-electrons.com>,\n\tZha Qipeng <qipeng.zha@intel.com>, \"H. Peter Anvin\" <hpa@zytor.com>,\n\t\"dvhart@infradead.org\" <dvhart@infradead.org>,\n\tThomas Gleixner <tglx@linutronix.de>, Lee Jones <lee.jones@linaro.org>,\n\tAndy Shevchenko <andy@infradead.org>,\n\tSouvik Kumar Chakravarty <souvik.k.chakravarty@intel.com>,\n\tlinux-rtc@vger.kernel.org, linux-watchdog@vger.kernel.org,\n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\tPlatform Driver <platform-driver-x86@vger.kernel.org>,\n\tSathyanarayanan Kuppuswamy Natarajan <sathyaosid@gmail.com>","References":"<cover.1504588701.git.sathyanarayanan.kuppuswamy@linux.intel.com>\n\t<7d1a79925df8d2e35cfbd6974706d0d1ef0fc0de.1504588701.git.sathyanarayanan.kuppuswamy@linux.intel.com>\n\t<CAHp75VecDGzs=esey6hSDWMxvYPeeiy5T-9x6MNFaHspLq0ctA@mail.gmail.com>","From":"sathyanarayanan kuppuswamy \n\t<sathyanarayanan.kuppuswamy@linux.intel.com>","Organization":"Intel","Message-ID":"<96f8c550-da66-c11f-4db4-34fe520188aa@linux.intel.com>","Date":"Tue, 3 Oct 2017 18:07:18 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<CAHp75VecDGzs=esey6hSDWMxvYPeeiy5T-9x6MNFaHspLq0ctA@mail.gmail.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit","Content-Language":"en-US","Sender":"linux-rtc-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-rtc.vger.kernel.org>","X-Mailing-List":"linux-rtc@vger.kernel.org"}}]