diff options
Diffstat (limited to 'x11/gnome-applets/files/patch-cpufreq-selector-freebsd')
-rw-r--r-- | x11/gnome-applets/files/patch-cpufreq-selector-freebsd | 373 |
1 files changed, 0 insertions, 373 deletions
diff --git a/x11/gnome-applets/files/patch-cpufreq-selector-freebsd b/x11/gnome-applets/files/patch-cpufreq-selector-freebsd deleted file mode 100644 index d25df35e2..000000000 --- a/x11/gnome-applets/files/patch-cpufreq-selector-freebsd +++ /dev/null @@ -1,373 +0,0 @@ ---- cpufreq/src/cpufreq-selector/cpufreq-sysctl.h.orig Mon Feb 14 00:38:57 2005 -+++ cpufreq/src/cpufreq-selector/cpufreq-sysctl.h Mon Feb 14 00:21:39 2005 -@@ -0,0 +1,51 @@ -+/* -+ * Copyright (C) 2001, 2002 Free Software Foundation -+ * -+ * This library 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 library 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 library; if not, write to the Free -+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ * -+ * Authors : Joe Marcus Clarke <marcus@FreeBSD.org> -+ */ -+ -+#ifndef __CPUFREQ_SYSCTL_H__ -+#define __CPUFREQ_SYSCTL_H__ -+ -+#include <glib-object.h> -+ -+#include "cpufreq.h" -+ -+#define TYPE_CPUFREQ_SYSCTL (cpufreq_sysctl_get_type ()) -+#define CPUFREQ_SYSCTL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CPUFREQ_SYSCTL, CPUFreqSysctl)) -+#define CPUFREQ_SYSCTL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), TYPE_CPUFREQ_SYSCTL, CPUFreqSysctlClass)) -+#define IS_CPUFREQ_SYSCTL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CPUFREQ_SYSCTL)) -+#define IS_CPUFREQ_SYSCTL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CPUFREQ_SYSCTL)) -+#define CPUFREQ_SYSCTL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CPUFREQ_SYSCTL, CPUFreqSysctlClass)) -+ -+typedef struct _CPUFreqSysctl CPUFreqSysctl; -+typedef struct _CPUFreqSysctlClass CPUFreqSysctlClass; -+typedef struct _CPUFreqSysctlPriv CPUFreqSysctlPriv; -+ -+struct _CPUFreqSysctl { -+ CPUFreq parent; -+}; -+ -+struct _CPUFreqSysctlClass { -+ CPUFreqClass parent_class; -+}; -+ -+ -+GType cpufreq_sysctl_get_type (); -+CPUFreqSysctl *cpufreq_sysctl_new (); -+ -+#endif /* __CPUFREQ_SYSCTL_H__ */ ---- cpufreq/src/cpufreq-selector/cpufreq-sysctl.c.orig Mon Feb 14 00:38:52 2005 -+++ cpufreq/src/cpufreq-selector/cpufreq-sysctl.c Mon Feb 14 00:44:43 2005 -@@ -0,0 +1,235 @@ -+/* -+ * Copyright (C) 2001, 2002 Free Software Foundation -+ * -+ * This library 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 library 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 library; if not, write to the Free -+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ * -+ * Authors : Joe Marcus Clarke <marcus@FreeBSD.org> -+ */ -+ -+#include <glib.h> -+#include <stdio.h> -+#include <stdlib.h> -+ -+#ifdef __FreeBSD__ -+#include <sys/types.h> -+#include <sys/sysctl.h> -+#endif /* __FreeBSD__ */ -+ -+#include "cpufreq-sysctl.h" -+ -+#define PARENT_TYPE TYPE_CPUFREQ -+ -+#define CPUFREQ_SYSCTL_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), TYPE_CPUFREQ_SYSCTL, CPUFreqSysctlPrivate)) -+ -+static void cpufreq_sysctl_init (CPUFreqSysctl *cfq); -+static void cpufreq_sysctl_class_init (CPUFreqSysctlClass *klass); -+static void cpufreq_sysctl_finalize (GObject *object); -+ -+static void cpufreq_sysctl_set_governor (CPUFreq *cfq, const gchar *governor); -+static void cpufreq_sysctl_set_frequency (CPUFreq *cfq, gint frequency); -+ -+static void cpufreq_sysctl_setup (CPUFreqSysctl *cfq); -+ -+static GObjectClass *parent_class = NULL; -+ -+typedef struct _CPUFreqSysctlPrivate CPUFreqSysctlPrivate; -+ -+struct _CPUFreqSysctlPrivate -+{ -+ gint pmax; -+}; -+ -+GType cpufreq_sysctl_get_type () -+{ -+ static GType type = 0; -+ -+ if (!type) { -+ static const GTypeInfo info = { -+ sizeof (CPUFreqSysctlClass), -+ (GBaseInitFunc) NULL, -+ (GBaseFinalizeFunc) NULL, -+ (GClassInitFunc) cpufreq_sysctl_class_init, -+ NULL, -+ NULL, -+ sizeof (CPUFreqSysctl), -+ 0, -+ (GInstanceInitFunc) cpufreq_sysctl_init -+ }; -+ -+ type = g_type_register_static (PARENT_TYPE, "CPUFreqSysctl", -+ &info, 0); -+ } -+ -+ return type; -+} -+ -+static void -+cpufreq_sysctl_init (CPUFreqSysctl *cfq) -+{ -+ CPUFreqSysctlPrivate *private; -+ -+ g_return_if_fail (IS_CPUFREQ_SYSCTL (cfq)); -+ -+ private = CPUFREQ_SYSCTL_GET_PRIVATE (cfq); -+} -+ -+static void -+cpufreq_sysctl_class_init (CPUFreqSysctlClass *klass) -+{ -+ GObjectClass *object_class = G_OBJECT_CLASS (klass); -+ CPUFreqClass *cfq_class = CPUFREQ_CLASS (klass); -+ -+ parent_class = g_type_class_peek_parent (klass); -+ -+ g_type_class_add_private (klass, sizeof (CPUFreqSysctlPrivate)); -+ -+ cfq_class->set_governor = cpufreq_sysctl_set_governor; -+ cfq_class->set_frequency = cpufreq_sysctl_set_frequency; -+ -+ object_class->finalize = cpufreq_sysctl_finalize; -+} -+ -+static void -+cpufreq_sysctl_finalize (GObject *object) -+{ -+ if (G_OBJECT_CLASS (parent_class)->finalize) -+ (* G_OBJECT_CLASS (parent_class)->finalize) (object); -+} -+ -+CPUFreqSysctl * -+cpufreq_sysctl_new () -+{ -+ CPUFreqSysctl *cfq; -+ -+ cfq = g_object_new (TYPE_CPUFREQ_SYSCTL, NULL); -+ -+ cpufreq_sysctl_setup (cfq); -+ -+ return cfq; -+} -+ -+static void -+cpufreq_sysctl_set_governor (CPUFreq *cfq, const gchar *governor) -+{ -+ /* Not implemented. */ -+} -+ -+static void -+cpufreq_sysctl_set_frequency (CPUFreq *cfq, gint frequency) -+{ -+ gint cpu, i; -+ size_t len; -+ gchar *freq_oid; -+ -+ g_return_if_fail (IS_CPUFREQ_SYSCTL (cfq)); -+ -+ g_object_get (G_OBJECT (cfq), "n_cpu", &cpu, NULL); -+ -+ frequency = (gint) ((gdouble) frequency / 1000); /* Convert back to MHz*/ -+ -+ for (i = 0; i < cpu; i++) { -+ freq_oid = g_strdup_printf ("dev.cpu.%d.freq", i); -+ -+ sysctlbyname (freq_oid, NULL, &len, &frequency, sizeof (frequency)); -+ g_free (freq_oid); -+ } -+} -+ -+ -+static void -+cpufreq_sysctl_setup (CPUFreqSysctl *cfq) -+{ -+ guint cpu; -+ gint fmax, fmin; -+ gint pmax; -+ gint ifreq; -+ gint mib[4]; -+ gchar *governor, *levels; -+ gchar **levelsp, **frpr, **l; -+ size_t len; -+ CPUFreqSysctlPrivate *private; -+ -+ g_return_if_fail (IS_CPUFREQ_SYSCTL (cfq)); -+ -+ private = CPUFREQ_SYSCTL_GET_PRIVATE (cfq); -+ -+ pmax = 100; -+ fmax = 0; -+ fmin = 0; -+ ifreq = 0; -+ -+ private->pmax = pmax; -+ -+ len = sizeof (cpu); -+ -+ if (sysctlbyname ("hw.ncpu", &cpu, &len, NULL, 0) == -1) -+ cpu = 1; -+ -+ len = 4; -+ sysctlnametomib ("dev.cpu.0.freq_levels", mib, &len); -+ len = sizeof (levels); -+ -+ if (sysctl (mib, 4, NULL, &len, NULL, 0) == -1) { -+ g_warning ("Failed to fetch dev.cpu.0.freq_levels"); -+ return; -+ } -+ -+ levels = g_malloc (len); -+ if (sysctl (mib, 4, levels, &len, NULL, 0) == -1) { -+ g_warning ("Failed to fetch data for dev.cpu.0.freq_levels"); -+ return; -+ } -+ -+ levelsp = g_strsplit (levels, " ", 0); -+ g_free (levels); -+ -+ frpr = g_strsplit (levelsp[0], "/", 0); /* MAX */ -+ if (frpr && frpr[0] != NULL) -+ fmax = atoi (frpr[0]); -+ g_strfreev (frpr); -+ -+ for (l = levelsp; l && *l; l++) /* Walk to the last frequency */ -+ ; -+ -+ l --; -+ frpr = g_strsplit (*l, "/", 0); -+ if (frpr && frpr[0] != NULL) -+ fmin = atoi (frpr[0]); -+ -+ g_strfreev (frpr); -+ g_strfreev (levelsp); -+ -+ len = sizeof (ifreq); -+ if (sysctlbyname ("dev.cpu.0.freq", &ifreq, &len, NULL, 0) == -1) { -+ g_warning ("Failed to fetch data for dev.cpu.0.freq"); -+ return; -+ } -+ -+ if (ifreq == fmax) -+ governor = g_strdup ("performance"); -+ else if (ifreq == fmin) -+ governor = g_strdup ("economy"); -+ else -+ governor = g_strdup ("other"); -+ -+ fmax *= 1000; -+ fmin *= 1000; -+ -+ g_object_set (G_OBJECT (cfq), "n_cpu", cpu, -+ "sc_max", fmax, "sc_min", fmin, -+ "governor", governor, NULL); -+ -+ g_free (governor); -+} ---- cpufreq/src/cpufreq-selector/main.c.orig Sun Apr 3 12:03:13 2005 -+++ cpufreq/src/cpufreq-selector/main.c Sun Jul 3 17:16:19 2005 -@@ -17,6 +17,7 @@ - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * Authors : Carlos García Campos <carlosgc@gnome.org> -+ * Joe Marcus Clarke <marcus@FreeBSD.org> - */ - - #include <glib-object.h> -@@ -26,6 +27,9 @@ - #include "cpufreq.h" - #include "cpufreq-sysfs.h" - #include "cpufreq-procfs.h" -+#ifdef __FreeBSD__ -+#include "cpufreq-sysctl.h" -+#endif /* __FreeBSD__ */ - - gint - main (gint argc, gchar **argv) -@@ -34,6 +38,9 @@ main (gint argc, gchar **argv) - static gint cpu = 0; - static gchar *governor = NULL; - static gulong frequency = 0; -+#ifdef __FreeBSD__ -+ size_t len; -+#endif /* __FreeBSD__ */ - GError *error = NULL; - CPUFreq *cfq; - -@@ -71,10 +78,15 @@ main (gint argc, gchar **argv) - - g_option_context_free (context); - -+#ifndef __FreeBSD__ - if (g_file_test ("/sys/devices/system/cpu/cpu0/cpufreq", G_FILE_TEST_EXISTS)) { /* 2.6 kernel */ - cfq = CPUFREQ (cpufreq_sysfs_new ()); - } else if (g_file_test ("/proc/cpufreq", G_FILE_TEST_EXISTS)) { /* 2.4 kernel */ - cfq = CPUFREQ (cpufreq_procfs_new ()); -+#else -+ if (sysctlbyname ("dev.cpu.0.freq", NULL, &len, NULL, 0) == 0) { -+ cfq = CPUFREQ (cpufreq_sysctl_new ()); -+#endif /* __FreeBSD__ */ - } else { - g_print ("No cpufreq support\n"); - return 1; ---- cpufreq/src/cpufreq-selector/Makefile.in.orig Tue Oct 4 00:21:25 2005 -+++ cpufreq/src/cpufreq-selector/Makefile.in Tue Oct 4 00:27:54 2005 -@@ -55,7 +55,7 @@ - PROGRAMS = $(bin_PROGRAMS) - am_cpufreq_selector_OBJECTS = cpufreq.$(OBJEXT) \ - cpufreq-sysfs.$(OBJEXT) cpufreq-procfs.$(OBJEXT) \ -- main.$(OBJEXT) -+ cpufreq-sysctl.$(OBJEXT) main.$(OBJEXT) - cpufreq_selector_OBJECTS = $(am_cpufreq_selector_OBJECTS) - am__DEPENDENCIES_1 = - cpufreq_selector_DEPENDENCIES = $(am__DEPENDENCIES_1) -@@ -64,6 +64,7 @@ - am__depfiles_maybe = depfiles - @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/cpufreq-procfs.Po \ - @AMDEP_TRUE@ ./$(DEPDIR)/cpufreq-sysfs.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/cpufreq-sysctl.Po \ - @AMDEP_TRUE@ ./$(DEPDIR)/cpufreq.Po ./$(DEPDIR)/main.Po - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -@@ -332,6 +333,7 @@ - cpufreq.c cpufreq.h \ - cpufreq-sysfs.c cpufreq-sysfs.h \ - cpufreq-procfs.c cpufreq-procfs.h \ -+ cpufreq-sysctl.c cpufreq-sysctl.h \ - main.c - - cpufreq_selector_LDADD = $(CPUFREQ_SELECTOR_LIBS) -lpopt -@@ -407,6 +409,7 @@ - -rm -f *.tab.c - - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpufreq-procfs.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpufreq-sysctl.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpufreq-sysfs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpufreq.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ |