From patchwork Fri Aug 1 02:45:57 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Feng Kan X-Patchwork-Id: 4660171 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 4BB059F36A for ; Fri, 1 Aug 2014 02:47:59 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 594942018A for ; Fri, 1 Aug 2014 02:47:58 +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 44B2D2015E for ; Fri, 1 Aug 2014 02:47:57 +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 1XD2rM-0006j9-6h; Fri, 01 Aug 2014 02:46:20 +0000 Received: from exprod5og123.obsmtp.com ([64.18.0.198]) by bombadil.infradead.org with smtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1XD2qY-00060m-Bk for linux-arm-kernel@lists.infradead.org; Fri, 01 Aug 2014 02:45:31 +0000 Received: from mail-pd0-f175.google.com ([209.85.192.175]) (using TLSv1) by exprod5ob123.postini.com ([64.18.4.12]) with SMTP ID DSNKU9r/NDUeT3ZBpko9h977qBnoIGIX+bGp@postini.com; Thu, 31 Jul 2014 19:45:30 PDT Received: by mail-pd0-f175.google.com with SMTP id r10so4617176pdi.6 for ; Thu, 31 Jul 2014 19:45:08 -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=N7/RVZcqlXPzeCXYruaIUN5asFgLDn8TZ+kdZ29W1j0=; b=emR/Cr2agZf+ZQSW26Byj80cVBXT06YoafwkR2ojAn1o+u3y8otB8z5HpfviCpsLNJ uTV50riwph+fG3j8M4Z/Qb8VSDJLTJY4Nb1uFozXlKNIMVUTnT/KmifVSngbua29LftI DLNYWWPHA1NGMg6ArwaQUJMHHyiEGzFZ9DlRF/aDG71vRmeU6J2e7GuYCYtz638ubWQR rXuBPeyt77ouijLQLGqFPNgjB9iV5PJa1qkqlXHp6yqsfekMfKp65vam12OBINNxNO9Y auiOBgp3jUiF1X/hCW4vaV0BlELBZry5rUAgHvGqEdQI0G72pqVPsiSFLjht4oelI/Tj ghPA== X-Gm-Message-State: ALoCoQkd6xmZ8BfiEVb3jAQiNf4XyTqaU+hwT2f/BetoaT5DOf3FLoDFLcmAZETroDGior/DtH0ukgJXpIBg47L+lygwO1md2EKgphQ3CcZJtsmcJo6Riyctn0JDupa2UgbQ/vElA53UxzfUVak6qojw0aoa8VrRNw== X-Received: by 10.66.189.66 with SMTP id gg2mr2458522pac.103.1406861108027; Thu, 31 Jul 2014 19:45:08 -0700 (PDT) X-Received: by 10.66.189.66 with SMTP id gg2mr2458496pac.103.1406861107836; Thu, 31 Jul 2014 19:45:07 -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 mt1sm6962352pbb.31.2014.07.31.19.45.06 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 31 Jul 2014 19:45:07 -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 Subject: [PATCH V9 6/6] power: reset: Remove X-Gene reboot driver Date: Thu, 31 Jul 2014 19:45:57 -0700 Message-Id: <1406861157-29169-7-git-send-email-fkan@apm.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1406861157-29169-1-git-send-email-fkan@apm.com> References: <1406861157-29169-1-git-send-email-fkan@apm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140731_194530_491191_D765B939 X-CRM114-Status: GOOD ( 14.89 ) 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 fd5f9e5..48b3cb3 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);