Subversion Repositories Kolibri OS

Rev

Rev 6102 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #ifndef _LINUX_FIRMWARE_H
  2. #define _LINUX_FIRMWARE_H
  3.  
  4. #include <linux/types.h>
  5. #include <linux/compiler.h>
  6. #include <linux/kernel.h>
  7. #include <linux/cache.h>
  8. #include <linux/module.h>
  9.  
  10. #define FW_ACTION_NOHOTPLUG 0
  11. #define FW_ACTION_HOTPLUG 1
  12.  
  13. struct firmware {
  14.         size_t size;
  15.         const u8 *data;
  16.         struct page **pages;
  17.  
  18.         /* firmware loader private fields */
  19.         void *priv;
  20. };
  21.  
  22. struct module;
  23. struct device;
  24.  
  25. struct builtin_fw {
  26.         char *name;
  27.         void *data;
  28.         unsigned long size;
  29. };
  30.  
  31. /* We have to play tricks here much like stringify() to get the
  32.    __COUNTER__ macro to be expanded as we want it */
  33. #define __fw_concat1(x, y) x##y
  34. #define __fw_concat(x, y) __fw_concat1(x, y)
  35.  
  36. #define DECLARE_BUILTIN_FIRMWARE(name, blob)                                 \
  37.         DECLARE_BUILTIN_FIRMWARE_SIZE(name, &(blob), sizeof(blob))
  38.  
  39. #define DECLARE_BUILTIN_FIRMWARE_SIZE(name, blob, size)                      \
  40.         static const struct builtin_fw __fw_concat(__builtin_fw,__COUNTER__) \
  41.         __used __section(.builtin_fw) = { name, blob, size }
  42.  
  43. int request_firmware(const struct firmware **fw, const char *name,
  44.                      struct device *device);
  45. int request_firmware_nowait(
  46.         struct module *module, bool uevent,
  47.         const char *name, struct device *device, gfp_t gfp, void *context,
  48.         void (*cont)(const struct firmware *fw, void *context));
  49. int request_firmware_direct(const struct firmware **fw, const char *name,
  50.                             struct device *device);
  51.  
  52. void release_firmware(const struct firmware *fw);
  53.  
  54.  
  55. #define platform_device_unregister(x)
  56.  
  57. struct platform_device
  58.        *platform_device_register_simple(const char*, int, void*, unsigned int);
  59.  
  60. #define MAX_ERRNO   4095
  61.  
  62. #define IS_ERR_VALUE(x) unlikely((x) >= (unsigned long)-MAX_ERRNO)
  63.  
  64.  
  65. #endif
  66.