Merge tag 'berlin-soc-3.19-1' of git://git.infradead.org/users/hesselba/linux-berlin...
[firefly-linux-kernel-4.4.55.git] / Documentation / arm / firmware.txt
index c2e468fe7b0be00979562b9c3f0d371a24d8cb67..da6713adac8acffc5924d447473351ab84c2d289 100644 (file)
@@ -7,32 +7,14 @@ world, which changes the way some things have to be initialized. This makes
 a need to provide an interface for such platforms to specify available firmware
 operations and call them when needed.
 
-Firmware operations can be specified using struct firmware_ops
-
-       struct firmware_ops {
-               /*
-               * Enters CPU idle mode
-               */
-               int (*do_idle)(void);
-               /*
-               * Sets boot address of specified physical CPU
-               */
-               int (*set_cpu_boot_addr)(int cpu, unsigned long boot_addr);
-               /*
-               * Boots specified physical CPU
-               */
-               int (*cpu_boot)(int cpu);
-               /*
-               * Initializes L2 cache
-               */
-               int (*l2x0_init)(void);
-       };
-
-and then registered with register_firmware_ops function
+Firmware operations can be specified by filling in a struct firmware_ops
+with appropriate callbacks and then registering it with register_firmware_ops()
+function.
 
        void register_firmware_ops(const struct firmware_ops *ops)
 
-the ops pointer must be non-NULL.
+The ops pointer must be non-NULL. More information about struct firmware_ops
+and its members can be found in arch/arm/include/asm/firmware.h header.
 
 There is a default, empty set of operations provided, so there is no need to
 set anything if platform does not require firmware operations.