rt_driver.h 672 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef __RT_DRIVER_H__
  2. #define __RT_DRIVER_H__
  3. #include <rtdef.h>
  4. #define RT_DRIVER_MATCH_DTS (1<<0)
  5. struct rt_device_id
  6. {
  7. const char *compatible;
  8. void *data;
  9. };
  10. struct rt_driver
  11. {
  12. struct rt_object parent;
  13. const struct rt_device_ops *dev_ops;
  14. const struct filesystem_ops *fops;
  15. const char *name;
  16. enum rt_device_class_type dev_type;
  17. int device_priv_data_size;
  18. int device_size;
  19. int flag;
  20. int total_device_num;
  21. const struct rt_device_id *dev_match;
  22. int (*probe)(struct rt_device *dev);
  23. int (*init)(struct rt_device *dev);
  24. const void *ops; /* driver-specific operations */
  25. };
  26. typedef struct rt_driver *rt_driver_t;
  27. #endif