From patchwork Thu Jan 18 20:02:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Labbe X-Patchwork-Id: 125019 Delivered-To: patch@linaro.org Received: by 10.46.64.27 with SMTP id n27csp274422lja; Thu, 18 Jan 2018 12:04:22 -0800 (PST) X-Google-Smtp-Source: ACJfBovqlRgbQ+ZOdrWjbzcc9Wca6oZJukUTpAVnOneRKglWcpYDASMkzGE2K3EO1+zJPyIVd49S X-Received: by 2002:a17:902:9a90:: with SMTP id w16-v6mr333509plp.237.1516305862545; Thu, 18 Jan 2018 12:04:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516305862; cv=none; d=google.com; s=arc-20160816; b=aahe2NC7bEmHAJqVGbuW2Yo+mg8J2K7eHGvLPpwDVdVbsrzASrPE+IJSzNNf7I9IED Blu6DJwpIKgc/wawIC9dXiWi3pjqx2vSDFES0GOpkh8C+V9TuBvgCxM5mA3fxtiK2Lf6 mbX1VdYy/fc78fztyfeyG9xVI0s0RIalBucqF0SJdZYuS/wd5tA/zfQB8+1GqJetWnFM 5WLWfw2XoxbJ1vknvFoRSoGXaPwh/Ty2498XxFISp/HI/YRjjbTFRvbpWsFZ9dePIvnD a0eMdQ9EwRM5Jryc+VXWSnUiV5V+sQkFvl2RT5KdHjLe7HVCzWTWtE7Kv7k4Joa0Pr6t FqVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=VAKLmh7vj0IbFH5dMTWqe6zaAIp9M3l1XR/SnNiGdVQ=; b=Fhjn7zwox8pvZ3gphkeE+QFnW0Ya20WYXDudRwzeBUlolwXsJbPWPvwmy6M5ZkinwK QnyHPVBC0fmKlW6g/zRGvR2qKHrazCp2+o3GPFmpK5yR50EYR2EnuXqFwKyXRL6o1OE0 m0FDPxeQ/blrhTz5Fb6cAy9AXYO6tSQJTd8l22KbhBbyONoW/RIqs5nAQlNT2p7sv9K4 NVsrkiQQgilT2NZ2M03B03pWvz2F/Hre82OquHCmZmh+zsZjwyvOnh2oINMRnU5P2qek lRbxbwl8wf7AMzR0bu65MLQ8zzeQqcdGVZvSoH7rqVtGu9x8TAUwn5XmslMAgkhQS5iQ Tg4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JUz7UsAT; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g2-v6si165650pli.280.2018.01.18.12.04.22; Thu, 18 Jan 2018 12:04:22 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JUz7UsAT; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755490AbeARUES (ORCPT + 28 others); Thu, 18 Jan 2018 15:04:18 -0500 Received: from mail-wr0-f195.google.com ([209.85.128.195]:38066 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754318AbeARUEP (ORCPT ); Thu, 18 Jan 2018 15:04:15 -0500 Received: by mail-wr0-f195.google.com with SMTP id x1so19675935wrb.5; Thu, 18 Jan 2018 12:04:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=VAKLmh7vj0IbFH5dMTWqe6zaAIp9M3l1XR/SnNiGdVQ=; b=JUz7UsATQMdKfrrrTGxz405/oEnURZHoKXkqgLMpuNkjHODbO281sVAfnfRA0zUdoo utrCsM1JYuLIb8SepFjOvY7wl8UhmEeGAO9HYW38xT0o27EsWQBiDtUXgmj8v/YXEWM1 qAnemAUS0xrUmyUQkLxJ0cUImZsxqC9k6chjve+uxtIwi63lS3ARWx8RJ5GTghlpcRm6 cpKu1zmPAE9zWsLgiSTDKFSVf4HW5VyZURuXm+FU0AUH36fsq6iimDS2KPpz4RvqvRW5 eXW9urpHsj6/QehgP9siO9KEn7wwVWxgIXNVT4xK7YK7MzBjr5TG7x05JNF69WQWHaZh 0o+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=VAKLmh7vj0IbFH5dMTWqe6zaAIp9M3l1XR/SnNiGdVQ=; b=XxmFfW/im6Bf7KIk8tXVnnpPa62v/kGG5SJkGDo3N8lPcmTRTIjfAr29t2XhcMeqay qrJtBR1Lwv6zAmpe4Ji5p2iZfKZ2kWaA8Jo2uaKfIhLez/UXSPi80gtgtSAIRHYOd+Xw abNcxZnji+9y/0mVvuLjTuqogZqSrZzTDEsABIYvw5yXq0I0o5l4quHyyOIYf5/nGBPB SyJtUHDtcrdKKBG8XrOioZqAqtgBaNz1dsvwM1dtUrOEaEj1iqcGXIClqOj70R9jUMmG oG6qolCz9wQTKXFU95yeWcaoCwycGJmxnB6uRZjuMrZA/9G+heO6x9Z4flRHTleJUU6J 8E2A== X-Gm-Message-State: AKwxytfOhZhoUyq5WRC6AAhjrY0NnjrhQM14LHEaMRqzMftA5+yNgu4o I7AnWN6ZzYlOFxpKTKNJJ6M= X-Received: by 10.223.134.85 with SMTP id 21mr7777995wrw.283.1516305853647; Thu, 18 Jan 2018 12:04:13 -0800 (PST) Received: from Red.local (LFbn-MAR-1-494-174.w2-15.abo.wanadoo.fr. [2.15.82.174]) by smtp.googlemail.com with ESMTPSA id v17sm5150872wrd.57.2018.01.18.12.04.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:04:13 -0800 (PST) From: Corentin Labbe To: rjw@rjwysocki.net, viresh.kumar@linaro.org Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Corentin Labbe Subject: [PATCH] cpufreq: remove at32ap-cpufreq Date: Thu, 18 Jan 2018 21:02:02 +0100 Message-Id: <20180118200202.11883-1-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.13.6 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since AVR32 arch was removed, at32ap-cpufreq is useless. Remove this driver. Signed-off-by: Corentin Labbe --- drivers/cpufreq/Kconfig | 10 --- drivers/cpufreq/Makefile | 1 - drivers/cpufreq/at32ap-cpufreq.c | 127 --------------------------------------- 3 files changed, 138 deletions(-) delete mode 100644 drivers/cpufreq/at32ap-cpufreq.c -- 2.13.6 diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig index d8addbce40bc..608af20a3494 100644 --- a/drivers/cpufreq/Kconfig +++ b/drivers/cpufreq/Kconfig @@ -239,16 +239,6 @@ if PPC32 || PPC64 source "drivers/cpufreq/Kconfig.powerpc" endif -if AVR32 -config AVR32_AT32AP_CPUFREQ - bool "CPU frequency driver for AT32AP" - depends on PLATFORM_AT32AP - default n - help - This enables the CPU frequency driver for AT32AP processors. - If in doubt, say N. -endif - if IA64 config IA64_ACPI_CPUFREQ tristate "ACPI Processor P-States driver" diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index e07715ce8844..c60c1e141d9d 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -100,7 +100,6 @@ obj-$(CONFIG_POWERNV_CPUFREQ) += powernv-cpufreq.o ################################################################################## # Other platform drivers -obj-$(CONFIG_AVR32_AT32AP_CPUFREQ) += at32ap-cpufreq.o obj-$(CONFIG_BFIN_CPU_FREQ) += blackfin-cpufreq.o obj-$(CONFIG_BMIPS_CPUFREQ) += bmips-cpufreq.o obj-$(CONFIG_CRIS_MACH_ARTPEC3) += cris-artpec3-cpufreq.o diff --git a/drivers/cpufreq/at32ap-cpufreq.c b/drivers/cpufreq/at32ap-cpufreq.c deleted file mode 100644 index 7b612c8bb09e..000000000000 --- a/drivers/cpufreq/at32ap-cpufreq.c +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (C) 2004-2007 Atmel Corporation - * - * Based on MIPS implementation arch/mips/kernel/time.c - * Copyright 2001 MontaVista Software Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -/*#define DEBUG*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static struct cpufreq_frequency_table *freq_table; - -static unsigned int ref_freq; -static unsigned long loops_per_jiffy_ref; - -static int at32_set_target(struct cpufreq_policy *policy, unsigned int index) -{ - unsigned int old_freq, new_freq; - - old_freq = policy->cur; - new_freq = freq_table[index].frequency; - - if (!ref_freq) { - ref_freq = old_freq; - loops_per_jiffy_ref = boot_cpu_data.loops_per_jiffy; - } - - if (old_freq < new_freq) - boot_cpu_data.loops_per_jiffy = cpufreq_scale( - loops_per_jiffy_ref, ref_freq, new_freq); - clk_set_rate(policy->clk, new_freq * 1000); - if (new_freq < old_freq) - boot_cpu_data.loops_per_jiffy = cpufreq_scale( - loops_per_jiffy_ref, ref_freq, new_freq); - - return 0; -} - -static int at32_cpufreq_driver_init(struct cpufreq_policy *policy) -{ - unsigned int frequency, rate, min_freq; - struct clk *cpuclk; - int retval, steps, i; - - if (policy->cpu != 0) - return -EINVAL; - - cpuclk = clk_get(NULL, "cpu"); - if (IS_ERR(cpuclk)) { - pr_debug("cpufreq: could not get CPU clk\n"); - retval = PTR_ERR(cpuclk); - goto out_err; - } - - min_freq = (clk_round_rate(cpuclk, 1) + 500) / 1000; - frequency = (clk_round_rate(cpuclk, ~0UL) + 500) / 1000; - policy->cpuinfo.transition_latency = 0; - - /* - * AVR32 CPU frequency rate scales in power of two between maximum and - * minimum, also add space for the table end marker. - * - * Further validate that the frequency is usable, and append it to the - * frequency table. - */ - steps = fls(frequency / min_freq) + 1; - freq_table = kzalloc(steps * sizeof(struct cpufreq_frequency_table), - GFP_KERNEL); - if (!freq_table) { - retval = -ENOMEM; - goto out_err_put_clk; - } - - for (i = 0; i < (steps - 1); i++) { - rate = clk_round_rate(cpuclk, frequency * 1000) / 1000; - - if (rate != frequency) - freq_table[i].frequency = CPUFREQ_ENTRY_INVALID; - else - freq_table[i].frequency = frequency; - - frequency /= 2; - } - - policy->clk = cpuclk; - freq_table[steps - 1].frequency = CPUFREQ_TABLE_END; - - retval = cpufreq_table_validate_and_show(policy, freq_table); - if (!retval) { - printk("cpufreq: AT32AP CPU frequency driver\n"); - return 0; - } - - kfree(freq_table); -out_err_put_clk: - clk_put(cpuclk); -out_err: - return retval; -} - -static struct cpufreq_driver at32_driver = { - .name = "at32ap", - .init = at32_cpufreq_driver_init, - .verify = cpufreq_generic_frequency_table_verify, - .target_index = at32_set_target, - .get = cpufreq_generic_get, - .flags = CPUFREQ_STICKY, -}; - -static int __init at32_cpufreq_init(void) -{ - return cpufreq_register_driver(&at32_driver); -} -late_initcall(at32_cpufreq_init);