From patchwork Wed Feb 13 16:16:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rob Herring X-Patchwork-Id: 158237 Delivered-To: patch@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp250458jaa; Wed, 13 Feb 2019 08:16:36 -0800 (PST) X-Google-Smtp-Source: AHgI3IZv3pvLrUJWeWLzxk7u9oFWrIzJEImAu2nUpZL9lTL0PY8MvtOGEu8b+h2d0O6e7SVIixEZ X-Received: by 2002:a17:902:9b90:: with SMTP id y16mr1341186plp.0.1550074596542; Wed, 13 Feb 2019 08:16:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550074596; cv=none; d=google.com; s=arc-20160816; b=ZQjXBuFFTapBdTgFIOQPXylL13oe61rCrMwi5DH6/F1v61AisQqkR/gqVe3sy2/dBY sJEhT48tpRFSMV/mLQngJ4i63WH0+0yLAedV9t76A1fAlWKRImBMnx38RXci/OXPxGJ3 8Vn2zv97OSW/fMSCzdg2OzthKw6nVSsgNcEx73h+pYkJtTz344rLLDZDSRFkYF6dVVcA wHK3ogpXn5ZzJnDht/GNIKocQf/QL2dqXQyoIspeESwZSamjSjcL78JMOBqUS3JGzauZ JbYJkHg0e0xPjQPxh/7u28xOu2O3Wk8miiz1BnZVnIat84FTxdVtSFbFEdQGG2JCzQND fWWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=ef6YWFv9ktS3j0kmb/zu0v9p90wlI3LS1ze8Nq7OUNc=; b=jjmiPC3PEgGOe2i55ZH0swEmy/zJFpCUa4TRdCFPg2LaMRg+Dz3zGJ7Bv/Gkj3qMbj WX+CXtsyi1kom6fpBp7a2g+uRkw2TZlYcn3K66i3U2bs5IUD0Q7XPB6yYcXDMWMXSHzR QYGyreyCjFgT0VFnu50axWxZjCN+d5rDokqekrLWNAMFSTXoYYGJIWflCj180tKGQ1lg 1CfzFNzpDgfxiClbCdfHMO47ww6/19z6D254eL9mOrE++TlqBw7TOVsON86jJeDqkA+5 EvWvg+b1MvE7oBd/sJZaHeZmKLaRjVBAmj0QyATmRcQUqOOrKI0ypHd4UQDzNvnrKDrM chYw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c12si16117551pls.227.2019.02.13.08.16.36; Wed, 13 Feb 2019 08:16:36 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392575AbfBMQQe (ORCPT + 7 others); Wed, 13 Feb 2019 11:16:34 -0500 Received: from mail-ot1-f65.google.com ([209.85.210.65]:32988 "EHLO mail-ot1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726372AbfBMQQd (ORCPT ); Wed, 13 Feb 2019 11:16:33 -0500 Received: by mail-ot1-f65.google.com with SMTP id i20so5141725otl.0; Wed, 13 Feb 2019 08:16:33 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ef6YWFv9ktS3j0kmb/zu0v9p90wlI3LS1ze8Nq7OUNc=; b=pm6V9gw3o4y7DWO0+/wlQKxFZLGvGJ+HrFkYNzx6mersMSW6CoLl9ij6WxktavoIAn LHlFTrV3RGekeXZp7Sx1JAFAWS+c5SYFLyiBhn9QcgIBdBleoHM8m2yZPefA2WcH3FB6 iL+m2q3oKuGX0qKr9BNw8q/7QBUzSkatUb85iZCPEcDZshE/+mGnaZWp+eh/NHfgeeM8 1nr9duk3M5GPv3M2OhqcW+xuE9rcxAqLjCpmkFkhyuozaLCj+61/66zn0cGqWoJySxJb J22ZpPKfLwdNmDm2KyKhxup/2Wto/IwISOUmcXKFLuoajIwiWCiVYwVsx6hlYrXh1K4p 8FDA== X-Gm-Message-State: AHQUAuavxGrSb5aq9IiZkImcOCuf72BugopotFlF+ykxSkAI2zuRljM3 cEmSmh/Ks5IDlCR3rz27gLCBRm0= X-Received: by 2002:aca:cd:: with SMTP id 196mr666731oia.42.1550074592811; Wed, 13 Feb 2019 08:16:32 -0800 (PST) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id 187sm433969oid.22.2019.02.13.08.16.31 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Wed, 13 Feb 2019 08:16:32 -0800 (PST) From: Rob Herring To: Dmitry Torokhov Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-input@vger.kernel.org Subject: [PATCH] Input: i8042 - Rework DT node name comparisons Date: Wed, 13 Feb 2019 10:16:31 -0600 Message-Id: <20190213161631.17028-1-robh@kernel.org> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Convert string compares of DT node names to use of_node_name_eq helper instead. For the root node on SUN DT, we need to retrieve the 'name' property as it is the rare case where the 'name' property and node name differ. With both changes, it removes direct access to the node name pointer. While at it, comvert the open coded loop to use for_each_child_of_node(). Cc: Dmitry Torokhov Cc: linux-input@vger.kernel.org Signed-off-by: Rob Herring --- drivers/input/serio/i8042-sparcio.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) -- 2.19.1 diff --git a/drivers/input/serio/i8042-sparcio.h b/drivers/input/serio/i8042-sparcio.h index 796289846204..fce76812843b 100644 --- a/drivers/input/serio/i8042-sparcio.h +++ b/drivers/input/serio/i8042-sparcio.h @@ -53,12 +53,11 @@ static struct resource *kbd_res; static int sparc_i8042_probe(struct platform_device *op) { - struct device_node *dp = op->dev.of_node; + struct device_node *dp; - dp = dp->child; - while (dp) { - if (!strcmp(dp->name, OBP_PS2KBD_NAME1) || - !strcmp(dp->name, OBP_PS2KBD_NAME2)) { + for_each_child_of_node(op->dev.of_node, dp) { + if (of_node_name_eq(dp, OBP_PS2KBD_NAME1) || + of_node_name_eq(dp, OBP_PS2KBD_NAME2)) { struct platform_device *kbd = of_find_device_by_node(dp); unsigned int irq = kbd->archdata.irqs[0]; if (irq == 0xffffffff) @@ -67,16 +66,14 @@ static int sparc_i8042_probe(struct platform_device *op) kbd_iobase = of_ioremap(&kbd->resource[0], 0, 8, "kbd"); kbd_res = &kbd->resource[0]; - } else if (!strcmp(dp->name, OBP_PS2MS_NAME1) || - !strcmp(dp->name, OBP_PS2MS_NAME2)) { + } else if (of_node_name_eq(dp, OBP_PS2MS_NAME1) || + of_node_name_eq(dp, OBP_PS2MS_NAME2)) { struct platform_device *ms = of_find_device_by_node(dp); unsigned int irq = ms->archdata.irqs[0]; if (irq == 0xffffffff) irq = op->archdata.irqs[0]; i8042_aux_irq = irq; } - - dp = dp->sibling; } return 0; @@ -109,8 +106,9 @@ static struct platform_driver sparc_i8042_driver = { static int __init i8042_platform_init(void) { struct device_node *root = of_find_node_by_path("/"); + const char *name = of_get_property(root, "name", NULL); - if (!strcmp(root->name, "SUNW,JavaStation-1")) { + if (name && !strcmp(name, "SUNW,JavaStation-1")) { /* Hardcoded values for MrCoffee. */ i8042_kbd_irq = i8042_aux_irq = 13 | 0x20; kbd_iobase = ioremap(0x71300060, 8); @@ -139,8 +137,9 @@ static int __init i8042_platform_init(void) static inline void i8042_platform_exit(void) { struct device_node *root = of_find_node_by_path("/"); + const char *name = of_get_property(root, "name", NULL); - if (strcmp(root->name, "SUNW,JavaStation-1")) + if (!name || strcmp(name, "SUNW,JavaStation-1")) platform_driver_unregister(&sparc_i8042_driver); }