diff --git a/cpuhotplug/cpuhotplug_02.sh b/cpuhotplug/cpuhotplug_02.sh
new file mode 100644
index 0000000..4f3f3d2
--- /dev/null
+++ b/cpuhotplug/cpuhotplug_02.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+#
+# PM-QA validation test suite for the power management on ARM
+#
+# Copyright (C) 2011, Linaro Limited.
+#
+# 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+#
+# Contributors:
+#     Daniel Lezcano <daniel.lezcano@linaro.org> (IBM Corporation)
+#       - initial API and implementation
+#
+
+# URL : https://wiki.linaro.org/WorkingGroups/PowerManagement/Doc/QA/Scripts#cpuhotplug_02
+
+source ../include/functions.sh
+
+check_state() {
+    local cpu=$1
+    local dirpath=$CPU_PATH/$1
+    local state=
+    shift 1
+
+    if [ "$cpu" == "cpu0" ]; then
+	return 0
+    fi
+
+    set_offline $cpu
+    state=$(get_online $cpu)
+
+    check "cpu is offline" "test $state -eq 0"
+    if [ $? -ne 0 ]; then
+	set_online $cpu
+	return 1
+    fi
+
+    set_online $cpu
+    state=$(get_online $cpu)
+
+    check "cpu is online" "test $state -eq 1"
+    if [ $? -ne 0 ]; then
+	return 1
+    fi
+
+    return 0
+}
+
+for_each_cpu check_state
diff --git a/cpuhotplug/cpuhotplug_02.txt b/cpuhotplug/cpuhotplug_02.txt
new file mode 100644
index 0000000..4047c3a
--- /dev/null
+++ b/cpuhotplug/cpuhotplug_02.txt
@@ -0,0 +1 @@
+test the cpu state is reflected in sysfs
diff --git a/include/functions.sh b/include/functions.sh
index b2a8b47..b34d49b 100644
--- a/include/functions.sh
+++ b/include/functions.sh
@@ -175,6 +175,27 @@
     cat $dirpath
 }
 
+set_online() {
+    local cpu=$1
+    local dirpath=$CPU_PATH/$cpu
+
+    echo 1 > $dirpath/online
+}
+
+set_offline() {
+    local cpu=$1
+    local dirpath=$CPU_PATH/$cpu
+
+    echo 0 > $dirpath/online
+}
+
+get_online() {
+    local cpu=$1
+    local dirpath=$CPU_PATH/$cpu
+
+    cat $dirpath/online
+}
+
 check() {
 
     local descr=$1
