summarylogtreecommitdiffstats
path: root/no-cpufreq.patch
diff options
context:
space:
mode:
Diffstat (limited to 'no-cpufreq.patch')
-rw-r--r--no-cpufreq.patch211
1 files changed, 211 insertions, 0 deletions
diff --git a/no-cpufreq.patch b/no-cpufreq.patch
new file mode 100644
index 000000000000..794491624578
--- /dev/null
+++ b/no-cpufreq.patch
@@ -0,0 +1,211 @@
+--- indicator_cpufreq/cpufreq.py 2017-04-05 01:11:16.147391000 +0900
++++ /dev/null 2017-04-05 01:32:18.574219424 +0900
+@@ -1,208 +0,0 @@
+-# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
+-### BEGIN LICENSE
+-# Copyright (C) 2010 Artem Popov <artfwo@gmail.com>
+-# This program is free software: you can redistribute it and/or modify it
+-# under the terms of the GNU General Public License version 3, as published
+-# by the Free Software Foundation.
+-#
+-# This program is distributed in the hope that it will be useful, but
+-# WITHOUT ANY WARRANTY; without even the implied warranties of
+-# MERCHANTABILITY, SATISFACTORY QUALITY, 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, see <http://www.gnu.org/licenses/>.
+-### END LICENSE
+-
+-from ctypes import *
+-from ctypes.util import find_library
+-
+-_libcpufreq = cdll.LoadLibrary(find_library("cpufreq"))
+-
+-class _cpufreq_policy(Structure):
+- _fields_ = [
+- ("min", c_ulong),
+- ("max", c_ulong),
+- ("governor", c_char_p)]
+-
+-class _cpufreq_available_governors(Structure):
+- pass
+-_cpufreq_available_governors._fields_ = [
+- ("governor", c_char_p),
+- ("next", POINTER(_cpufreq_available_governors)),
+- ("first", POINTER(_cpufreq_available_governors))]
+-
+-class _cpufreq_available_frequencies(Structure):
+- pass
+-_cpufreq_available_frequencies._fields_ = [
+- ("frequency", c_ulong),
+- ("next", POINTER(_cpufreq_available_frequencies)),
+- ("first", POINTER(_cpufreq_available_frequencies))]
+-
+-class _cpufreq_affected_cpus(Structure):
+- pass
+-_cpufreq_affected_cpus._fields_ = [
+- ("cpu", c_uint),
+- ("next", POINTER(_cpufreq_affected_cpus)),
+- ("first", POINTER(_cpufreq_affected_cpus))]
+-
+-class _cpufreq_stats(Structure):
+- pass
+-_cpufreq_stats._fields_ = [
+- ("frequency", c_ulong),
+- ("time_in_state", c_ulonglong),
+- ("next", POINTER(_cpufreq_stats)),
+- ("first", POINTER(_cpufreq_stats))]
+-
+-###############################################################################
+-
+-_libcpufreq.cpufreq_cpu_exists.argtypes = [c_uint]
+-_libcpufreq.cpufreq_cpu_exists.restype = c_int
+-
+-_libcpufreq.cpufreq_get_freq_kernel.argtypes = [c_uint]
+-_libcpufreq.cpufreq_get_freq_kernel.restype = c_ulong
+-
+-_libcpufreq.cpufreq_get_freq_hardware.argtypes = [c_uint]
+-_libcpufreq.cpufreq_get_freq_hardware.restype = c_ulong
+-
+-_libcpufreq.cpufreq_get_transition_latency.argtypes = [c_uint]
+-_libcpufreq.cpufreq_get_transition_latency.restype = c_ulong
+-
+-_libcpufreq.cpufreq_get_hardware_limits.argtypes = [c_uint, POINTER(c_ulong), POINTER(c_ulong)]
+-_libcpufreq.cpufreq_get_hardware_limits.restype = c_int
+-
+-_libcpufreq.cpufreq_get_driver.argtypes = [c_uint]
+-_libcpufreq.cpufreq_get_driver.restype = c_char_p
+-#extern void cpufreq_put_driver(char * ptr);
+-
+-_libcpufreq.cpufreq_get_policy.argtypes = [c_uint]
+-_libcpufreq.cpufreq_get_policy.restype = POINTER(_cpufreq_policy)
+-#extern void cpufreq_put_policy(struct cpufreq_policy *policy);
+-
+-_libcpufreq.cpufreq_get_available_governors.argtypes = [c_uint]
+-_libcpufreq.cpufreq_get_available_governors.restype = POINTER(_cpufreq_available_governors)
+-#extern void cpufreq_put_available_governors(struct _cpufreq_available_governors *first);
+-
+-_libcpufreq.cpufreq_get_available_frequencies.argtypes = [c_uint]
+-_libcpufreq.cpufreq_get_available_frequencies.restype = POINTER(_cpufreq_available_frequencies)
+-#extern void cpufreq_put_available_frequencies(struct _cpufreq_available_frequencies *first);
+-
+-_libcpufreq.cpufreq_get_affected_cpus.argtypes = [c_uint]
+-_libcpufreq.cpufreq_get_affected_cpus.restype = POINTER(_cpufreq_affected_cpus)
+-#extern void cpufreq_put_affected_cpus(struct _cpufreq_affected_cpus *first);
+-
+-_libcpufreq.cpufreq_get_related_cpus.argtypes = [c_uint]
+-_libcpufreq.cpufreq_get_related_cpus.restype = POINTER(_cpufreq_affected_cpus)
+-#extern void cpufreq_put_related_cpus(struct _cpufreq_affected_cpus *first);
+-
+-_libcpufreq.cpufreq_get_stats.argtypes = [c_uint, POINTER(c_ulonglong)]
+-_libcpufreq.cpufreq_get_stats.restype = POINTER(_cpufreq_stats)
+-#extern void cpufreq_put_stats(struct _cpufreq_stats *stats);
+-
+-_libcpufreq.cpufreq_get_transitions.argtypes = [c_uint]
+-_libcpufreq.cpufreq_get_transitions.restype = c_ulong
+-
+-_libcpufreq.cpufreq_set_policy.argtypes = [c_uint, POINTER(_cpufreq_policy)]
+-_libcpufreq.cpufreq_set_policy.restype = c_int
+-
+-_libcpufreq.cpufreq_modify_policy_min.argtypes = [c_uint, c_ulong]
+-_libcpufreq.cpufreq_modify_policy_min.restype = c_int
+-
+-_libcpufreq.cpufreq_modify_policy_max.argtypes = [c_uint, c_ulong]
+-_libcpufreq.cpufreq_modify_policy_max.restype = c_int
+-
+-_libcpufreq.cpufreq_modify_policy_governor.argtypes = [c_uint, c_char_p]
+-_libcpufreq.cpufreq_modify_policy_governor.restype = c_int
+-
+-_libcpufreq.cpufreq_set_frequency.argtypes = [c_uint, c_ulong]
+-_libcpufreq.cpufreq_set_frequency.restype = c_int
+-
+-def cpu_exists(cpu):
+- return _libcpufreq.cpufreq_cpu_exists(cpu)
+-
+-def get_freq_kernel(cpu):
+- return _libcpufreq.cpufreq_get_freq_kernel(cpu)
+-
+-def get_freq_hardware(cpu):
+- return _libcpufreq.cpufreq_get_freq_hardware(cpu)
+-
+-def get_transition_latency(cpu):
+- return _libcpufreq.cpufreq_get_transition_latency(cpu)
+-
+-def get_hardware_limits(cpu):
+- min = c_ulong()
+- max = c_ulong()
+- _libcpufreq.cpufreq_get_hardware_limits(cpu, byref(min), byref(max))
+- return (min.value, max.value)
+-
+-def get_driver(cpu):
+- return _libcpufreq.cpufreq_get_driver(cpu).decode()
+-
+-def get_policy(cpu):
+- p = _libcpufreq.cpufreq_get_policy(cpu)
+- policy = (p.contents.min, p.contents.max, p.contents.governor.decode())
+- _libcpufreq.cpufreq_put_policy(p)
+- return policy
+-
+-def _marshall_structs(first, field, decode=False):
+- values = []
+- p = first
+- while p:
+- if decode:
+- values.append(getattr(p.contents, field).decode())
+- else:
+- values.append(getattr(p.contents, field))
+- p = p.contents.next
+- return values
+-
+-def get_available_governors(cpu):
+- structs = _libcpufreq.cpufreq_get_available_governors(cpu)
+- values = _marshall_structs(structs, 'governor', decode=True)
+- _libcpufreq.cpufreq_put_available_governors(structs)
+- return values
+-
+-def get_available_frequencies(cpu):
+- structs = _libcpufreq.cpufreq_get_available_frequencies(cpu)
+- values = _marshall_structs(structs, 'frequency')
+- _libcpufreq.cpufreq_put_available_frequencies(structs)
+- return values
+-
+-def get_affected_cpus(cpu):
+- structs = _libcpufreq.cpufreq_get_affected_cpus(cpu)
+- values = _marshall_structs(structs, 'cpu')
+- _libcpufreq.cpufreq_put_affected_cpus(structs)
+- return values
+-
+-def get_related_cpus(cpu):
+- structs = _libcpufreq.cpufreq_get_related_cpus(cpu)
+- values = _marshall_structs(structs, 'cpu')
+- _libcpufreq.cpufreq_put_related_cpus(structs)
+- return values
+-
+-def get_stats(cpu):
+- total_time = c_ulonglong()
+- p = _libcpufreq.cpufreq_get_stats(cpu, byref(total_time))
+- stats = []
+- while p:
+- stats.append((p.contents.frequency, p.contents.time_in_state))
+- p = p.contents.next
+- _libcpufreq.cpufreq_put_stats(p)
+- return total_time.value, stats
+-
+-def get_transitions(cpu):
+- return _libcpufreq.cpufreq_get_transitions(cpu)
+-
+-def set_policy(cpu, min, max, governor):
+- return _libcpufreq.cpufreq_set_policy(cpu, _cpufreq_policy(min, max, governor))
+-
+-def modify_policy_min(cpu, min_freq):
+- return _libcpufreq.cpufreq_modify_policy_min(cpu, min_freq)
+-
+-def modify_policy_min(cpu, max_freq):
+- return _libcpufreq.cpufreq_modify_policy_max(cpu, max_freq)
+-
+-def modify_policy_governor(cpu, governor):
+- return _libcpufreq.cpufreq_modify_policy_governor(cpu, governor.encode())
+-
+-def set_frequency(cpu, target_frequency):
+- return _libcpufreq.cpufreq_set_frequency(cpu, target_frequency)