From patchwork Wed Jul 9 02:15:53 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Feng Kan X-Patchwork-Id: 4511121 Return-Path: X-Original-To: patchwork-linux-arm@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 F192DBEEE9 for ; Wed, 9 Jul 2014 02:19:38 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 02DA920259 for ; Wed, 9 Jul 2014 02:19:38 +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 7DEE220279 for ; Wed, 9 Jul 2014 02:19:36 +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 1X4hRQ-0000QC-MF; Wed, 09 Jul 2014 02:17:04 +0000 Received: from exprod5og116.obsmtp.com ([64.18.0.147]) by bombadil.infradead.org with smtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1X4hQs-0000A3-JB for linux-arm-kernel@lists.infradead.org; Wed, 09 Jul 2014 02:16:31 +0000 Received: from mail-pa0-f41.google.com ([209.85.220.41]) (using TLSv1) by exprod5ob116.postini.com ([64.18.4.12]) with SMTP ID DSNKU7yl6bz4Oc2aoRwtqz/o/sIOb6ElZzf7@postini.com; Tue, 08 Jul 2014 19:16:30 PDT Received: by mail-pa0-f41.google.com with SMTP id fb1so8338682pad.14 for ; Tue, 08 Jul 2014 19:16:09 -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=CmGfmv4pk5P/N9ELfSaMcyMUcWXNME4mecXoHtHLh4Q=; b=hu97h5mDjMoJSuatqnIlf3D9BFl9H5aHQnuDTaSZhY0YSdgM73oZSSx8lm1ktzgjM+ xw4VC+j7/PBYjq96JJscu/dd60Dxa8kLjv9ByGhcTt7mEH982oNsTEdq2aUXhHVZQTS/ mjukokMzS41uHwhHFpuA6bvGhX2iUOWUugpjVOrFZutAzhLEJdfP4BW3FJmCgMbusO9o 4qSOt3awmwfLQBdsBSCZHb0TEwp4XYSNWiVEJfJNHjr6+S1fO52C6majizny4IwCjuOZ f4DOzWQKfT/6D4ZAiDbtz2YCT/7S8Bxh+SpeFYISdgqijEcxjOkklGpeCNOvwJd+/3BW u0Kg== X-Gm-Message-State: ALoCoQl03rA/PrabjNvyB2/XPQ1eNGLopBhwTLOmCkMIvM9lzlk+aBtyrdkDkJ0wRTPD9NKYjWpSB6eBygZBw8soUxMfPjAtxI8qeaaPg7oU4J/T2evi4986mDl/6fQA4w5qKhqQnU2krd5dgQ+Z5Xdsk8bXEWpTVQ== X-Received: by 10.66.158.10 with SMTP id wq10mr39177041pab.32.1404872169314; Tue, 08 Jul 2014 19:16:09 -0700 (PDT) X-Received: by 10.66.158.10 with SMTP id wq10mr39177019pab.32.1404872169138; Tue, 08 Jul 2014 19:16:09 -0700 (PDT) Received: from fkan-lpt.amcc.com (63-147-59-2.dia.static.qwest.net. [63.147.59.2]) by mx.google.com with ESMTPSA id ee5sm57140780pbc.47.2014.07.08.19.16.07 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 08 Jul 2014 19:16:08 -0700 (PDT) From: Feng Kan To: 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 Subject: [PATCH V8 6/6] power: reset: Remove X-Gene reboot driver Date: Tue, 8 Jul 2014 19:15:53 -0700 Message-Id: <1404872153-3594-7-git-send-email-fkan@apm.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1404872153-3594-1-git-send-email-fkan@apm.com> References: <1404872153-3594-1-git-send-email-fkan@apm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140708_191630_681693_93A51485 X-CRM114-Status: GOOD ( 15.22 ) X-Spam-Score: -2.3 (--) Cc: Feng Kan 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,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 --- drivers/power/reset/Kconfig | 7 --- drivers/power/reset/Makefile | 1 - drivers/power/reset/xgene-reboot.c | 103 ------------------------------------- 3 files changed, 111 deletions(-) delete mode 100644 drivers/power/reset/xgene-reboot.c diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig index 5877b38..f548f72 100644 --- a/drivers/power/reset/Kconfig +++ b/drivers/power/reset/Kconfig @@ -66,13 +66,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 - depends on POWER_RESET - 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 b1b5ab3..62088d8 100644 --- a/drivers/power/reset/Makefile +++ b/drivers/power/reset/Makefile @@ -6,6 +6,5 @@ obj-$(CONFIG_POWER_RESET_QNAP) += qnap-poweroff.o obj-$(CONFIG_POWER_RESET_RESTART) += restart-poweroff.o obj-$(CONFIG_POWER_RESET_SUN6I) += sun6i-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 ecd55f8..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(char str, 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);