Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1855184/?format=api
{ "id": 1855184, "url": "http://patchwork.ozlabs.org/api/patches/1855184/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20231025184259.250588-2-andriy.shevchenko@linux.intel.com/", "project": { "id": 42, "url": "http://patchwork.ozlabs.org/api/projects/42/?format=api", "name": "Linux GPIO development", "link_name": "linux-gpio", "list_id": "linux-gpio.vger.kernel.org", "list_email": "linux-gpio@vger.kernel.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20231025184259.250588-2-andriy.shevchenko@linux.intel.com>", "list_archive_url": null, "date": "2023-10-25T18:42:57", "name": "[v1,1/3] device property: Implement device_is_big_endian()", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "7294249a6fae2e1c726cae147cfc5942985bbdf3", "submitter": { "id": 8583, "url": "http://patchwork.ozlabs.org/api/people/8583/?format=api", "name": "Andy Shevchenko", "email": "andriy.shevchenko@linux.intel.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20231025184259.250588-2-andriy.shevchenko@linux.intel.com/mbox/", "series": [ { "id": 379349, "url": "http://patchwork.ozlabs.org/api/series/379349/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=379349", "date": "2023-10-25T18:42:58", "name": "gpio: mmio: Make driver agnostic", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/379349/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1855184/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1855184/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<linux-gpio-owner@vger.kernel.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=hpnolXxb;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2620:137:e000::1:20; helo=out1.vger.email;\n envelope-from=linux-gpio-owner@vger.kernel.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20])\n\tby legolas.ozlabs.org (Postfix) with ESMTP id 4SFyVV2V4Dz202k\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Oct 2023 05:43:13 +1100 (AEDT)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n id S229583AbjJYSnK (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n Wed, 25 Oct 2023 14:43:10 -0400", "from lindbergh.monkeyblade.net ([23.128.96.19]:48830 \"EHLO\n lindbergh.monkeyblade.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n with ESMTP id S229548AbjJYSnK (ORCPT\n <rfc822;linux-gpio@vger.kernel.org>); Wed, 25 Oct 2023 14:43:10 -0400", "from mgamail.intel.com (mgamail.intel.com [134.134.136.24])\n by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0B898DC;\n Wed, 25 Oct 2023 11:43:07 -0700 (PDT)", "from orsmga005.jf.intel.com ([10.7.209.41])\n by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 25 Oct 2023 11:43:06 -0700", "from black.fi.intel.com ([10.237.72.28])\n by orsmga005.jf.intel.com with ESMTP; 25 Oct 2023 11:43:03 -0700", "by black.fi.intel.com (Postfix, from userid 1003)\n id D2142FF; Wed, 25 Oct 2023 21:43:01 +0300 (EEST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1698259387; x=1729795387;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=T1sOH8MzD7ijqC2IX92sIk4YyeSEBbdujMf4a6IQTo0=;\n b=hpnolXxbUnhqliba/zRd5Kq7TqHBo9QG2rVe0DUEYI9NYknDTF8L9NhT\n w9UgrPaKeBzpIeKOFxNz/DyyN/UF+gG9VIjZXlXLOuVFLRz153x02Weuv\n ueBBRv5zvsEqrizUG+Izc8nk+cma87X5C8rXsNdXdnDWea1mWa9Ah1aVF\n SqPnwXn+wgQaIZuQnAHh5j5xcsj8qClexLf1NWbBDnjNXOrd8cwn8z10j\n vK2zIYYWHB6x/nbDM66W6qImUr9n8pb9+hKByZBtvonzIxv5wXBdyKJyC\n X+sPW0h/m6Y4y3MYXgGI3clFaM2yuNgHa5nS9G/vSYx7wI0rpzU6/dOd5\n A==;", "X-IronPort-AV": [ "E=McAfee;i=\"6600,9927,10874\"; a=\"390233006\"", "E=Sophos;i=\"6.03,250,1694761200\";\n d=\"scan'208\";a=\"390233006\"", "E=McAfee;i=\"6600,9927,10874\"; a=\"932458246\"", "E=Sophos;i=\"6.03,250,1694761200\";\n d=\"scan'208\";a=\"932458246\"" ], "X-ExtLoop1": "1", "From": "Andy Shevchenko <andriy.shevchenko@linux.intel.com>", "To": "Andy Shevchenko <andriy.shevchenko@linux.intel.com>,\n Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,\n linux-acpi@vger.kernel.org", "Cc": "Linus Walleij <linus.walleij@linaro.org>,\n Bartosz Golaszewski <brgl@bgdev.pl>,\n Andy Shevchenko <andy@kernel.org>,\n Daniel Scally <djrscally@gmail.com>,\n Heikki Krogerus <heikki.krogerus@linux.intel.com>,\n Sakari Ailus <sakari.ailus@linux.intel.com>,\n \"Rafael J. Wysocki\" <rafael@kernel.org>,\n Rob Herring <robh+dt@kernel.org>", "Subject": "[PATCH v1 1/3] device property: Implement device_is_big_endian()", "Date": "Wed, 25 Oct 2023 21:42:57 +0300", "Message-Id": "<20231025184259.250588-2-andriy.shevchenko@linux.intel.com>", "X-Mailer": "git-send-email 2.40.0.1.gaa8946217a0b", "In-Reply-To": "<20231025184259.250588-1-andriy.shevchenko@linux.intel.com>", "References": "<20231025184259.250588-1-andriy.shevchenko@linux.intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-Spam-Status": "No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,\n DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE\n autolearn=ham autolearn_force=no version=3.4.6", "X-Spam-Checker-Version": "SpamAssassin 3.4.6 (2021-04-09) on\n lindbergh.monkeyblade.net", "Precedence": "bulk", "List-ID": "<linux-gpio.vger.kernel.org>", "X-Mailing-List": "linux-gpio@vger.kernel.org" }, "content": "Some users want to use the struct device pointer to see if the\ndevice is big endian in terms of Open Firmware specifications,\ni.e. if it has a \"big-endian\" property, or if the kernel was\ncompiled for BE *and* the device has a \"native-endian\" property.\n\nProvide inline helper for the users.\n\nSigned-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>\n---\n include/linux/property.h | 26 ++++++++++++++++++++++++++\n 1 file changed, 26 insertions(+)", "diff": "diff --git a/include/linux/property.h b/include/linux/property.h\nindex 2b8f07fc68a9..d1400a477b0a 100644\n--- a/include/linux/property.h\n+++ b/include/linux/property.h\n@@ -80,12 +80,38 @@ int fwnode_property_match_string(const struct fwnode_handle *fwnode,\n \n bool fwnode_device_is_available(const struct fwnode_handle *fwnode);\n \n+static inline bool fwnode_device_is_big_endian(const struct fwnode_handle *fwnode)\n+{\n+\tif (fwnode_property_present(fwnode, \"big-endian\"))\n+\t\treturn true;\n+\tif (IS_ENABLED(CONFIG_CPU_BIG_ENDIAN) &&\n+\t fwnode_property_present(fwnode, \"native-endian\"))\n+\t\treturn true;\n+\treturn false;\n+}\n+\n static inline\n bool fwnode_device_is_compatible(const struct fwnode_handle *fwnode, const char *compat)\n {\n \treturn fwnode_property_match_string(fwnode, \"compatible\", compat) >= 0;\n }\n \n+/**\n+ * device_is_big_endian - check if a device has BE registers\n+ * @dev: Pointer to the struct device\n+ *\n+ * Returns: true if the device has a \"big-endian\" property, or if the kernel\n+ * was compiled for BE *and* the device has a \"native-endian\" property.\n+ * Returns false otherwise.\n+ *\n+ * Callers would nominally use ioread32be/iowrite32be if\n+ * device_is_big_endian() == true, or readl/writel otherwise.\n+ */\n+static inline bool device_is_big_endian(const struct device *dev)\n+{\n+\treturn fwnode_device_is_big_endian(dev_fwnode(dev));\n+}\n+\n /**\n * device_is_compatible - match 'compatible' property of the device with a given string\n * @dev: Pointer to the struct device\n", "prefixes": [ "v1", "1/3" ] }