@@ -21,6 +21,9 @@ config ARM_VIC_NR
The maximum number of VICs available in the system, for
power management.
+config ARM_FIRMWARE
+ bool
+
config ICST
bool
@@ -4,6 +4,7 @@
obj-$(CONFIG_ARM_GIC) += gic.o
obj-$(CONFIG_ARM_VIC) += vic.o
+obj-$(CONFIG_ARM_FIRMWARE) += firmware.o
obj-$(CONFIG_ICST) += icst.o
obj-$(CONFIG_SA1111) += sa1111.o
obj-$(CONFIG_PCI_HOST_VIA82C505) += via82c505.o
new file mode 100644
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics.
+ * Kyungmin Park <kyungmin.park@samsung.com>
+ *
+ * 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.
+ */
+
+#include <linux/kernel.h>
+#include <linux/suspend.h>
+
+#include <asm/firmware.h>
+
+struct firmware_ops *firmware_ops;
+
+static void cpu_boot(int cpu)
+{
+ /* Do nothing */
+}
+
+static struct firmware_ops __firmware_ops = {
+ .do_idle = cpu_do_idle,
+ .cpu_boot = cpu_boot,
+};
+
+static int __init firmware_init(void)
+{
+ firmware_ops = __firmware_ops;
+ return 0;
+}
+
+core_initcall(firmware_init);
new file mode 100644
@@ -0,0 +1,20 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics.
+ * Kyungmin Park <kyungmin.park@samsung.com>
+ *
+ * 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.
+ */
+
+#ifndef __ASM_ARM_FIRMWARE_H
+#define __ASM_ARM_FIRMWARE_H
+
+struct firmware_ops {
+ int (*do_idle)(void);
+ void (*cpu_boot)(int cpu);
+};
+
+extern struct firmware_ops *firmware_ops;
+
+#endif