From patchwork Tue Sep 30 23:25:08 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Feng Kan X-Patchwork-Id: 5008851 Return-Path: X-Original-To: patchwork-linux-arm@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 237699F327 for ; Tue, 30 Sep 2014 23:28:57 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 180EE20165 for ; Tue, 30 Sep 2014 23:28:56 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 145C92018E for ; Tue, 30 Sep 2014 23:28:55 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1XZ6od-0000Ds-9n; Tue, 30 Sep 2014 23:26:43 +0000 Received: from exprod5og101.obsmtp.com ([64.18.0.141]) by bombadil.infradead.org with smtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1XZ6nj-000835-Ih for linux-arm-kernel@lists.infradead.org; Tue, 30 Sep 2014 23:25:48 +0000 Received: from mail-pa0-f51.google.com ([209.85.220.51]) (using TLSv1) by exprod5ob101.postini.com ([64.18.4.12]) with SMTP ID DSNKVCs75slxHjvH1RyOaOr21ZWydbl1Ckg6@postini.com; Tue, 30 Sep 2014 16:25:47 PDT Received: by mail-pa0-f51.google.com with SMTP id lj1so5582194pab.24 for ; Tue, 30 Sep 2014 16:25:26 -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=1nrM397tRpa499QARe85dBMY2+wQLOM8tjlZz+0MVDw=; b=h5quM9Uv3qYpByqlW+OWw8Zix4XRyswj7hcrcTkoWcfnVuuwrf+SXor8Jgl5YHVERw BM4V9oW7Ls01r1JoxDP22y+ciC4JubnDMOcoRELbc6GtGEW2Vo1YknrvfQonoTQxE3bX p8eT8zbM/m1rgvNny7f5W+73BNMCZgmoI3A5s3/iv1zjPnAGlNPoc0adez0e3aUHvDcP +Rcljrx94wV/5/0sRsjAlczj+rSlZj62xM/u33tyeGahuu4McwXu71jHsXAyxFmfxHwM 85vxSgSeC2IwBxy4RyrYLaQuhKnvqznVXddXVQWZrk4g6svN8p+OWq6Unq988dxLzr5J HEXQ== X-Gm-Message-State: ALoCoQlL728ITpqxjh1+LoqXKesg87egdxzoxZLJ3mbZoAW8B9XQWOVnVlS2uCAJOgqneNXHZpZJNwcKYB1swug7JkOmWp6ShjYrwT+opD/hM4peJNzbrptP5fHuFyerLVUtKghWtB2XyvMrFseuVjqzIuPQzBMUcGR6LfemEn85PyGeKuXJySU= X-Received: by 10.66.141.197 with SMTP id rq5mr73280351pab.124.1412119526393; Tue, 30 Sep 2014 16:25:26 -0700 (PDT) X-Received: by 10.66.141.197 with SMTP id rq5mr73280343pab.124.1412119526327; Tue, 30 Sep 2014 16:25:26 -0700 (PDT) Received: from fkan-lpt.amcc.com (67-207-112-226.static.wiline.com. [67.207.112.226]) by mx.google.com with ESMTPSA id qr1sm5876931pbc.50.2014.09.30.16.25.24 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 30 Sep 2014 16:25:25 -0700 (PDT) From: Feng Kan To: linux@roeck-us.net, dbaryshkov@gmail.com, catalin.marinas@arm.com, dwmw2@infradead.org, arnd@arndb.de, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, patches@apm.com, linux-pm@vger.kernel.org, will.deacon@arm.com Subject: [PATCH RESEND V9 6/6] power: reset: Remove X-Gene reboot driver Date: Tue, 30 Sep 2014 16:25:08 -0700 Message-Id: <1412119508-22864-7-git-send-email-fkan@apm.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1412119508-22864-1-git-send-email-fkan@apm.com> References: <1412119508-22864-1-git-send-email-fkan@apm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140930_162547_696313_EF79CC38 X-CRM114-Status: GOOD ( 14.34 ) X-Spam-Score: -2.3 (--) Cc: Feng Kan , Loc Ho X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable 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 Remove X-Gene reboot driver. Signed-off-by: Feng Kan Signed-off-by: Loc Ho --- drivers/power/reset/Kconfig | 6 --- drivers/power/reset/Makefile | 1 - drivers/power/reset/xgene-reboot.c | 103 ------------------------------------- 3 files changed, 110 deletions(-) delete mode 100644 drivers/power/reset/xgene-reboot.c diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig index a863fa1..98f9086 100644 --- a/drivers/power/reset/Kconfig +++ b/drivers/power/reset/Kconfig @@ -130,12 +130,6 @@ config POWER_RESET_VEXPRESS Power off and reset support for the ARM Ltd. Versatile Express boards. -config POWER_RESET_XGENE - bool "APM SoC X-Gene reset driver" - depends on ARM64 - help - Reboot support for the APM SoC X-Gene Eval boards. - config POWER_RESET_KEYSTONE bool "Keystone reset driver" depends on ARCH_KEYSTONE diff --git a/drivers/power/reset/Makefile b/drivers/power/reset/Makefile index 76ce1c5..e6cda42 100644 --- a/drivers/power/reset/Makefile +++ b/drivers/power/reset/Makefile @@ -14,6 +14,5 @@ obj-$(CONFIG_POWER_RESET_SUN6I) += sun6i-reboot.o obj-$(CONFIG_POWER_RESET_ST) += st-poweroff.o obj-$(CONFIG_POWER_RESET_VERSATILE) += arm-versatile-reboot.o obj-$(CONFIG_POWER_RESET_VEXPRESS) += vexpress-poweroff.o -obj-$(CONFIG_POWER_RESET_XGENE) += xgene-reboot.o obj-$(CONFIG_POWER_RESET_KEYSTONE) += keystone-reset.o obj-$(CONFIG_POWER_RESET_SYSCON) += syscon-reboot.o diff --git a/drivers/power/reset/xgene-reboot.c b/drivers/power/reset/xgene-reboot.c deleted file mode 100644 index 6b49be6..0000000 --- a/drivers/power/reset/xgene-reboot.c +++ /dev/null @@ -1,103 +0,0 @@ -/* - * AppliedMicro X-Gene SoC Reboot Driver - * - * Copyright (c) 2013, Applied Micro Circuits Corporation - * Author: Feng Kan - * Author: Loc Ho - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * This driver provides system reboot functionality for APM X-Gene SoC. - * For system shutdown, this is board specify. If a board designer - * implements GPIO shutdown, use the gpio-poweroff.c driver. - */ -#include -#include -#include -#include -#include -#include -#include - -struct xgene_reboot_context { - struct platform_device *pdev; - void *csr; - u32 mask; -}; - -static struct xgene_reboot_context *xgene_restart_ctx; - -static void xgene_restart(enum reboot_mode mode, const char *cmd) -{ - struct xgene_reboot_context *ctx = xgene_restart_ctx; - unsigned long timeout; - - /* Issue the reboot */ - if (ctx) - writel(ctx->mask, ctx->csr); - - timeout = jiffies + HZ; - while (time_before(jiffies, timeout)) - cpu_relax(); - - dev_emerg(&ctx->pdev->dev, "Unable to restart system\n"); -} - -static int xgene_reboot_probe(struct platform_device *pdev) -{ - struct xgene_reboot_context *ctx; - - ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL); - if (!ctx) { - dev_err(&pdev->dev, "out of memory for context\n"); - return -ENODEV; - } - - ctx->csr = of_iomap(pdev->dev.of_node, 0); - if (!ctx->csr) { - devm_kfree(&pdev->dev, ctx); - dev_err(&pdev->dev, "can not map resource\n"); - return -ENODEV; - } - - if (of_property_read_u32(pdev->dev.of_node, "mask", &ctx->mask)) - ctx->mask = 0xFFFFFFFF; - - ctx->pdev = pdev; - arm_pm_restart = xgene_restart; - xgene_restart_ctx = ctx; - - return 0; -} - -static struct of_device_id xgene_reboot_of_match[] = { - { .compatible = "apm,xgene-reboot" }, - {} -}; - -static struct platform_driver xgene_reboot_driver = { - .probe = xgene_reboot_probe, - .driver = { - .name = "xgene-reboot", - .of_match_table = xgene_reboot_of_match, - }, -}; - -static int __init xgene_reboot_init(void) -{ - return platform_driver_register(&xgene_reboot_driver); -} -device_initcall(xgene_reboot_init);