[{"id":1762789,"web_url":"http://patchwork.ozlabs.org/comment/1762789/","msgid":"<ff3b2326-81ea-76ca-d737-11f27eef75cb@gmail.com>","list_archive_url":null,"date":"2017-09-04T17:00:45","subject":"Re: [PATCH 1/1] net: mdio-mux: add mdio_mux parameter to\n\tmdio_mux_init()","submitter":{"id":2800,"url":"http://patchwork.ozlabs.org/api/people/2800/","name":"Florian Fainelli","email":"f.fainelli@gmail.com"},"content":"On 09/04/2017 09:30 AM, Corentin Labbe wrote:\n> mdio_mux_init() use the parameter dev for two distinct thing:\n> 1) Have a device for all devm_ functions\n> 2) Get device_node from it\n> \n> Since it is two distinct purpose, this patch add a parameter mdio_mux\n> that is linked to task 2.\n> \n> This will also permit to register an of_node mdio-mux that lacks a direct\n> owning device.\n> For example a mdio-mux which is a subnode of a real device.\n\nThis looks fine, I was going to suggest introducing a wrapper around\nmdio_mux_init() which does something along the lines below, but\nconsidering the number of users of mdio_mux_init() within the kernel\ntree, it's reasonably easy to audit those, therefore:\n\nReviewed-by: Florian Fainelli <f.fainelli@gmail.com>\n\ndiff --git a/include/linux/mdio-mux.h b/include/linux/mdio-mux.h\nindex 61f5b21b31c7..0316186c91b5 100644\n--- a/include/linux/mdio-mux.h\n+++ b/include/linux/mdio-mux.h\n@@ -12,11 +12,19 @@\n #include <linux/device.h>\n #include <linux/phy.h>\n\n-int mdio_mux_init(struct device *dev,\n-                 int (*switch_fn) (int cur, int desired, void *data),\n-                 void **mux_handle,\n-                 void *data,\n-                 struct mii_bus *mux_bus);\n+int mdio_mux_init_dn(struct device *dev, struct device_node *mux_node,\n+                    int (*switch_fn)(int cur, int desired, void *data),\n+                    void **mux_handle, void *data,\n+                    struct mii_bus *mux_bus);\n+\n+static inline int mdio_mux_init(struct device *dev,\n+                               int (*switch_fn)(int cur, int desired,\nvoid *data),\n+                               void **mux_handle, void *data,\n+                               struct mii_bus *mux_bus)\n+{\n+       return mdio_mux_init_dn(dev, dev->of_node, switch_fn,\n+                               mux_handle, data, mux_bus);\n+}\n\n> \n> Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>\n> ---\n>  drivers/net/phy/mdio-mux-bcm-iproc.c | 2 +-\n>  drivers/net/phy/mdio-mux-gpio.c      | 2 +-\n>  drivers/net/phy/mdio-mux-mmioreg.c   | 3 ++-\n>  drivers/net/phy/mdio-mux.c           | 7 ++++---\n>  include/linux/mdio-mux.h             | 9 +++++++++\n>  5 files changed, 17 insertions(+), 6 deletions(-)\n> \n> diff --git a/drivers/net/phy/mdio-mux-bcm-iproc.c b/drivers/net/phy/mdio-mux-bcm-iproc.c\n> index 0a5f62e0efcc..0831b7142df7 100644\n> --- a/drivers/net/phy/mdio-mux-bcm-iproc.c\n> +++ b/drivers/net/phy/mdio-mux-bcm-iproc.c\n> @@ -199,7 +199,7 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev)\n>  \n>  \tplatform_set_drvdata(pdev, md);\n>  \n> -\trc = mdio_mux_init(md->dev, mdio_mux_iproc_switch_fn,\n> +\trc = mdio_mux_init(md->dev, md->dev->of_node, mdio_mux_iproc_switch_fn,\n>  \t\t\t   &md->mux_handle, md, md->mii_bus);\n>  \tif (rc) {\n>  \t\tdev_info(md->dev, \"mdiomux initialization failed\\n\");\n> diff --git a/drivers/net/phy/mdio-mux-gpio.c b/drivers/net/phy/mdio-mux-gpio.c\n> index 919949960a10..082ffef0dec4 100644\n> --- a/drivers/net/phy/mdio-mux-gpio.c\n> +++ b/drivers/net/phy/mdio-mux-gpio.c\n> @@ -54,7 +54,7 @@ static int mdio_mux_gpio_probe(struct platform_device *pdev)\n>  \tif (IS_ERR(s->gpios))\n>  \t\treturn PTR_ERR(s->gpios);\n>  \n> -\tr = mdio_mux_init(&pdev->dev,\n> +\tr = mdio_mux_init(&pdev->dev, pdev->dev.of_node,\n>  \t\t\t  mdio_mux_gpio_switch_fn, &s->mux_handle, s, NULL);\n>  \n>  \tif (r != 0) {\n> diff --git a/drivers/net/phy/mdio-mux-mmioreg.c b/drivers/net/phy/mdio-mux-mmioreg.c\n> index c3825c7da038..2573ab012f16 100644\n> --- a/drivers/net/phy/mdio-mux-mmioreg.c\n> +++ b/drivers/net/phy/mdio-mux-mmioreg.c\n> @@ -159,7 +159,8 @@ static int mdio_mux_mmioreg_probe(struct platform_device *pdev)\n>  \t\t}\n>  \t}\n>  \n> -\tret = mdio_mux_init(&pdev->dev, mdio_mux_mmioreg_switch_fn,\n> +\tret = mdio_mux_init(&pdev->dev, pdev->dev.of_node,\n> +\t\t\t    mdio_mux_mmioreg_switch_fn,\n>  \t\t\t    &s->mux_handle, s, NULL);\n>  \tif (ret) {\n>  \t\tdev_err(&pdev->dev, \"failed to register mdio-mux bus %pOF\\n\",\n> diff --git a/drivers/net/phy/mdio-mux.c b/drivers/net/phy/mdio-mux.c\n> index 6f75e9f27fed..0a86f1e4c02f 100644\n> --- a/drivers/net/phy/mdio-mux.c\n> +++ b/drivers/net/phy/mdio-mux.c\n> @@ -86,6 +86,7 @@ static int mdio_mux_write(struct mii_bus *bus, int phy_id,\n>  static int parent_count;\n>  \n>  int mdio_mux_init(struct device *dev,\n> +\t\t  struct device_node *mux_node,\n>  \t\t  int (*switch_fn)(int cur, int desired, void *data),\n>  \t\t  void **mux_handle,\n>  \t\t  void *data,\n> @@ -98,11 +99,11 @@ int mdio_mux_init(struct device *dev,\n>  \tstruct mdio_mux_parent_bus *pb;\n>  \tstruct mdio_mux_child_bus *cb;\n>  \n> -\tif (!dev->of_node)\n> +\tif (!mux_node)\n>  \t\treturn -ENODEV;\n>  \n>  \tif (!mux_bus) {\n> -\t\tparent_bus_node = of_parse_phandle(dev->of_node,\n> +\t\tparent_bus_node = of_parse_phandle(mux_node,\n>  \t\t\t\t\t\t   \"mdio-parent-bus\", 0);\n>  \n>  \t\tif (!parent_bus_node)\n> @@ -132,7 +133,7 @@ int mdio_mux_init(struct device *dev,\n>  \tpb->mii_bus = parent_bus;\n>  \n>  \tret_val = -ENODEV;\n> -\tfor_each_available_child_of_node(dev->of_node, child_bus_node) {\n> +\tfor_each_available_child_of_node(mux_node, child_bus_node) {\n>  \t\tint v;\n>  \n>  \t\tr = of_property_read_u32(child_bus_node, \"reg\", &v);\n> diff --git a/include/linux/mdio-mux.h b/include/linux/mdio-mux.h\n> index 61f5b21b31c7..a5d58f221939 100644\n> --- a/include/linux/mdio-mux.h\n> +++ b/include/linux/mdio-mux.h\n> @@ -12,7 +12,16 @@\n>  #include <linux/device.h>\n>  #include <linux/phy.h>\n>  \n> +/* mdio_mux_init() - Initialize a MDIO mux\n> + * @dev\t\tThe device owning the MDIO mux\n> + * @mux_node\tThe device node of the MDIO mux\n> + * @switch_fn\tThe function called for switching target MDIO child\n> + * mux_handle\tA pointer to a (void *) used internaly by mdio-mux\n> + * @data\tPrivate data used by switch_fn()\n> + * @mux_bus\tAn optional parent bus (Other case are to use parent_bus property)\n> + */\n>  int mdio_mux_init(struct device *dev,\n> +\t\t  struct device_node *mux_node,\n>  \t\t  int (*switch_fn) (int cur, int desired, void *data),\n>  \t\t  void **mux_handle,\n>  \t\t  void *data,\n>","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@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=netdev-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=\"PVro5x2T\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xmGMS702Mz9t16\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue,  5 Sep 2017 03:01:08 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753945AbdIDRAw (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tMon, 4 Sep 2017 13:00:52 -0400","from mail-oi0-f66.google.com ([209.85.218.66]:35911 \"EHLO\n\tmail-oi0-f66.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1753847AbdIDRAt (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Mon, 4 Sep 2017 13:00:49 -0400","by mail-oi0-f66.google.com with SMTP id g15so719886oib.3;\n\tMon, 04 Sep 2017 10:00:49 -0700 (PDT)","from ?IPv6:2001:470:d:73f:11be:5071:741:2eeb?\n\t([2001:470:d:73f:11be:5071:741:2eeb])\n\tby smtp.gmail.com with ESMTPSA id\n\tu132sm9233573oig.34.2017.09.04.10.00.46\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tMon, 04 Sep 2017 10:00:47 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=/QDqOueKyfHOaN3ZDf9pTgbJyuc6hGHAX1skAgvaACI=;\n\tb=PVro5x2TKGiy2DmsnYm0gD1pxEszBhqd3HkmNaRcwCcyfPs/T20dluSAU7jzBvAy3S\n\t4LtYdKdIdaZ7zbG6C5H5Jdg1e2rx5Rz8BlvZZ7Q5kCpeto/Wp+MpTsIEg+LPJRdGwn66\n\t9UTORXptbGdquDgq45FePFeKVX/k79rVhxnnkVkoY8hAj6P0HkV1H4hzQlbT4rziMioX\n\tU3VAW6ykEJTU7rnGu7xjbsY3SIF/ZRxJrHQr0yBTPWoYLCnRYmB192ihfk0oGK0UWwQA\n\t+Whm9hWwU3typS0b8cdQ1bO+BxVrFXkS21OIhhC63aaGgIuITGbNFvjmQjNvrnM+MLZJ\n\tMiRQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:cc:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=/QDqOueKyfHOaN3ZDf9pTgbJyuc6hGHAX1skAgvaACI=;\n\tb=DELkFf1kN6hWbZSb691Sz1pXlCKnvQ8HfAGWsrumO/ENiCs/s7yaa/qFp5XJiGwhjm\n\tZky6km7OkPXFpiOH32uB2RFAbnMfBRhPJEUshWRJjPszprjNqe84xLPQwsyU+lR4mreW\n\tyUphB91TsX55rm/bnLlE/VS8J4gtRdwTgvoTv1xKixhT3XEmSbB+QKEa8FgCwf0knMVm\n\tDoKUuh2/LZ4g2eKDZUa8b3nYJxWM8me1vfCPUZlWjlIp1Wjq0d5B6yNVmntG+NxcK/47\n\tXR8o4SQpp7UYpVZpzZKlNlEqnMGOGmdyFALnNKgmWVLfyP0Ytui+4SZe3TT9N6g5gpKf\n\tlhmQ==","X-Gm-Message-State":"AHPjjUgzIQ1VgqI5uB7R351pQ10CsWIcYNFtUOoVkQulI5a9/FPdopE+\n\t9aRSwe817qKzh0xgUE8=","X-Google-Smtp-Source":"ADKCNb7nwFqs84oaluiN5HDjGZfmM8Kle0citLamlwddIQQ/0a+HLfU17LKnz3yJK7YVuxLN8mrfvg==","X-Received":"by 10.202.81.200 with SMTP id f191mr1138582oib.137.1504544448332;\n\tMon, 04 Sep 2017 10:00:48 -0700 (PDT)","Subject":"Re: [PATCH 1/1] net: mdio-mux: add mdio_mux parameter to\n\tmdio_mux_init()","To":"Corentin Labbe <clabbe.montjoie@gmail.com>, andrew@lunn.ch,\n\trjui@broadcom.com, sbranden@broadcom.com, jonmason@broadcom.com","Cc":"bcm-kernel-feedback-list@broadcom.com, netdev@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org","References":"<20170904163014.955-1-clabbe.montjoie@gmail.com>\n\t<20170904163014.955-2-clabbe.montjoie@gmail.com>","From":"Florian Fainelli <f.fainelli@gmail.com>","Message-ID":"<ff3b2326-81ea-76ca-d737-11f27eef75cb@gmail.com>","Date":"Mon, 4 Sep 2017 10:00:45 -0700","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":"<20170904163014.955-2-clabbe.montjoie@gmail.com>","Content-Type":"text/plain; charset=windows-1252","Content-Language":"en-US","Content-Transfer-Encoding":"8bit","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1762790,"web_url":"http://patchwork.ozlabs.org/comment/1762790/","msgid":"<db7325bd-aee0-a920-a60c-6ce113f833c0@gmail.com>","list_archive_url":null,"date":"2017-09-04T17:00:35","subject":"Re: [PATCH 1/1] net: mdio-mux: add mdio_mux parameter to\n\tmdio_mux_init()","submitter":{"id":2800,"url":"http://patchwork.ozlabs.org/api/people/2800/","name":"Florian Fainelli","email":"f.fainelli@gmail.com"},"content":"On 09/04/2017 09:30 AM, Corentin Labbe wrote:\n> mdio_mux_init() use the parameter dev for two distinct thing:\n> 1) Have a device for all devm_ functions\n> 2) Get device_node from it\n> \n> Since it is two distinct purpose, this patch add a parameter mdio_mux\n> that is linked to task 2.\n> \n> This will also permit to register an of_node mdio-mux that lacks a direct\n> owning device.\n> For example a mdio-mux which is a subnode of a real device.\n\nThis looks fine, I was going to suggest introducing a wrapper around\nmdio_mux_init() which does something along the lines below, but\nconsidering the number of users of mdio_mux_init() within the kernel\ntree, it's reasonably easy to audit those, therefore:\n\nReviewed-by: Florian Fainelli <f.fainelli@gmail.com>\n\ndiff --git a/include/linux/mdio-mux.h b/include/linux/mdio-mux.h\nindex 61f5b21b31c7..0316186c91b5 100644\n--- a/include/linux/mdio-mux.h\n+++ b/include/linux/mdio-mux.h\n@@ -12,11 +12,19 @@\n #include <linux/device.h>\n #include <linux/phy.h>\n\n-int mdio_mux_init(struct device *dev,\n-                 int (*switch_fn) (int cur, int desired, void *data),\n-                 void **mux_handle,\n-                 void *data,\n-                 struct mii_bus *mux_bus);\n+int mdio_mux_init_dn(struct device *dev, struct device_node *mux_node,\n+                    int (*switch_fn)(int cur, int desired, void *data),\n+                    void **mux_handle, void *data,\n+                    struct mii_bus *mux_bus);\n+\n+static inline int mdio_mux_init(struct device *dev,\n+                               int (*switch_fn)(int cur, int desired,\nvoid *data),\n+                               void **mux_handle, void *data,\n+                               struct mii_bus *mux_bus)\n+{\n+       return mdio_mux_init_dn(dev, dev->of_node, switch_fn,\n+                               mux_handle, data, mux_bus);\n+}\n\n> \n> Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>\n> ---\n>  drivers/net/phy/mdio-mux-bcm-iproc.c | 2 +-\n>  drivers/net/phy/mdio-mux-gpio.c      | 2 +-\n>  drivers/net/phy/mdio-mux-mmioreg.c   | 3 ++-\n>  drivers/net/phy/mdio-mux.c           | 7 ++++---\n>  include/linux/mdio-mux.h             | 9 +++++++++\n>  5 files changed, 17 insertions(+), 6 deletions(-)\n> \n> diff --git a/drivers/net/phy/mdio-mux-bcm-iproc.c b/drivers/net/phy/mdio-mux-bcm-iproc.c\n> index 0a5f62e0efcc..0831b7142df7 100644\n> --- a/drivers/net/phy/mdio-mux-bcm-iproc.c\n> +++ b/drivers/net/phy/mdio-mux-bcm-iproc.c\n> @@ -199,7 +199,7 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev)\n>  \n>  \tplatform_set_drvdata(pdev, md);\n>  \n> -\trc = mdio_mux_init(md->dev, mdio_mux_iproc_switch_fn,\n> +\trc = mdio_mux_init(md->dev, md->dev->of_node, mdio_mux_iproc_switch_fn,\n>  \t\t\t   &md->mux_handle, md, md->mii_bus);\n>  \tif (rc) {\n>  \t\tdev_info(md->dev, \"mdiomux initialization failed\\n\");\n> diff --git a/drivers/net/phy/mdio-mux-gpio.c b/drivers/net/phy/mdio-mux-gpio.c\n> index 919949960a10..082ffef0dec4 100644\n> --- a/drivers/net/phy/mdio-mux-gpio.c\n> +++ b/drivers/net/phy/mdio-mux-gpio.c\n> @@ -54,7 +54,7 @@ static int mdio_mux_gpio_probe(struct platform_device *pdev)\n>  \tif (IS_ERR(s->gpios))\n>  \t\treturn PTR_ERR(s->gpios);\n>  \n> -\tr = mdio_mux_init(&pdev->dev,\n> +\tr = mdio_mux_init(&pdev->dev, pdev->dev.of_node,\n>  \t\t\t  mdio_mux_gpio_switch_fn, &s->mux_handle, s, NULL);\n>  \n>  \tif (r != 0) {\n> diff --git a/drivers/net/phy/mdio-mux-mmioreg.c b/drivers/net/phy/mdio-mux-mmioreg.c\n> index c3825c7da038..2573ab012f16 100644\n> --- a/drivers/net/phy/mdio-mux-mmioreg.c\n> +++ b/drivers/net/phy/mdio-mux-mmioreg.c\n> @@ -159,7 +159,8 @@ static int mdio_mux_mmioreg_probe(struct platform_device *pdev)\n>  \t\t}\n>  \t}\n>  \n> -\tret = mdio_mux_init(&pdev->dev, mdio_mux_mmioreg_switch_fn,\n> +\tret = mdio_mux_init(&pdev->dev, pdev->dev.of_node,\n> +\t\t\t    mdio_mux_mmioreg_switch_fn,\n>  \t\t\t    &s->mux_handle, s, NULL);\n>  \tif (ret) {\n>  \t\tdev_err(&pdev->dev, \"failed to register mdio-mux bus %pOF\\n\",\n> diff --git a/drivers/net/phy/mdio-mux.c b/drivers/net/phy/mdio-mux.c\n> index 6f75e9f27fed..0a86f1e4c02f 100644\n> --- a/drivers/net/phy/mdio-mux.c\n> +++ b/drivers/net/phy/mdio-mux.c\n> @@ -86,6 +86,7 @@ static int mdio_mux_write(struct mii_bus *bus, int phy_id,\n>  static int parent_count;\n>  \n>  int mdio_mux_init(struct device *dev,\n> +\t\t  struct device_node *mux_node,\n>  \t\t  int (*switch_fn)(int cur, int desired, void *data),\n>  \t\t  void **mux_handle,\n>  \t\t  void *data,\n> @@ -98,11 +99,11 @@ int mdio_mux_init(struct device *dev,\n>  \tstruct mdio_mux_parent_bus *pb;\n>  \tstruct mdio_mux_child_bus *cb;\n>  \n> -\tif (!dev->of_node)\n> +\tif (!mux_node)\n>  \t\treturn -ENODEV;\n>  \n>  \tif (!mux_bus) {\n> -\t\tparent_bus_node = of_parse_phandle(dev->of_node,\n> +\t\tparent_bus_node = of_parse_phandle(mux_node,\n>  \t\t\t\t\t\t   \"mdio-parent-bus\", 0);\n>  \n>  \t\tif (!parent_bus_node)\n> @@ -132,7 +133,7 @@ int mdio_mux_init(struct device *dev,\n>  \tpb->mii_bus = parent_bus;\n>  \n>  \tret_val = -ENODEV;\n> -\tfor_each_available_child_of_node(dev->of_node, child_bus_node) {\n> +\tfor_each_available_child_of_node(mux_node, child_bus_node) {\n>  \t\tint v;\n>  \n>  \t\tr = of_property_read_u32(child_bus_node, \"reg\", &v);\n> diff --git a/include/linux/mdio-mux.h b/include/linux/mdio-mux.h\n> index 61f5b21b31c7..a5d58f221939 100644\n> --- a/include/linux/mdio-mux.h\n> +++ b/include/linux/mdio-mux.h\n> @@ -12,7 +12,16 @@\n>  #include <linux/device.h>\n>  #include <linux/phy.h>\n>  \n> +/* mdio_mux_init() - Initialize a MDIO mux\n> + * @dev\t\tThe device owning the MDIO mux\n> + * @mux_node\tThe device node of the MDIO mux\n> + * @switch_fn\tThe function called for switching target MDIO child\n> + * mux_handle\tA pointer to a (void *) used internaly by mdio-mux\n> + * @data\tPrivate data used by switch_fn()\n> + * @mux_bus\tAn optional parent bus (Other case are to use parent_bus property)\n> + */\n>  int mdio_mux_init(struct device *dev,\n> +\t\t  struct device_node *mux_node,\n>  \t\t  int (*switch_fn) (int cur, int desired, void *data),\n>  \t\t  void **mux_handle,\n>  \t\t  void *data,\n>","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@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=netdev-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=\"PRTWOBAV\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xmGMd1nQJz9t16\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue,  5 Sep 2017 03:01:17 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753897AbdIDRAn (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tMon, 4 Sep 2017 13:00:43 -0400","from mail-oi0-f67.google.com ([209.85.218.67]:37897 \"EHLO\n\tmail-oi0-f67.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1753847AbdIDRAl (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Mon, 4 Sep 2017 13:00:41 -0400","by mail-oi0-f67.google.com with SMTP id t75so712463oie.5;\n\tMon, 04 Sep 2017 10:00:41 -0700 (PDT)","from ?IPv6:2001:470:d:73f:11be:5071:741:2eeb?\n\t([2001:470:d:73f:11be:5071:741:2eeb])\n\tby smtp.gmail.com with ESMTPSA id\n\th76sm15890385oig.28.2017.09.04.10.00.37\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tMon, 04 Sep 2017 10:00:39 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=/QDqOueKyfHOaN3ZDf9pTgbJyuc6hGHAX1skAgvaACI=;\n\tb=PRTWOBAVHxpF04Z6kuUwjt2UgdgxnuKWcOtPZiUIjg/HPEIHxJR6OhA5G2af9aomqH\n\tPXX+MJkP9CKrXURNgjG4n0zMejpjg+w7mc2XaMtv+Guy8nL+wSSPDMg9TOnL7UBdsLLO\n\t8jJMdfukLtk6mTtiiArdoSR6bNjHkqIUu3aDTxPHyvshPg+yRk75PICKLJ+w0mg86FPc\n\t0Gg2LmNw/71V4szRMyX4tfMArZ4OTSDsYuLOFiJdfj3wOxcBqzPxGqAk7ibm9BpK0mQR\n\tOmSIWIrOUr8AvH+WS3UkY+/haFFJgKOjN99nIHr2cQ81jTQ+fiYd41fcR5wTQ2JUeDsY\n\tPi1g==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:cc:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=/QDqOueKyfHOaN3ZDf9pTgbJyuc6hGHAX1skAgvaACI=;\n\tb=DKGXcM9A5bA04ilfC7T1JeYdRoGgHH4ZOarOu4hVdV0nvGhy7TWiJheKij5wJm19Ol\n\tQAg7Qb4+2gluq/b1P8majSzPgwnE3E1AE/l1Qennj+fB6d2U5M1wLOv1GuSIWzuVoxhh\n\tijEKnRqfF5tLuM8fDWgqAURlsMsZj4bUyovNDwgZ2zJIH2Mf8+w3qrJNdh0XQbKw2aAZ\n\tvFsOXNclUSAXNnq9WCMqHcvXbo8yWqYm+rzesB+ejoY5qjCVjeO1h+YWeRZ/fCU5Cayc\n\tvNRNQ88R3ZZbFV0ws1t87UVRvwbMBsR7ocFSM04Db5xxVO+IKs0slgwtsAwzNSWVjYyh\n\tf2+g==","X-Gm-Message-State":"AHPjjUhm2H8E4mhe17pQY1O8jFfio1pU7NQEBBZU1lexJjN0pjmwJfyJ\n\t3BvNyP8rCjc+nFxiNEQ=","X-Google-Smtp-Source":"ADKCNb5n5Hn/F9w+9e0YGZw5YT735TuFMhL817ji1LK0uohzi2G5Gz8DoGSUNRvgr+GicEtuLbWWjg==","X-Received":"by 10.202.196.5 with SMTP id u5mr1236424oif.314.1504544440297;\n\tMon, 04 Sep 2017 10:00:40 -0700 (PDT)","Subject":"Re: [PATCH 1/1] net: mdio-mux: add mdio_mux parameter to\n\tmdio_mux_init()","To":"Corentin Labbe <clabbe.montjoie@gmail.com>, andrew@lunn.ch,\n\trjui@broadcom.com, sbranden@broadcom.com, jonmason@broadcom.com","Cc":"bcm-kernel-feedback-list@broadcom.com, netdev@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org","References":"<20170904163014.955-1-clabbe.montjoie@gmail.com>\n\t<20170904163014.955-2-clabbe.montjoie@gmail.com>","From":"Florian Fainelli <f.fainelli@gmail.com>","Message-ID":"<db7325bd-aee0-a920-a60c-6ce113f833c0@gmail.com>","Date":"Mon, 4 Sep 2017 10:00:35 -0700","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":"<20170904163014.955-2-clabbe.montjoie@gmail.com>","Content-Type":"text/plain; charset=windows-1252","Content-Language":"en-US","Content-Transfer-Encoding":"8bit","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]