From patchwork Fri May 16 08:03:53 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chander Kashyap X-Patchwork-Id: 4189151 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 8FAA99F1C0 for ; Fri, 16 May 2014 08:27:32 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id B81E7201F4 for ; Fri, 16 May 2014 08:27:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CB016202EA for ; Fri, 16 May 2014 08:27:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756436AbaEPIE2 (ORCPT ); Fri, 16 May 2014 04:04:28 -0400 Received: from mail-pb0-f43.google.com ([209.85.160.43]:36297 "EHLO mail-pb0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756421AbaEPIEY (ORCPT ); Fri, 16 May 2014 04:04:24 -0400 Received: by mail-pb0-f43.google.com with SMTP id up15so2283803pbc.2 for ; Fri, 16 May 2014 01:04:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ARXGsT0v+MkLAjS06fzgrvzZLSjC6KTEapISJ/2dYlo=; b=EAY7RhUBS7tdwSDn8Xp7RD+obspolGmkJPoe1LD5ibAHPdLXVC0bmmIip1JvXB+ucx RCXKyM7I8MFUbMHTYyYEyeLvPZXKrBc5fqBbsCjemQHCb84ZFuhoVbkYn3kXaNf7PrIT LbYRJHOeuvwhW3ybJ9pSkYFp9yXjfXWwYethdmdSSsJEnQUXKjnzRFpnofhOEbnTuUin lV1RNIGaR285TWQTAUxwxa++jpM/BD2nEqTPjHWBBaSbGpMmkMmmPJJqdoJ7mFCPeDSs GXNQ5oroXKFLZ3+nqOFLn2CoqVqGRU2xzG5vrjdkTZtIpWFLVvVPYj0TZaUR5xeckhGr Z3yA== X-Gm-Message-State: ALoCoQmnfC5Y/tWIo1SnGJvNNBwaTbkVMMXr3c+4aGv17uWf5tcIV4ZBg2yHumZcWyrLCtqdusSD X-Received: by 10.68.241.68 with SMTP id wg4mr18849608pbc.66.1400227464116; Fri, 16 May 2014 01:04:24 -0700 (PDT) Received: from localhost.localdomain ([14.140.216.146]) by mx.google.com with ESMTPSA id gu1sm13108466pbd.0.2014.05.16.01.04.20 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 16 May 2014 01:04:23 -0700 (PDT) From: Chander Kashyap To: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, daniel.lezcano@linaro.org, lorenzo.pieralisi@arm.com, rjw@rjwysocki.net, kgene.kim@samsung.com, tomasz.figa@gmail.com, Chander Kashyap , Chander Kashyap Subject: [PATCH v6 1/6] driver: cpuidle-big-little: add of_device_id structure Date: Fri, 16 May 2014 13:33:53 +0530 Message-Id: <1400227438-27155-2-git-send-email-chander.kashyap@linaro.org> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1400227438-27155-1-git-send-email-chander.kashyap@linaro.org> References: <1400227438-27155-1-git-send-email-chander.kashyap@linaro.org> Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This driver will be used by many big.Little Soc's. As of now it does string matching of hardcoded compatible string to init the driver. This comparison list will keep on growing with addition of new SoC's. Hence add of_device_id structure to collect the compatible strings of SoC's using this driver. Signed-off-by: Chander Kashyap Signed-off-by: Chander Kashyap Acked-by: Daniel Lezcano --- drivers/cpuidle/cpuidle-big_little.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c index b45fc62..4cd02bd 100644 --- a/drivers/cpuidle/cpuidle-big_little.c +++ b/drivers/cpuidle/cpuidle-big_little.c @@ -163,14 +163,23 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id) return 0; } +static const struct of_device_id compatible_machine_match[] = { + { .compatible = "arm,vexpress,v2p-ca15_a7" }, + {}, +}; + static int __init bl_idle_init(void) { int ret; + struct device_node *root = of_find_node_by_path("/"); + + if (!root) + return -ENODEV; /* * Initialize the driver just for a compliant set of machines */ - if (!of_machine_is_compatible("arm,vexpress,v2p-ca15_a7")) + if (!of_match_node(compatible_machine_match, root)) return -ENODEV; /* * For now the differentiation between little and big cores