[{"id":1762443,"web_url":"http://patchwork.ozlabs.org/comment/1762443/","msgid":"<CAHp75Ve2yCn3R42oUSW4LYgaMcFEh9eqZh3fCG8n=Zmu68WjvA@mail.gmail.com>","list_archive_url":null,"date":"2017-09-04T06:27:01","subject":"Re: [PATCH v4 3/3] platform/x86: intel_cht_int33fe: Update fusb302\n\ttype string, add properties","submitter":{"id":4675,"url":"http://patchwork.ozlabs.org/api/people/4675/","name":"Andy Shevchenko","email":"andy.shevchenko@gmail.com"},"content":"On Sun, Sep 3, 2017 at 3:41 PM, Hans de Goede <hdegoede@redhat.com> wrote:\n> The fusb302 driver as merged in staging uses \"typec_fusb302\" as i2c-id\n> rather then just \"fusb302\" and needs us to set a number of device-\n> properties, adjust the intel_cht_int33fe driver accordingly.\n>\n> One of the properties set is max-snk-mv which makes the fusb302 driver\n> negotiate up to 12V charging voltage, which is a bad idea on boards\n> which are not setup to handle this, so this commit also adds 2 extra\n> sanity checks to make sure that the expected Whiskey Cove PMIC +\n> TI bq24292i charger combo, which can handle 12V, is present.\n\nAcked-by: Andy Shevchenko <andy.shevchenko@gmail.com>\n\n(in case Wolfram would like to take it)\n\nSee comments below.\n\n>\n> Signed-off-by: Hans de Goede <hdegoede@redhat.com>\n> ---\n> Changes in v2:\n> -Set board_info.dev_name\n> -Adjust for changes in other patches in this patch-set\n> ---\n>  drivers/platform/x86/Kconfig             |  6 ++++-\n>  drivers/platform/x86/intel_cht_int33fe.c | 44 +++++++++++++++++++++++++++++++-\n>  2 files changed, 48 insertions(+), 2 deletions(-)\n>\n> diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig\n> index 80b87954f6dd..c5554577681a 100644\n> --- a/drivers/platform/x86/Kconfig\n> +++ b/drivers/platform/x86/Kconfig\n> @@ -793,7 +793,7 @@ config ACPI_CMPC\n>\n>  config INTEL_CHT_INT33FE\n>         tristate \"Intel Cherry Trail ACPI INT33FE Driver\"\n> -       depends on X86 && ACPI && I2C\n> +       depends on X86 && ACPI && I2C && REGULATOR\n>         ---help---\n>           This driver add support for the INT33FE ACPI device found on\n>           some Intel Cherry Trail devices.\n> @@ -804,6 +804,10 @@ config INTEL_CHT_INT33FE\n>           This driver instantiates i2c-clients for these, so that standard\n>           i2c drivers for these chips can bind to the them.\n>\n> +         If you enable this driver it is advised to also select\n> +         CONFIG_CHARGER_BQ24190=m, CONFIG_BATTERY_MAX17042=m and\n> +         CONFIG_TYPEC_FUSB302=m (currently in drivers/staging).\n> +\n\nI would put FUSB302 first since it's not obvious now that remark in\nparens is related only to it. And might be better rephase the path in\nterms of `make menuconfig` rather than pathname in the source tree.\n\n>  config INTEL_INT0002_VGPIO\n>         tristate \"Intel ACPI INT0002 Virtual GPIO driver\"\n>         depends on GPIOLIB && ACPI\n> diff --git a/drivers/platform/x86/intel_cht_int33fe.c b/drivers/platform/x86/intel_cht_int33fe.c\n> index a9cbc4b8ca63..b2925d996613 100644\n> --- a/drivers/platform/x86/intel_cht_int33fe.c\n> +++ b/drivers/platform/x86/intel_cht_int33fe.c\n> @@ -24,6 +24,7 @@\n>  #include <linux/i2c.h>\n>  #include <linux/interrupt.h>\n>  #include <linux/module.h>\n> +#include <linux/regulator/consumer.h>\n>  #include <linux/slab.h>\n>\n>  #define EXPECTED_PTYPE         4\n> @@ -77,12 +78,21 @@ static const struct property_entry max17047_props[] = {\n>         { }\n>  };\n>\n> +static const struct property_entry fusb302_props[] = {\n> +       PROPERTY_ENTRY_STRING(\"fcs,extcon-name\", \"cht_wcove_pwrsrc\"),\n> +       PROPERTY_ENTRY_U32(\"fcs,max-sink-microvolt\", 12000000),\n> +       PROPERTY_ENTRY_U32(\"fcs,max-sink-microamp\",   3000000),\n> +       PROPERTY_ENTRY_U32(\"fcs,max-sink-microwatt\", 36000000),\n> +       { }\n> +};\n> +\n>  static int cht_int33fe_probe(struct i2c_client *client)\n>  {\n>         struct device *dev = &client->dev;\n>         struct i2c_board_info board_info;\n>         struct cht_int33fe_data *data;\n>         struct i2c_client *max17047;\n> +       struct regulator *regulator;\n>         unsigned long long ptyp;\n>         acpi_status status;\n>         int ret, fusb302_irq;\n> @@ -100,6 +110,34 @@ static int cht_int33fe_probe(struct i2c_client *client)\n>         if (ptyp != EXPECTED_PTYPE)\n>                 return -ENODEV;\n>\n> +       /* Check presence of INT34D3 (hardware-rev 3) expected for ptype == 4 */\n> +       if (!acpi_dev_present(\"INT34D3\", \"1\", 3)) {\n> +               dev_err(dev, \"Error PTYPE == %d, but no INT34D3 device\\n\",\n> +                       EXPECTED_PTYPE);\n> +               return -ENODEV;\n> +       }\n> +\n> +       /*\n> +        * We expect the WC PMIC to be paired with a TI bq24292i charger-IC.\n> +        * We check for the bq24292i vbus regulator here, this has 2 purposes:\n> +        * 1) The bq24292i allows charging with up to 12V, setting the fusb302's\n> +        *    max-snk voltage to 12V with another charger-IC is not good.\n> +        * 2) For the fusb302 driver to get the bq24292i vbus regulator, the\n> +        *    regulator-map, which is part of the bq24292i regulator_init_data,\n> +        *    must be registered before the fusb302 is instantiated, otherwise\n> +        *    it will end up with a dummy-regulator.\n> +        * Note \"cht_wc_usb_typec_vbus\" comes from the regulator_init_data\n> +        * which is defined in i2c-cht-wc.c from where the bq24292i i2c-client\n> +        * gets instantiated. We use regulator_get_optional here so that we\n> +        * don't end up getting a dummy-regulator ourselves.\n> +        */\n> +       regulator = regulator_get_optional(dev, \"cht_wc_usb_typec_vbus\");\n> +       if (IS_ERR(regulator)) {\n> +               ret = PTR_ERR(regulator);\n> +               return (ret == -ENODEV) ? -EPROBE_DEFER : ret;\n> +       }\n> +       regulator_put(regulator);\n> +\n>         /* The FUSB302 uses the irq at index 1 and is the only irq user */\n>         fusb302_irq = acpi_dev_gpio_irq_get(ACPI_COMPANION(dev), 1);\n>         if (fusb302_irq < 0) {\n> @@ -126,6 +164,7 @@ static int cht_int33fe_probe(struct i2c_client *client)\n>         } else {\n>                 memset(&board_info, 0, sizeof(board_info));\n>                 strlcpy(board_info.type, \"max17047\", I2C_NAME_SIZE);\n> +               board_info.dev_name = \"max17047\";\n>                 board_info.properties = max17047_props;\n>                 data->max17047 = i2c_acpi_new_device(dev, 1, &board_info);\n>                 if (!data->max17047)\n> @@ -133,7 +172,9 @@ static int cht_int33fe_probe(struct i2c_client *client)\n>         }\n>\n>         memset(&board_info, 0, sizeof(board_info));\n> -       strlcpy(board_info.type, \"fusb302\", I2C_NAME_SIZE);\n> +       strlcpy(board_info.type, \"typec_fusb302\", I2C_NAME_SIZE);\n> +       board_info.dev_name = \"fusb302\";\n> +       board_info.properties = fusb302_props;\n>         board_info.irq = fusb302_irq;\n>\n>         data->fusb302 = i2c_acpi_new_device(dev, 2, &board_info);\n> @@ -141,6 +182,7 @@ static int cht_int33fe_probe(struct i2c_client *client)\n>                 goto out_unregister_max17047;\n>\n>         memset(&board_info, 0, sizeof(board_info));\n> +       board_info.dev_name = \"pi3usb30532\";\n>         strlcpy(board_info.type, \"pi3usb30532\", I2C_NAME_SIZE);\n>\n>         data->pi3usb30532 = i2c_acpi_new_device(dev, 3, &board_info);\n> --\n> 2.13.4\n>","headers":{"Return-Path":"<linux-i2c-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-i2c-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=\"eEz3Bo4o\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xm0Ht0MSRz9s75\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon,  4 Sep 2017 16:27:06 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751621AbdIDG1E (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tMon, 4 Sep 2017 02:27:04 -0400","from mail-qt0-f193.google.com ([209.85.216.193]:35843 \"EHLO\n\tmail-qt0-f193.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751002AbdIDG1D (ORCPT\n\t<rfc822;linux-i2c@vger.kernel.org>); Mon, 4 Sep 2017 02:27:03 -0400","by mail-qt0-f193.google.com with SMTP id e2so3820286qta.3;\n\tSun, 03 Sep 2017 23:27:02 -0700 (PDT)","by 10.12.189.151 with HTTP; Sun, 3 Sep 2017 23:27:01 -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=VeUhoO2zST4LY/73y8S6EHElh1Jqto5g1TkLu48trso=;\n\tb=eEz3Bo4o7qiuFlPl5CvAdZERCokE5PGwdaVF9HjDdKPF16ow5P+8CPHY3jyCnsXrqa\n\tiabFjDyqZjr7lVESZI7r/jsMc9LvUMt0iBYYRHtttxtkBJB5Dpuj0IuBwOK1yVQKdztJ\n\tLFHNNnoCAOBE7bacSLSSvgikCC2OZoJyn8NjSWKj7Ma13nGviKSJIKMALirGqZvJO9ay\n\tLXMyQRr2tkBf5ziqx58DUrsRbK7I2P3ujJYGBDqubAKVo78Wzh7XAqyU2txoCxCbVAOI\n\t80muWfV35T6TpcfWEAfEdVaAZKaNQGRVxAaBKFjhgJyX9YIitsjVIwKOB1HV/fyvffZl\n\tdFEA==","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=VeUhoO2zST4LY/73y8S6EHElh1Jqto5g1TkLu48trso=;\n\tb=V1MEEymM28iLgfyPhedfVmtSTlB5ZKOSfhaGTND8CikoV2MAl0vuFl8mYh2p5rZBOn\n\tVkfyHjV3JAJTOI2HIYZAixnm37j3EPov6ycmc1zfGjzrIcX3ozr1uw5uMl8T3ln4qFqL\n\tRpt/oKoySu6s8AEPn0TcSgn4BxcYSsxkzzwBqII5nDhYDUUubJtKp3Sc+t7rC9IeqkkM\n\tUpyhPft54GTeVVGEsTWXV+vBmntAcFOXDXZood+N/ypJGUMnfqaSVY4lUvMo6FS8Vb0d\n\tg2aFz/DpFciFzGl/aHn/lCktkiD1zLYwggpgv0REV0xN2/uE/UeXzwkV44fzUX/XD9vc\n\t1q5Q==","X-Gm-Message-State":"AHPjjUhHEiakVQuQ04/oQxK44X7YNRKat2MaK3z3nu7NcqzswzVBVzUd\n\tf4CGf85w/rGagEe3cuhCybs06Lf9lA==","X-Google-Smtp-Source":"ADKCNb6Kpq8m1xPj4U2DPtuGsMAsjyRDbwPFTmEYznyGjvionvv9WfoA3wOaHTdSkKFhPCFLDO9B5XOOWa7+LucSvUk=","X-Received":"by 10.237.62.237 with SMTP id o42mr14109885qtf.87.1504506422155; \n\tSun, 03 Sep 2017 23:27:02 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<20170903124156.7440-4-hdegoede@redhat.com>","References":"<20170903124156.7440-1-hdegoede@redhat.com>\n\t<20170903124156.7440-4-hdegoede@redhat.com>","From":"Andy Shevchenko <andy.shevchenko@gmail.com>","Date":"Mon, 4 Sep 2017 09:27:01 +0300","Message-ID":"<CAHp75Ve2yCn3R42oUSW4LYgaMcFEh9eqZh3fCG8n=Zmu68WjvA@mail.gmail.com>","Subject":"Re: [PATCH v4 3/3] platform/x86: intel_cht_int33fe: Update fusb302\n\ttype string, add properties","To":"Hans de Goede <hdegoede@redhat.com>","Cc":"Darren Hart <dvhart@infradead.org>, Andy Shevchenko <andy@infradead.org>,\n\tWolfram Sang <wsa@the-dreams.de>, Guenter Roeck <linux@roeck-us.net>,\n\tHeikki Krogerus <heikki.krogerus@linux.intel.com>,\n\tPlatform Driver <platform-driver-x86@vger.kernel.org>,\n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\tlinux-i2c <linux-i2c@vger.kernel.org>","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"linux-i2c-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-i2c.vger.kernel.org>","X-Mailing-List":"linux-i2c@vger.kernel.org"}},{"id":1762642,"web_url":"http://patchwork.ozlabs.org/comment/1762642/","msgid":"<56295622-0532-d940-f79f-a91bb8146068@redhat.com>","list_archive_url":null,"date":"2017-09-04T13:38:44","subject":"Re: [PATCH v4 3/3] platform/x86: intel_cht_int33fe: Update fusb302\n\ttype string, add properties","submitter":{"id":1893,"url":"http://patchwork.ozlabs.org/api/people/1893/","name":"Hans de Goede","email":"hdegoede@redhat.com"},"content":"Hi,\n\nOn 04-09-17 08:27, Andy Shevchenko wrote:\n> On Sun, Sep 3, 2017 at 3:41 PM, Hans de Goede <hdegoede@redhat.com> wrote:\n>> The fusb302 driver as merged in staging uses \"typec_fusb302\" as i2c-id\n>> rather then just \"fusb302\" and needs us to set a number of device-\n>> properties, adjust the intel_cht_int33fe driver accordingly.\n>>\n>> One of the properties set is max-snk-mv which makes the fusb302 driver\n>> negotiate up to 12V charging voltage, which is a bad idea on boards\n>> which are not setup to handle this, so this commit also adds 2 extra\n>> sanity checks to make sure that the expected Whiskey Cove PMIC +\n>> TI bq24292i charger combo, which can handle 12V, is present.\n> \n> Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>\n> \n> (in case Wolfram would like to take it)\n> \n> See comments below.\n> \n>>\n>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>\n>> ---\n>> Changes in v2:\n>> -Set board_info.dev_name\n>> -Adjust for changes in other patches in this patch-set\n>> ---\n>>   drivers/platform/x86/Kconfig             |  6 ++++-\n>>   drivers/platform/x86/intel_cht_int33fe.c | 44 +++++++++++++++++++++++++++++++-\n>>   2 files changed, 48 insertions(+), 2 deletions(-)\n>>\n>> diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig\n>> index 80b87954f6dd..c5554577681a 100644\n>> --- a/drivers/platform/x86/Kconfig\n>> +++ b/drivers/platform/x86/Kconfig\n>> @@ -793,7 +793,7 @@ config ACPI_CMPC\n>>\n>>   config INTEL_CHT_INT33FE\n>>          tristate \"Intel Cherry Trail ACPI INT33FE Driver\"\n>> -       depends on X86 && ACPI && I2C\n>> +       depends on X86 && ACPI && I2C && REGULATOR\n>>          ---help---\n>>            This driver add support for the INT33FE ACPI device found on\n>>            some Intel Cherry Trail devices.\n>> @@ -804,6 +804,10 @@ config INTEL_CHT_INT33FE\n>>            This driver instantiates i2c-clients for these, so that standard\n>>            i2c drivers for these chips can bind to the them.\n>>\n>> +         If you enable this driver it is advised to also select\n>> +         CONFIG_CHARGER_BQ24190=m, CONFIG_BATTERY_MAX17042=m and\n>> +         CONFIG_TYPEC_FUSB302=m (currently in drivers/staging).\n>> +\n> \n> I would put FUSB302 first since it's not obvious now that remark in\n> parens is related only to it. And might be better rephase the path in\n> terms of `make menuconfig` rather than pathname in the source tree.\n\nOk, fixed for v5, which I will send right away.\n\nRegards,\n\nHans\n\n\n\n>>   config INTEL_INT0002_VGPIO\n>>          tristate \"Intel ACPI INT0002 Virtual GPIO driver\"\n>>          depends on GPIOLIB && ACPI\n>> diff --git a/drivers/platform/x86/intel_cht_int33fe.c b/drivers/platform/x86/intel_cht_int33fe.c\n>> index a9cbc4b8ca63..b2925d996613 100644\n>> --- a/drivers/platform/x86/intel_cht_int33fe.c\n>> +++ b/drivers/platform/x86/intel_cht_int33fe.c\n>> @@ -24,6 +24,7 @@\n>>   #include <linux/i2c.h>\n>>   #include <linux/interrupt.h>\n>>   #include <linux/module.h>\n>> +#include <linux/regulator/consumer.h>\n>>   #include <linux/slab.h>\n>>\n>>   #define EXPECTED_PTYPE         4\n>> @@ -77,12 +78,21 @@ static const struct property_entry max17047_props[] = {\n>>          { }\n>>   };\n>>\n>> +static const struct property_entry fusb302_props[] = {\n>> +       PROPERTY_ENTRY_STRING(\"fcs,extcon-name\", \"cht_wcove_pwrsrc\"),\n>> +       PROPERTY_ENTRY_U32(\"fcs,max-sink-microvolt\", 12000000),\n>> +       PROPERTY_ENTRY_U32(\"fcs,max-sink-microamp\",   3000000),\n>> +       PROPERTY_ENTRY_U32(\"fcs,max-sink-microwatt\", 36000000),\n>> +       { }\n>> +};\n>> +\n>>   static int cht_int33fe_probe(struct i2c_client *client)\n>>   {\n>>          struct device *dev = &client->dev;\n>>          struct i2c_board_info board_info;\n>>          struct cht_int33fe_data *data;\n>>          struct i2c_client *max17047;\n>> +       struct regulator *regulator;\n>>          unsigned long long ptyp;\n>>          acpi_status status;\n>>          int ret, fusb302_irq;\n>> @@ -100,6 +110,34 @@ static int cht_int33fe_probe(struct i2c_client *client)\n>>          if (ptyp != EXPECTED_PTYPE)\n>>                  return -ENODEV;\n>>\n>> +       /* Check presence of INT34D3 (hardware-rev 3) expected for ptype == 4 */\n>> +       if (!acpi_dev_present(\"INT34D3\", \"1\", 3)) {\n>> +               dev_err(dev, \"Error PTYPE == %d, but no INT34D3 device\\n\",\n>> +                       EXPECTED_PTYPE);\n>> +               return -ENODEV;\n>> +       }\n>> +\n>> +       /*\n>> +        * We expect the WC PMIC to be paired with a TI bq24292i charger-IC.\n>> +        * We check for the bq24292i vbus regulator here, this has 2 purposes:\n>> +        * 1) The bq24292i allows charging with up to 12V, setting the fusb302's\n>> +        *    max-snk voltage to 12V with another charger-IC is not good.\n>> +        * 2) For the fusb302 driver to get the bq24292i vbus regulator, the\n>> +        *    regulator-map, which is part of the bq24292i regulator_init_data,\n>> +        *    must be registered before the fusb302 is instantiated, otherwise\n>> +        *    it will end up with a dummy-regulator.\n>> +        * Note \"cht_wc_usb_typec_vbus\" comes from the regulator_init_data\n>> +        * which is defined in i2c-cht-wc.c from where the bq24292i i2c-client\n>> +        * gets instantiated. We use regulator_get_optional here so that we\n>> +        * don't end up getting a dummy-regulator ourselves.\n>> +        */\n>> +       regulator = regulator_get_optional(dev, \"cht_wc_usb_typec_vbus\");\n>> +       if (IS_ERR(regulator)) {\n>> +               ret = PTR_ERR(regulator);\n>> +               return (ret == -ENODEV) ? -EPROBE_DEFER : ret;\n>> +       }\n>> +       regulator_put(regulator);\n>> +\n>>          /* The FUSB302 uses the irq at index 1 and is the only irq user */\n>>          fusb302_irq = acpi_dev_gpio_irq_get(ACPI_COMPANION(dev), 1);\n>>          if (fusb302_irq < 0) {\n>> @@ -126,6 +164,7 @@ static int cht_int33fe_probe(struct i2c_client *client)\n>>          } else {\n>>                  memset(&board_info, 0, sizeof(board_info));\n>>                  strlcpy(board_info.type, \"max17047\", I2C_NAME_SIZE);\n>> +               board_info.dev_name = \"max17047\";\n>>                  board_info.properties = max17047_props;\n>>                  data->max17047 = i2c_acpi_new_device(dev, 1, &board_info);\n>>                  if (!data->max17047)\n>> @@ -133,7 +172,9 @@ static int cht_int33fe_probe(struct i2c_client *client)\n>>          }\n>>\n>>          memset(&board_info, 0, sizeof(board_info));\n>> -       strlcpy(board_info.type, \"fusb302\", I2C_NAME_SIZE);\n>> +       strlcpy(board_info.type, \"typec_fusb302\", I2C_NAME_SIZE);\n>> +       board_info.dev_name = \"fusb302\";\n>> +       board_info.properties = fusb302_props;\n>>          board_info.irq = fusb302_irq;\n>>\n>>          data->fusb302 = i2c_acpi_new_device(dev, 2, &board_info);\n>> @@ -141,6 +182,7 @@ static int cht_int33fe_probe(struct i2c_client *client)\n>>                  goto out_unregister_max17047;\n>>\n>>          memset(&board_info, 0, sizeof(board_info));\n>> +       board_info.dev_name = \"pi3usb30532\";\n>>          strlcpy(board_info.type, \"pi3usb30532\", I2C_NAME_SIZE);\n>>\n>>          data->pi3usb30532 = i2c_acpi_new_device(dev, 3, &board_info);\n>> --\n>> 2.13.4\n>>\n> \n> \n>","headers":{"Return-Path":"<linux-i2c-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-i2c-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ext-mx03.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx03.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=hdegoede@redhat.com"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xm9t16CMwz9t16\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon,  4 Sep 2017 23:38:49 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753554AbdIDNis (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tMon, 4 Sep 2017 09:38:48 -0400","from mx1.redhat.com ([209.132.183.28]:58666 \"EHLO mx1.redhat.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1752835AbdIDNir (ORCPT <rfc822;linux-i2c@vger.kernel.org>);\n\tMon, 4 Sep 2017 09:38:47 -0400","from smtp.corp.redhat.com\n\t(int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 3C21F77350;\n\tMon,  4 Sep 2017 13:38:47 +0000 (UTC)","from shalem.localdomain (unknown [10.36.118.49])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id 762926B6DE;\n\tMon,  4 Sep 2017 13:38:45 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 3C21F77350","Subject":"Re: [PATCH v4 3/3] platform/x86: intel_cht_int33fe: Update fusb302\n\ttype string, add properties","To":"Andy Shevchenko <andy.shevchenko@gmail.com>","Cc":"Darren Hart <dvhart@infradead.org>, Andy Shevchenko <andy@infradead.org>,\n\tWolfram Sang <wsa@the-dreams.de>, Guenter Roeck <linux@roeck-us.net>,\n\tHeikki Krogerus <heikki.krogerus@linux.intel.com>,\n\tPlatform Driver <platform-driver-x86@vger.kernel.org>,\n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\tlinux-i2c <linux-i2c@vger.kernel.org>","References":"<20170903124156.7440-1-hdegoede@redhat.com>\n\t<20170903124156.7440-4-hdegoede@redhat.com>\n\t<CAHp75Ve2yCn3R42oUSW4LYgaMcFEh9eqZh3fCG8n=Zmu68WjvA@mail.gmail.com>","From":"Hans de Goede <hdegoede@redhat.com>","Message-ID":"<56295622-0532-d940-f79f-a91bb8146068@redhat.com>","Date":"Mon, 4 Sep 2017 15:38:44 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<CAHp75Ve2yCn3R42oUSW4LYgaMcFEh9eqZh3fCG8n=Zmu68WjvA@mail.gmail.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.15","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.27]);\n\tMon, 04 Sep 2017 13:38:47 +0000 (UTC)","Sender":"linux-i2c-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-i2c.vger.kernel.org>","X-Mailing-List":"linux-i2c@vger.kernel.org"}}]