diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch
deleted file mode 100644
index ae8bc52..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From f86486e128f62ed5a531163535d11f0aa0268928 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Sun, 5 May 2019 20:45:26 +0200
-Subject: [PATCH] Fix memory-leak and reduce cpu-load slightly
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* when setting font remove old css provider befor setting new
-  -> fix memory leak
-* do call cpufreq_label_set_font only on init and when font was changed
-  -> reduce cpu-load
-
-Fixes https://bugzilla.xfce.org/show_bug.cgi?id=15218
-
-Upstream-Status: Submitted [1]
-
-[1] https://bugzilla.xfce.org/attachment.cgi?id=8492
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
-
----
- panel-plugin/xfce4-cpufreq-configure.c |  4 ++++
- panel-plugin/xfce4-cpufreq-plugin.c    | 13 +++++++++++--
- panel-plugin/xfce4-cpufreq-plugin.h    |  2 ++
- 3 files changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/panel-plugin/xfce4-cpufreq-configure.c b/panel-plugin/xfce4-cpufreq-configure.c
-index 1205fc9..48e72ff 100644
---- a/panel-plugin/xfce4-cpufreq-configure.c
-+++ b/panel-plugin/xfce4-cpufreq-configure.c
-@@ -85,7 +85,10 @@ button_fontname_update(GtkWidget *button, gboolean update_plugin)
-   }
- 
-   if (update_plugin)
-+  {
-+    cpufreq_label_set_font ();
-     cpufreq_update_plugin (TRUE);
-+  }
- }
- 
- 
-@@ -155,6 +158,7 @@ button_fontcolor_clicked (GtkWidget *button, void *data)
-   gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), color);
-   cpuFreq->options->fontcolor = gdk_rgba_to_string (color);
-   g_free (color);
-+  cpufreq_label_set_font ();
-   cpufreq_update_plugin (TRUE);
- }
- 
-diff --git a/panel-plugin/xfce4-cpufreq-plugin.c b/panel-plugin/xfce4-cpufreq-plugin.c
-index e886121..8d7c9e5 100644
---- a/panel-plugin/xfce4-cpufreq-plugin.c
-+++ b/panel-plugin/xfce4-cpufreq-plugin.c
-@@ -44,6 +44,7 @@ cpufreq_label_set_font (void)
- {
-   gchar *css = NULL, *css_font = NULL, *css_color = NULL;
-   GtkCssProvider *provider;
-+  GtkStyleContext *context;
-   PangoFontDescription *font;
- 
-   if (G_UNLIKELY (cpuFreq->label == NULL))
-@@ -76,11 +77,17 @@ cpufreq_label_set_font (void)
-   if (css)
-   {
-     provider = gtk_css_provider_new ();
-+    context = GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (cpuFreq->label)));
-+
-+    if (currentProvider)
-+      gtk_style_context_remove_provider (context, currentProvider);
- 
-     gtk_css_provider_load_from_data (provider, css, -1, NULL);
-     gtk_style_context_add_provider (
--      GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (cpuFreq->label))),
-+      context,
-       GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-+
-+    currentProvider = provider;
-   }
- 
-   g_free (css);
-@@ -420,7 +427,6 @@ cpufreq_update_plugin (gboolean reset_label_size)
- 
-   if (cpuFreq->layout_changed)
-   {
--    cpufreq_label_set_font ();
-     cpufreq_widgets_layout ();
-   }
- 
-@@ -601,6 +607,7 @@ cpufreq_widgets (void)
- 
-   gtk_widget_show_all (cpuFreq->button);
- 
-+  cpufreq_label_set_font ();
-   cpufreq_update_plugin (TRUE);
- }
- 
-@@ -775,6 +782,8 @@ cpufreq_construct (XfcePanelPlugin *plugin)
- {
-   xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
- 
-+  currentProvider = NULL;
-+
-   cpuFreq = g_new0 (CpuFreqPlugin, 1);
-   cpuFreq->options = g_new0 (CpuFreqPluginOptions, 1);
-   cpuFreq->plugin = plugin;
-diff --git a/panel-plugin/xfce4-cpufreq-plugin.h b/panel-plugin/xfce4-cpufreq-plugin.h
-index a6895e4..6338698 100644
---- a/panel-plugin/xfce4-cpufreq-plugin.h
-+++ b/panel-plugin/xfce4-cpufreq-plugin.h
-@@ -95,6 +95,8 @@ typedef struct
- 
- extern CpuFreqPlugin *cpuFreq;
- 
-+GtkCssProvider *currentProvider;
-+
- G_BEGIN_DECLS
- 
- void
----
-2.20.1
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch
deleted file mode 100644
index 95605f8..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Fix build with -fno-common
-
-Part of Patch from https://src.fedoraproject.org/rpms/xfce4-cpufreq-plugin/raw/master/f/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Refresh for xfce4-cpufreq-plugin 1.2.2.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
----
- panel-plugin/xfce4-cpufreq-plugin.c | 1 +
- panel-plugin/xfce4-cpufreq-plugin.h | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/panel-plugin/xfce4-cpufreq-plugin.c b/panel-plugin/xfce4-cpufreq-plugin.c
-index 1e33492..ce9e302 100644
---- a/panel-plugin/xfce4-cpufreq-plugin.c
-+++ b/panel-plugin/xfce4-cpufreq-plugin.c
-@@ -38,6 +38,7 @@
- #endif /* __linux__ */
- 
- CpuFreqPlugin *cpuFreq;
-+GtkCssProvider *currentProvider;
- 
- void
- cpufreq_label_set_font (void)
-diff --git a/panel-plugin/xfce4-cpufreq-plugin.h b/panel-plugin/xfce4-cpufreq-plugin.h
-index 8cd0d33..7dbccef 100644
---- a/panel-plugin/xfce4-cpufreq-plugin.h
-+++ b/panel-plugin/xfce4-cpufreq-plugin.h
-@@ -95,7 +95,7 @@ typedef struct
- 
- extern CpuFreqPlugin *cpuFreq;
- 
--GtkCssProvider *currentProvider;
-+extern GtkCssProvider *currentProvider;
- 
- G_BEGIN_DECLS
- 
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.2.bb
deleted file mode 100644
index 3b7b9ec..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.2.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Panel plugin to display frequency of all cpus"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpufreq-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1f6f1c0be32491a0c8d2915607a28f36"
-
-inherit xfce-panel-plugin
-
-SRC_URI[sha256sum] = "500f04b8d857c96da8c8c7a4eecba30a903d0fce6e35a05e674529e43b47e498"
-
-SRC_URI += "file://0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch \
-            file://xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch \
-           "
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.5.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.5.bb
new file mode 100644
index 0000000..8fef520
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.5.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Panel plugin to display frequency of all cpus"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpufreq-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1f6f1c0be32491a0c8d2915607a28f36"
+
+inherit xfce-panel-plugin
+
+SRC_URI[sha256sum] = "f8bd728de2d33e7ab30c682716b1cac4776b9884ce48b03fd7c32c9b24b13498"
