Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/955978/?format=api
{ "id": 955978, "url": "http://patchwork.ozlabs.org/api/patches/955978/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20180810060711.6547-23-jagan@amarulasolutions.com/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api", "name": "U-Boot", "link_name": "uboot", "list_id": "u-boot.lists.denx.de", "list_email": "u-boot@lists.denx.de", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20180810060711.6547-23-jagan@amarulasolutions.com>", "list_archive_url": null, "date": "2018-08-10T06:06:40", "name": "[U-Boot,v2,22/53] reset: Add get reset by name optionally", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "4223a103710ff7263c0f98fba111383f780eb4e8", "submitter": { "id": 69820, "url": "http://patchwork.ozlabs.org/api/people/69820/?format=api", "name": "Jagan Teki", "email": "jagan@amarulasolutions.com" }, "delegate": { "id": 17739, "url": "http://patchwork.ozlabs.org/api/users/17739/?format=api", "username": "jagan", "first_name": "Jagannadha Sutradharudu", "last_name": "Teki", "email": "jagannadh.teki@gmail.com" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20180810060711.6547-23-jagan@amarulasolutions.com/mbox/", "series": [ { "id": 60190, "url": "http://patchwork.ozlabs.org/api/series/60190/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=60190", "date": "2018-08-10T06:06:18", "name": "clk: Add Allwinner CLK, RESET support", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/60190/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/955978/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/955978/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<u-boot-bounces@lists.denx.de>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)", "ozlabs.org; dmarc=none (p=none dis=none)\n\theader.from=amarulasolutions.com", "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=amarulasolutions.com\n\theader.i=@amarulasolutions.com header.b=\"PtMvEBEx\"; \n\tdkim-atps=neutral" ], "Received": [ "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 41mwJy6GJHz9s7Q\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 10 Aug 2018 16:32:18 +1000 (AEST)", "by lists.denx.de (Postfix, from userid 105)\n\tid 87A8DC21DCA; Fri, 10 Aug 2018 06:20:18 +0000 (UTC)", "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 7E130C21EBB;\n\tFri, 10 Aug 2018 06:10:23 +0000 (UTC)", "by lists.denx.de (Postfix, from userid 105)\n\tid 5CFFBC21E5B; Fri, 10 Aug 2018 06:09:07 +0000 (UTC)", "from mail-pf1-f176.google.com (mail-pf1-f176.google.com\n\t[209.85.210.176])\n\tby lists.denx.de (Postfix) with ESMTPS id 0D525C21DA2\n\tfor <u-boot@lists.denx.de>; Fri, 10 Aug 2018 06:09:02 +0000 (UTC)", "by mail-pf1-f176.google.com with SMTP id i26-v6so4004173pfo.12\n\tfor <u-boot@lists.denx.de>; Thu, 09 Aug 2018 23:09:01 -0700 (PDT)", "from localhost.localdomain ([183.82.228.250])\n\tby smtp.gmail.com with ESMTPSA id\n\tr23-v6sm16880975pfj.5.2018.08.09.23.08.57\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tThu, 09 Aug 2018 23:09:00 -0700 (PDT)" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de", "X-Spam-Level": "", "X-Spam-Status": "No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,\n\tT_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=amarulasolutions.com; s=google;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=lX+0ebNKll/Gl/BIRb/+7b8sGvZR5O2BLpwAhzYRBwc=;\n\tb=PtMvEBExIH12nGWfKFc/MdcfMsbPEDVkp3yjFb4wcW41k1WDx+pJqpdSEcP1V4tFab\n\tlPo0q6ipduNm/aa3hhXVB3DewuBjnafzapC0aIycm1nGTDpXo3PthfTv4OWwZicYYObj\n\t+hJM7zVuiGLykpNqlnfvnIBKsK3hqq11CHV0k=", "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:mime-version:content-transfer-encoding;\n\tbh=lX+0ebNKll/Gl/BIRb/+7b8sGvZR5O2BLpwAhzYRBwc=;\n\tb=WN0qz/5z4llw0TnsxCPiiA6xjvG4aFc1mLNkfmbs/qKrmIqI79MrRrrf3JyTqY4O/4\n\tQ8j0dnDVo9UxYqTdBcyjqmN6922AXCigpOTC8whJyEYn8YSL6A72DcOqWRKFC4aCMnnY\n\tmVEeJgAJ61J27JiKKgWiFEpkS0lyoldWI9hEBuJ0LbcA6J/heDMAw5vIIMhIIbBPPANj\n\tAwEv/qCMum+Ns29NfAlFBiHO86Peq5Pgp7PJUp8AplEYxIp8XjD4XL/Tsq+0Yzy0LD4z\n\tDrD/hQZOxcedXtwdO9oBxiFqW+d6VQ20dOugN+A7N5OAf1O8MaOymwYxUFMZvPbxIWhQ\n\tiyGg==", "X-Gm-Message-State": "AOUpUlH/YOe5ArZ8leEBpzJ1+jEgucKlWeKAT/bEdpkvHRof5n36nYsJ\n\tz2Tm/8amCT++IVC2csiTIRlmjg==", "X-Google-Smtp-Source": "AA+uWPxLAMniBydCAV4S+176jTXyGWCEqwtKMTk1rOj+tGgq3R0BYlNVT/wLMOgQIMfgPP7Mwc74UQ==", "X-Received": "by 2002:a63:e206:: with SMTP id\n\tq6-v6mr5014035pgh.223.1533881340666; \n\tThu, 09 Aug 2018 23:09:00 -0700 (PDT)", "From": "Jagan Teki <jagan@amarulasolutions.com>", "To": "Maxime Ripard <maxime.ripard@bootlin.com>,\n\tAndre Przywara <andre.przywara@arm.com>, Chen-Yu Tsai <wens@csie.org>,\n\tIcenowy Zheng <icenowy@aosc.io>", "Date": "Fri, 10 Aug 2018 11:36:40 +0530", "Message-Id": "<20180810060711.6547-23-jagan@amarulasolutions.com>", "X-Mailer": "git-send-email 2.18.0.321.gffc6fa0e3", "In-Reply-To": "<20180810060711.6547-1-jagan@amarulasolutions.com>", "References": "<20180810060711.6547-1-jagan@amarulasolutions.com>", "MIME-Version": "1.0", "Cc": "Tom Rini <trini@konsulko.com>, u-boot@lists.denx.de", "Subject": "[U-Boot] [PATCH v2 22/53] reset: Add get reset by name optionally", "X-BeenThere": "u-boot@lists.denx.de", "X-Mailman-Version": "2.1.18", "Precedence": "list", "List-Id": "U-Boot discussion <u-boot.lists.denx.de>", "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>", "List-Archive": "<http://lists.denx.de/pipermail/u-boot/>", "List-Post": "<mailto:u-boot@lists.denx.de>", "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>", "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "Errors-To": "u-boot-bounces@lists.denx.de", "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>" }, "content": "Reset is an optional for some controllers with some families\nof CPU's with same SoC where the common IP driver can handle\nto drive the entire SoC families. optional reset get by name\nis useful for those drivers to make common way of reset handling.\n\nExample, In Allwinner SoC with MMC controllers has no reset\nfor Sun4i, 5i, 7i but reset have reset.\n\nCc: Simon Glass <sjg@chromium.org>\nSigned-off-by: Jagan Teki <jagan@amarulasolutions.com>\n---\n drivers/reset/reset-uclass.c | 18 ++++++++++++++++++\n include/reset.h | 25 +++++++++++++++++++++++++\n 2 files changed, 43 insertions(+)", "diff": "diff --git a/drivers/reset/reset-uclass.c b/drivers/reset/reset-uclass.c\nindex 99881b8b99..6320efcb49 100644\n--- a/drivers/reset/reset-uclass.c\n+++ b/drivers/reset/reset-uclass.c\n@@ -138,6 +138,24 @@ int reset_get_by_name(struct udevice *dev, const char *name,\n \treturn reset_get_by_index(dev, index, reset_ctl);\n }\n \n+int reset_get_by_name_optional(struct udevice *dev, const char *name,\n+\t\t\t struct reset_ctl *reset_ctl, bool optional)\n+{\n+\tint index;\n+\n+\tdebug(\"%s(dev=%p, name=%s, reset_ctl=%p)\\n\", __func__, dev, name,\n+\t reset_ctl);\n+\treset_ctl->dev = NULL;\n+\n+\tindex = dev_read_stringlist_search(dev, \"reset-names\", name);\n+\tif (index < 0) {\n+\t\tdebug(\"fdt_stringlist_search() failed: %d\\n\", index);\n+\t\treturn optional ? 0 : index;\n+\t}\n+\n+\treturn reset_get_by_index(dev, index, reset_ctl);\n+}\n+\n int reset_request(struct reset_ctl *reset_ctl)\n {\n \tstruct reset_ops *ops = reset_dev_ops(reset_ctl->dev);\ndiff --git a/include/reset.h b/include/reset.h\nindex a7bbc1c331..a5af31f549 100644\n--- a/include/reset.h\n+++ b/include/reset.h\n@@ -132,6 +132,23 @@ int reset_get_bulk(struct udevice *dev, struct reset_ctl_bulk *bulk);\n int reset_get_by_name(struct udevice *dev, const char *name,\n \t\t struct reset_ctl *reset_ctl);\n \n+/**\n+ * reset_get_by_name_optional - Get/request a reset signal by name optionally.\n+ *\n+ * This look up and requests a reset signal similar to reset_get_by_name()\n+ * but with optional flag.\n+ *\n+ * @dev:\tThe client device.\n+ * @name:\tThe name of the reset signal to request, within the client's\n+ *\t\tlist of reset signals.\n+ * @reset_ctl:\tA pointer to a reset control struct to initialize.\n+ * @optional:\tOptional flag, true if reset is optional, false if reset is\n+ *\t\tnecessary which is same as reset_get_by_name()\n+ * @return 0 if OK, or a negative error code.\n+ */\n+int reset_get_by_name_optional(struct udevice *dev, const char *name,\n+\t\t\t struct reset_ctl *reset_ctl, bool optional);\n+\n /**\n * reset_request - Request a reset signal.\n *\n@@ -254,6 +271,14 @@ static inline int reset_get_by_name(struct udevice *dev, const char *name,\n \treturn -ENOTSUPP;\n }\n \n+static inline int reset_get_by_name_optional(struct udevice *dev,\n+\t\t\t\t\t const char *name,\n+\t\t\t\t\t struct reset_ctl *reset_ctl,\n+\t\t\t\t\t bool optional)\n+{\n+\treturn -ENOTSUPP;\n+}\n+\n static inline int reset_free(struct reset_ctl *reset_ctl)\n {\n \treturn 0;\n", "prefixes": [ "U-Boot", "v2", "22/53" ] }