From patchwork Mon May 5 09:27:16 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chander Kashyap X-Patchwork-Id: 4113181 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 02471BFF02 for ; Mon, 5 May 2014 09:29:05 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 297A62022D for ; Mon, 5 May 2014 09:29:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3BB31203F4 for ; Mon, 5 May 2014 09:29:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755898AbaEEJ1o (ORCPT ); Mon, 5 May 2014 05:27:44 -0400 Received: from mail-pa0-f49.google.com ([209.85.220.49]:58455 "EHLO mail-pa0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755756AbaEEJ1k (ORCPT ); Mon, 5 May 2014 05:27:40 -0400 Received: by mail-pa0-f49.google.com with SMTP id lj1so3692506pab.22 for ; Mon, 05 May 2014 02:27:39 -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=URYpnlsF2Io1FDlrcI6EGmN1cRdL8ptU2jk/gSt56X0KJc+mG2XxxIDS7Kra0hMhFI X1+hHiQOEfBqsNnBtSBhPTzJ3dUHDKacdQYbx6+Qmv91OiU9KTcAvvPPb5Vhft2XE/jj uqxIDH+XsiAIbfIbqPOWiCYL8MXfB9CK7qMV9HxmL7RwjeR9X/JI+evXwlIJP8cJrLuh DIYhsDs68Ni67jnAuaO40BRHZzmjedNpDHgKtH5hcjEgxA1b4xuoLFvcxL4K16hx79eg 8DFq28qwNCxZKyiPvULl/BUJk8+Ly7317E5NLIj0Glq7j2bAUTHUBgtLNmto4QSDp8W7 8kLQ== X-Gm-Message-State: ALoCoQkuvdPiCJOAyUEJ9oRCZWigzDW3NsQprn+BBrwUWxl7PAbuDcKV94irjqmNhonm0UqhO2br X-Received: by 10.66.197.201 with SMTP id iw9mr69386497pac.151.1399282059447; Mon, 05 May 2014 02:27:39 -0700 (PDT) Received: from localhost.localdomain ([115.113.119.130]) by mx.google.com with ESMTPSA id ry10sm67210414pab.38.2014.05.05.02.27.34 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 05 May 2014 02:27:38 -0700 (PDT) From: Chander Kashyap To: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: lorenzo.pieralisi@arm.com, daniel.lezcano@linaro.org, rjw@rjwysocki.net, kgene.kim@samsung.com, Chander Kashyap , Chander Kashyap Subject: [Patch v4 1/5] driver: cpuidle-big-little: add of_device_id structure Date: Mon, 5 May 2014 14:57:16 +0530 Message-Id: <1399282040-8995-2-git-send-email-chander.kashyap@linaro.org> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1399282040-8995-1-git-send-email-chander.kashyap@linaro.org> References: <1399278444-8312-3-git-send-email-chander.kashyap@linaro.org> <1399282040-8995-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 --- 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