get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/814622/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 814622,
    "url": "http://patchwork.ozlabs.org/api/patches/814622/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20170917093906.16325-5-linus.walleij@linaro.org/",
    "project": {
        "id": 35,
        "url": "http://patchwork.ozlabs.org/api/projects/35/?format=api",
        "name": "Linux I2C development",
        "link_name": "linux-i2c",
        "list_id": "linux-i2c.vger.kernel.org",
        "list_email": "linux-i2c@vger.kernel.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170917093906.16325-5-linus.walleij@linaro.org>",
    "list_archive_url": null,
    "date": "2017-09-17T09:39:03",
    "name": "[4/7] i2c: gpio: Augment all boardfiles to use open drain",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "a3d6f34561da65a8f243db8eb5cb02579a93150b",
    "submitter": {
        "id": 7055,
        "url": "http://patchwork.ozlabs.org/api/people/7055/?format=api",
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20170917093906.16325-5-linus.walleij@linaro.org/mbox/",
    "series": [
        {
            "id": 3497,
            "url": "http://patchwork.ozlabs.org/api/series/3497/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/list/?series=3497",
            "date": "2017-09-17T09:38:59",
            "name": "I2C GPIO to use gpiolibs open drain",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/3497/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/814622/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/814622/checks/",
    "tags": {},
    "related": [],
    "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 (1024-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"atFgsTxx\"; dkim-atps=neutral"
        ],
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xw3xw2j4jz9s72\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSun, 17 Sep 2017 19:39:32 +1000 (AEST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751263AbdIQJjb (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tSun, 17 Sep 2017 05:39:31 -0400",
            "from mail-lf0-f48.google.com ([209.85.215.48]:46938 \"EHLO\n\tmail-lf0-f48.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750995AbdIQJja (ORCPT\n\t<rfc822; linux-i2c@vger.kernel.org>); Sun, 17 Sep 2017 05:39:30 -0400",
            "by mail-lf0-f48.google.com with SMTP id m199so5590680lfe.3\n\tfor <linux-i2c@vger.kernel.org>; Sun, 17 Sep 2017 02:39:30 -0700 (PDT)",
            "from fabina.bredbandsbolaget.se\n\t(c-2209e055.014-348-6c756e10.cust.bredbandsbolaget.se.\n\t[85.224.9.34]) by smtp.gmail.com with ESMTPSA id\n\tt84sm974559lfi.21.2017.09.17.02.39.27\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tSun, 17 Sep 2017 02:39:28 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=z/uASDx3HajKok6qqeFCaNszgtF1owV59jX33hDibig=;\n\tb=atFgsTxxwn4Dxlp+gqu3b2Pu5EfV5Pqn6l16VpSJlcVi+f9b4MiGG7ottHZhkDffDh\n\tWdyw3AUIXt3isCgxK51bfV6FeffzQtRoD8C2D0UWXuOw34JjUJ3QYKgmz0DRzTg9RuLv\n\t/oautNO3hMDTOaSqRl1giIAbYIPH5iaE4/Uoo=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=z/uASDx3HajKok6qqeFCaNszgtF1owV59jX33hDibig=;\n\tb=RQeISFVbeIiqPviAQnw+oJEWrNeZv93bLpvpy6KlpY8rImDxhH1GBCuYQxx+BzhLdp\n\tOEumTi1EV6Kn9aZSc+P0HFHmwTPBTTFcyW2wJxpwkLa20Vyh3SuOsXNcz00N9oyo2Rlk\n\tIW9zfd04mgFflBjWixzTIBzfzzT4kRk69OozpBD+GpIEtTv/f96CeKpYbXqLPxMVCk8C\n\toXapWRJ+FLmOhsKqS5kwUepznAWWgYmJ9g5BcZXCEPtjdsp9bIsyasbrwig/1VO2Nzo5\n\tqgBrMdwi50wSCf4nYXufuo0n3LEuXN1mTiAYBuIYd2EuTPnbOumY32KiLhBKkOkqbm1s\n\tfWGg==",
        "X-Gm-Message-State": "AHPjjUhBpdKVhSpuWWcGL0D11HlCTICXSVR63nCeBgNlSKz03UezIuXP\n\tJeDs6tX4wRER7PVx",
        "X-Google-Smtp-Source": "AOwi7QBwnhJpwor6WhPQpbMll3H3yfKJFttfMWARvrxS19Uw/J9nj/UN9Qeav40jLvkIIamb/PstMg==",
        "X-Received": "by 10.25.25.80 with SMTP id 77mr2307363lfz.163.1505641169033;\n\tSun, 17 Sep 2017 02:39:29 -0700 (PDT)",
        "From": "Linus Walleij <linus.walleij@linaro.org>",
        "To": "Wolfram Sang <wsa@the-dreams.de>, linux-i2c@vger.kernel.org",
        "Cc": "linux-arm-kernel@lists.infradead.org, linux-mips@linux-mips.org,\n\tadi-buildroot-devel@lists.sourceforge.net,\n\tGeert Uytterhoeven <geert@linux-m68k.org>,\n\tLinus Walleij <linus.walleij@linaro.org>,\n\tSteven Miao <realmz6@gmail.com>, Ralf Baechle <ralf@linux-mips.org>",
        "Subject": "[PATCH 4/7] i2c: gpio: Augment all boardfiles to use open drain",
        "Date": "Sun, 17 Sep 2017 11:39:03 +0200",
        "Message-Id": "<20170917093906.16325-5-linus.walleij@linaro.org>",
        "X-Mailer": "git-send-email 2.13.5",
        "In-Reply-To": "<20170917093906.16325-1-linus.walleij@linaro.org>",
        "References": "<20170917093906.16325-1-linus.walleij@linaro.org>",
        "Sender": "linux-i2c-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<linux-i2c.vger.kernel.org>",
        "X-Mailing-List": "linux-i2c@vger.kernel.org"
    },
    "content": "We now handle the open drain mode internally in the I2C GPIO\ndriver, but we will get warnings from the gpiolib that we\noverride the default mode of the line so it becomes open\ndrain.\n\nWe can fix all in-kernel users by simply passing the right\nflag along in the descriptor table, and we already touched\nall of these files in the series so let's just tidy it up.\n\nCc: Steven Miao <realmz6@gmail.com>\nCc: Ralf Baechle <ralf@linux-mips.org>\nAcked-by: Olof Johansson <olof@lixom.net>\nAcked-by: Lee Jones <lee.jones@linaro.org>\nSigned-off-by: Linus Walleij <linus.walleij@linaro.org>\n---\nChangeLog v1->v2:\n- Collected ACKs.\n\nSteven (Blackfin): requesting ACK for Wolfram to take this patch.\nRalf (MIPS): requesting ACK for Wolfram to take this patch.\n---\n arch/arm/mach-ep93xx/core.c                  | 6 ++++--\n arch/arm/mach-ixp4xx/avila-setup.c           | 4 ++--\n arch/arm/mach-ixp4xx/dsmg600-setup.c         | 4 ++--\n arch/arm/mach-ixp4xx/fsg-setup.c             | 4 ++--\n arch/arm/mach-ixp4xx/ixdp425-setup.c         | 4 ++--\n arch/arm/mach-ixp4xx/nas100d-setup.c         | 4 ++--\n arch/arm/mach-ixp4xx/nslu2-setup.c           | 4 ++--\n arch/arm/mach-ks8695/board-acs5k.c           | 6 ++++--\n arch/arm/mach-pxa/palmz72.c                  | 6 ++++--\n arch/arm/mach-pxa/viper.c                    | 8 ++++----\n arch/arm/mach-sa1100/simpad.c                | 6 ++++--\n arch/blackfin/mach-bf533/boards/blackstamp.c | 4 ++--\n arch/blackfin/mach-bf533/boards/ezkit.c      | 4 ++--\n arch/blackfin/mach-bf533/boards/stamp.c      | 4 ++--\n arch/blackfin/mach-bf561/boards/ezkit.c      | 4 ++--\n arch/mips/alchemy/board-gpr.c                | 4 ++++\n arch/mips/ath79/mach-pb44.c                  | 4 ++--\n drivers/mfd/sm501.c                          | 4 ++--\n 18 files changed, 48 insertions(+), 36 deletions(-)",
    "diff": "diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c\nindex 6b4754ecaffc..efddea867cbe 100644\n--- a/arch/arm/mach-ep93xx/core.c\n+++ b/arch/arm/mach-ep93xx/core.c\n@@ -326,8 +326,10 @@ static struct gpiod_lookup_table ep93xx_i2c_gpiod_table = {\n \t.dev_id\t\t= \"i2c-gpio\",\n \t.table\t\t= {\n \t\t/* Use local offsets on gpiochip/port \"G\" */\n-\t\tGPIO_LOOKUP_IDX(\"G\", 1, NULL, 0, GPIO_ACTIVE_HIGH),\n-\t\tGPIO_LOOKUP_IDX(\"G\", 0, NULL, 1, GPIO_ACTIVE_HIGH),\n+\t\tGPIO_LOOKUP_IDX(\"G\", 1, NULL, 0,\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n+\t\tGPIO_LOOKUP_IDX(\"G\", 0, NULL, 1,\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/arm/mach-ixp4xx/avila-setup.c b/arch/arm/mach-ixp4xx/avila-setup.c\nindex 72122b5e7f28..bb6fbfc9b11a 100644\n--- a/arch/arm/mach-ixp4xx/avila-setup.c\n+++ b/arch/arm/mach-ixp4xx/avila-setup.c\n@@ -53,9 +53,9 @@ static struct gpiod_lookup_table avila_i2c_gpiod_table = {\n \t.dev_id\t\t= \"i2c-gpio\",\n \t.table\t\t= {\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", AVILA_SDA_PIN,\n-\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", AVILA_SCL_PIN,\n-\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/arm/mach-ixp4xx/dsmg600-setup.c b/arch/arm/mach-ixp4xx/dsmg600-setup.c\nindex 68ccd669051b..af543dd3da5d 100644\n--- a/arch/arm/mach-ixp4xx/dsmg600-setup.c\n+++ b/arch/arm/mach-ixp4xx/dsmg600-setup.c\n@@ -72,9 +72,9 @@ static struct gpiod_lookup_table dsmg600_i2c_gpiod_table = {\n \t.dev_id\t\t= \"i2c-gpio\",\n \t.table\t\t= {\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", DSMG600_SDA_PIN,\n-\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", DSMG600_SCL_PIN,\n-\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/arm/mach-ixp4xx/fsg-setup.c b/arch/arm/mach-ixp4xx/fsg-setup.c\nindex a0350ad15175..8afb3f4db376 100644\n--- a/arch/arm/mach-ixp4xx/fsg-setup.c\n+++ b/arch/arm/mach-ixp4xx/fsg-setup.c\n@@ -58,9 +58,9 @@ static struct gpiod_lookup_table fsg_i2c_gpiod_table = {\n \t.dev_id\t\t= \"i2c-gpio\",\n \t.table\t\t= {\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", FSG_SDA_PIN,\n-\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", FSG_SCL_PIN,\n-\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/arm/mach-ixp4xx/ixdp425-setup.c b/arch/arm/mach-ixp4xx/ixdp425-setup.c\nindex fd32ccde20c5..483d48bf252e 100644\n--- a/arch/arm/mach-ixp4xx/ixdp425-setup.c\n+++ b/arch/arm/mach-ixp4xx/ixdp425-setup.c\n@@ -126,9 +126,9 @@ static struct gpiod_lookup_table ixdp425_i2c_gpiod_table = {\n \t.dev_id\t\t= \"i2c-gpio\",\n \t.table\t\t= {\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", IXDP425_SDA_PIN,\n-\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", IXDP425_SCL_PIN,\n-\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/arm/mach-ixp4xx/nas100d-setup.c b/arch/arm/mach-ixp4xx/nas100d-setup.c\nindex 612ec8c63456..7e59c59c96a3 100644\n--- a/arch/arm/mach-ixp4xx/nas100d-setup.c\n+++ b/arch/arm/mach-ixp4xx/nas100d-setup.c\n@@ -104,9 +104,9 @@ static struct gpiod_lookup_table nas100d_i2c_gpiod_table = {\n \t.dev_id\t\t= \"i2c-gpio\",\n \t.table\t\t= {\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", NAS100D_SDA_PIN,\n-\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", NAS100D_SCL_PIN,\n-\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/arm/mach-ixp4xx/nslu2-setup.c b/arch/arm/mach-ixp4xx/nslu2-setup.c\nindex 13afb03b50fa..224717eb8ac2 100644\n--- a/arch/arm/mach-ixp4xx/nslu2-setup.c\n+++ b/arch/arm/mach-ixp4xx/nslu2-setup.c\n@@ -72,9 +72,9 @@ static struct gpiod_lookup_table nslu2_i2c_gpiod_table = {\n \t.dev_id\t\t= \"i2c-gpio\",\n \t.table\t\t= {\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", NSLU2_SDA_PIN,\n-\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"IXP4XX_GPIO_CHIP\", NSLU2_SCL_PIN,\n-\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/arm/mach-ks8695/board-acs5k.c b/arch/arm/mach-ks8695/board-acs5k.c\nindex f034724e01e1..937eb1d47e7b 100644\n--- a/arch/arm/mach-ks8695/board-acs5k.c\n+++ b/arch/arm/mach-ks8695/board-acs5k.c\n@@ -41,8 +41,10 @@\n static struct gpiod_lookup_table acs5k_i2c_gpiod_table = {\n \t.dev_id\t\t= \"i2c-gpio\",\n \t.table\t\t= {\n-\t\tGPIO_LOOKUP_IDX(\"KS8695\", 4, NULL, 0, GPIO_ACTIVE_HIGH),\n-\t\tGPIO_LOOKUP_IDX(\"KS8695\", 5, NULL, 1, GPIO_ACTIVE_HIGH),\n+\t\tGPIO_LOOKUP_IDX(\"KS8695\", 4, NULL, 0,\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n+\t\tGPIO_LOOKUP_IDX(\"KS8695\", 5, NULL, 1,\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c\nindex 94f75632c007..5877e547cecd 100644\n--- a/arch/arm/mach-pxa/palmz72.c\n+++ b/arch/arm/mach-pxa/palmz72.c\n@@ -324,8 +324,10 @@ static struct soc_camera_link palmz72_iclink = {\n static struct gpiod_lookup_table palmz72_i2c_gpiod_table = {\n \t.dev_id\t\t= \"i2c-gpio\",\n \t.table\t\t= {\n-\t\tGPIO_LOOKUP_IDX(\"gpio-pxa\", 118, NULL, 0, GPIO_ACTIVE_HIGH),\n-\t\tGPIO_LOOKUP_IDX(\"gpio-pxa\", 117, NULL, 1, GPIO_ACTIVE_HIGH),\n+\t\tGPIO_LOOKUP_IDX(\"gpio-pxa\", 118, NULL, 0,\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n+\t\tGPIO_LOOKUP_IDX(\"gpio-pxa\", 117, NULL, 1,\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c\nindex a680742bee2b..4185e7ff073f 100644\n--- a/arch/arm/mach-pxa/viper.c\n+++ b/arch/arm/mach-pxa/viper.c\n@@ -463,9 +463,9 @@ static struct gpiod_lookup_table viper_i2c_gpiod_table = {\n \t.dev_id\t\t= \"i2c-gpio\",\n \t.table\t\t= {\n \t\tGPIO_LOOKUP_IDX(\"gpio-pxa\", VIPER_RTC_I2C_SDA_GPIO,\n-\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"gpio-pxa\", VIPER_RTC_I2C_SCL_GPIO,\n-\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \n@@ -792,9 +792,9 @@ struct gpiod_lookup_table viper_tpm_i2c_gpiod_table = {\n \t.dev_id = \"i2c-gpio\",\n \t.table = {\n \t\tGPIO_LOOKUP_IDX(\"gpio-pxa\", VIPER_TPM_I2C_SDA_GPIO,\n-\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"gpio-pxa\", VIPER_TPM_I2C_SCL_GPIO,\n-\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/arm/mach-sa1100/simpad.c b/arch/arm/mach-sa1100/simpad.c\nindex c6e7e6d8733a..91526024964b 100644\n--- a/arch/arm/mach-sa1100/simpad.c\n+++ b/arch/arm/mach-sa1100/simpad.c\n@@ -327,8 +327,10 @@ static struct platform_device simpad_gpio_leds = {\n static struct gpiod_lookup_table simpad_i2c_gpiod_table = {\n \t.dev_id = \"i2c-gpio\",\n \t.table = {\n-\t\tGPIO_LOOKUP_IDX(\"gpio\", GPIO_GPIO21, NULL, 0, GPIO_ACTIVE_HIGH),\n-\t\tGPIO_LOOKUP_IDX(\"gpio\", GPIO_GPIO25, NULL, 1, GPIO_ACTIVE_HIGH),\n+\t\tGPIO_LOOKUP_IDX(\"gpio\", GPIO_GPIO21, NULL, 0,\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n+\t\tGPIO_LOOKUP_IDX(\"gpio\", GPIO_GPIO25, NULL, 1,\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/blackfin/mach-bf533/boards/blackstamp.c b/arch/blackfin/mach-bf533/boards/blackstamp.c\nindex d801ca5ca6c4..fab69c736515 100644\n--- a/arch/blackfin/mach-bf533/boards/blackstamp.c\n+++ b/arch/blackfin/mach-bf533/boards/blackstamp.c\n@@ -367,9 +367,9 @@ static struct gpiod_lookup_table bfin_i2c_gpiod_table = {\n \t.dev_id = \"i2c-gpio\",\n \t.table = {\n \t\tGPIO_LOOKUP_IDX(\"BFIN-GPIO\", GPIO_PF8, NULL, 0,\n-\t\t\t\tGPIO_ACTIVE_HIGH),\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"BFIN-GPIO\", GPIO_PF9, NULL, 1,\n-\t\t\t\tGPIO_ACTIVE_HIGH),\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c\nindex 463a72358b0e..d64d270e9e62 100644\n--- a/arch/blackfin/mach-bf533/boards/ezkit.c\n+++ b/arch/blackfin/mach-bf533/boards/ezkit.c\n@@ -395,9 +395,9 @@ static struct gpiod_lookup_table bfin_i2c_gpiod_table = {\n \t.dev_id = \"i2c-gpio\",\n \t.table = {\n \t\tGPIO_LOOKUP_IDX(\"BFIN-GPIO\", GPIO_PF1, NULL, 0,\n-\t\t\t\tGPIO_ACTIVE_HIGH),\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"BFIN-GPIO\", GPIO_PF0, NULL, 1,\n-\t\t\t\tGPIO_ACTIVE_HIGH),\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c\nindex d2479359adb7..27cbf2fa2c62 100644\n--- a/arch/blackfin/mach-bf533/boards/stamp.c\n+++ b/arch/blackfin/mach-bf533/boards/stamp.c\n@@ -517,9 +517,9 @@ static struct gpiod_lookup_table bfin_i2c_gpiod_table = {\n \t.dev_id = \"i2c-gpio\",\n \t.table = {\n \t\tGPIO_LOOKUP_IDX(\"BFIN-GPIO\", GPIO_PF2, NULL, 0,\n-\t\t\t\tGPIO_ACTIVE_HIGH),\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"BFIN-GPIO\", GPIO_PF3, NULL, 1,\n-\t\t\t\tGPIO_ACTIVE_HIGH),\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/blackfin/mach-bf561/boards/ezkit.c b/arch/blackfin/mach-bf561/boards/ezkit.c\nindex 72f757ebaa84..acc5363f60c6 100644\n--- a/arch/blackfin/mach-bf561/boards/ezkit.c\n+++ b/arch/blackfin/mach-bf561/boards/ezkit.c\n@@ -384,9 +384,9 @@ static struct gpiod_lookup_table bfin_i2c_gpiod_table = {\n \t.dev_id = \"i2c-gpio\",\n \t.table = {\n \t\tGPIO_LOOKUP_IDX(\"BFIN-GPIO\", GPIO_PF1, NULL, 0,\n-\t\t\t\tGPIO_ACTIVE_HIGH),\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"BFIN-GPIO\", GPIO_PF0, NULL, 1,\n-\t\t\t\tGPIO_ACTIVE_HIGH),\n+\t\t\t\tGPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/arch/mips/alchemy/board-gpr.c b/arch/mips/alchemy/board-gpr.c\nindex daebc36e5ecb..328d697e72b4 100644\n--- a/arch/mips/alchemy/board-gpr.c\n+++ b/arch/mips/alchemy/board-gpr.c\n@@ -235,6 +235,10 @@ static struct gpiod_lookup_table gpr_i2c_gpiod_table = {\n };\n \n static struct i2c_gpio_platform_data gpr_i2c_data = {\n+\t/*\n+\t * The open drain mode is hardwired somewhere or an electrical\n+\t * property of the alchemy GPIO controller.\n+\t */\n \t.sda_is_open_drain\t= 1,\n \t.scl_is_open_drain\t= 1,\n \t.udelay\t\t\t= 2,\t\t/* ~100 kHz */\ndiff --git a/arch/mips/ath79/mach-pb44.c b/arch/mips/ath79/mach-pb44.c\nindex a95409063847..6b2c6f3baefa 100644\n--- a/arch/mips/ath79/mach-pb44.c\n+++ b/arch/mips/ath79/mach-pb44.c\n@@ -37,9 +37,9 @@ static struct gpiod_lookup_table pb44_i2c_gpiod_table = {\n \t.dev_id = \"i2c-gpio\",\n \t.table = {\n \t\tGPIO_LOOKUP_IDX(\"ath79-gpio\", PB44_GPIO_I2C_SDA,\n-\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t\tGPIO_LOOKUP_IDX(\"ath79-gpio\", PB44_GPIO_I2C_SCL,\n-\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH),\n+\t\t\t\tNULL, 1, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),\n \t},\n };\n \ndiff --git a/drivers/mfd/sm501.c b/drivers/mfd/sm501.c\nindex 4d40d013a412..ad774161a22d 100644\n--- a/drivers/mfd/sm501.c\n+++ b/drivers/mfd/sm501.c\n@@ -1152,7 +1152,7 @@ static int sm501_register_gpio_i2c_instance(struct sm501_devdata *sm,\n \tlookup->table[0].chip_hwnum = iic->pin_sda % 32;\n \tlookup->table[0].con_id = NULL;\n \tlookup->table[0].idx = 0;\n-\tlookup->table[0].flags = GPIO_ACTIVE_HIGH;\n+\tlookup->table[0].flags = GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN;\n \tif (iic->pin_scl < 32)\n \t\tlookup->table[1].chip_label = \"SM501-LOW\";\n \telse\n@@ -1160,7 +1160,7 @@ static int sm501_register_gpio_i2c_instance(struct sm501_devdata *sm,\n \tlookup->table[1].chip_hwnum = iic->pin_scl % 32;\n \tlookup->table[1].con_id = NULL;\n \tlookup->table[1].idx = 1;\n-\tlookup->table[1].flags = GPIO_ACTIVE_HIGH;\n+\tlookup->table[1].flags = GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN;\n \tgpiod_add_lookup_table(lookup);\n \n \ticd = dev_get_platdata(&pdev->dev);\n",
    "prefixes": [
        "4/7"
    ]
}