(void)context;
}
static void my_driver_exit(void *context) {
(void)context;
}
.name = "rad_example",
.bus = "platform",
.compatible = "rad,example",
.init = my_driver_init,
.exit = my_driver_exit,
};
rad_status_t rad_module_register(const rad_module_descriptor_t *descriptor)
Public RADPx-OS kernel API entry point.
@ RAD_STATUS_OK
RAD_STATUS_OK.
Definition: radkernel.h:143
struct rad_module_descriptor rad_module_descriptor_t
Public data structure for rad_module_descriptor.
enum rad_status rad_status_t
Public enumeration for rad_status.
Public data structure for rad_module_descriptor.
Definition: radkernel.h:1143
uint32_t size
Public structure field.
Definition: radkernel.h:1144
(void)context;
}
(void)context;
}
}
};
.bus_id = 0,
.name = "rad_i2c0",
.tree_path = "/soc/i2c@0",
.clock_hz = 400000,
};
.name = "rad_i2c_tmp102",
.compatible = "ti,tmp102",
.probe = tmp102_probe,
};
rad_status_t rad_i2c_driver_register(const rad_i2c_driver_t *driver)
Public RADPx-OS kernel API entry point.
rad_status_t rad_i2c_controller_register(const rad_i2c_controller_config_t *config, const rad_i2c_controller_ops_t *ops)
Public RADPx-OS kernel API entry point.
rad_status_t rad_irq_resource_enable(const rad_irq_resource_t *resource)
Public RADPx-OS kernel API entry point.
rad_status_t rad_i2c_bind_tree(void)
Public RADPx-OS kernel API entry point.
struct rad_i2c_driver rad_i2c_driver_t
Public data structure for rad_i2c_driver.
@ RAD_STATUS_INVALID_ARGUMENT
RAD_STATUS_INVALID_ARGUMENT.
Definition: radkernel.h:145
struct rad_i2c_device rad_i2c_device_t
Forward-declared public type rad_i2c_device_t backed by rad_i2c_device.
Definition: radkernel.h:1035
rad_status_t rad_i2c_device_get_irq(const rad_i2c_device_t *device, size_t index, rad_irq_resource_t *resource)
Public RADPx-OS kernel API entry point.
struct rad_i2c_controller_config rad_i2c_controller_config_t
Public data structure for rad_i2c_controller_config.
Public data structure for rad_i2c_controller_config.
Definition: radkernel.h:1044
uint32_t size
Public structure field.
Definition: radkernel.h:1045
Public data structure for rad_i2c_controller_ops.
Definition: radkernel.h:1038
rad_status_t(* transfer)(void *context, const rad_i2c_transfer_t *transfer)
Public callback slot.
Definition: radkernel.h:1040
Public data structure for rad_i2c_driver.
Definition: radkernel.h:1055
uint32_t size
Public structure field.
Definition: radkernel.h:1056
Public data structure for rad_i2c_transfer.
Definition: radkernel.h:1024
Public data structure for rad_irq_resource.
Definition: radkernel.h:1244
.name = "rad_dma0",
.channel_count = 8,
};
.release = my_dma_release,
.submit = my_dma_submit,
.wait = my_dma_wait,
.cancel = my_dma_cancel,
};
.rx_data = rx,
.size = count,
.speed_hz = 12000000,
.bits_per_word = 8,
.cs = 0,
};
rad_status_t rad_dma_controller_register(const rad_dma_controller_config_t *config, const rad_dma_backend_ops_t *ops)
Public RADPx-OS kernel API entry point.
rad_status_t rad_spi_device_transfer(rad_spi_device_t *device, const rad_spi_transfer_t *transfer)
Public RADPx-OS kernel API entry point.
@ RAD_SPI_TRANSFER_MODE_AUTO
RAD_SPI_TRANSFER_MODE_AUTO.
Definition: radkernel.h:393
struct rad_dma_controller_config rad_dma_controller_config_t
Public data structure for rad_dma_controller_config.
Public data structure for rad_dma_backend_ops.
Definition: radkernel.h:1096
rad_status_t(* request)(void *context, rad_dma_request_id_t request_id, void **backend_channel)
Public callback slot.
Definition: radkernel.h:1098
Public data structure for rad_dma_controller_config.
Definition: radkernel.h:1106
uint32_t size
Public structure field.
Definition: radkernel.h:1107
Public data structure for rad_spi_transfer.
Definition: radkernel.h:1065
const uint8_t * tx_data
Public structure field.
Definition: radkernel.h:1066
.name = "/dev/fb0",
.connector = "virtio-vga",
.primary = 1,
};
struct rad_framebuffer_config rad_framebuffer_config_t
Public data structure for rad_framebuffer_config.
rad_status_t rad_framebuffer_register_ex(const rad_framebuffer_config_t *config, const rad_framebuffer_ops_t *ops)
Public RADPx-OS kernel API entry point.
@ RAD_PIXEL_FORMAT_XRGB8888
RAD_PIXEL_FORMAT_XRGB8888.
Definition: radkernel.h:381
struct rad_framebuffer_info rad_framebuffer_info_t
Public data structure for rad_framebuffer_info.
@ RAD_DISPLAY_OUTPUT_GRUB
RAD_DISPLAY_OUTPUT_GRUB.
Definition: radkernel.h:419
Public data structure for rad_framebuffer_config.
Definition: radkernel.h:964
rad_framebuffer_info_t info
Public structure field.
Definition: radkernel.h:967
uint32_t size
Public structure field.
Definition: radkernel.h:965
uint32_t width
Public structure field.
Definition: radkernel.h:926
uint32_t stride_bytes
Public structure field.
Definition: radkernel.h:928
rad_pixel_format_t pixel_format
Public structure field.
Definition: radkernel.h:929
void * pixels
Public structure field.
Definition: radkernel.h:930
uint32_t height
Public structure field.
Definition: radkernel.h:927
uint32_t size
Public structure field.
Definition: radkernel.h:925
size_t count = 0;
rad_status_t rad_input_queue_read(rad_input_queue_t queue, rad_input_event_t *events, size_t capacity, uint32_t timeout_ms, size_t *count)
Public RADPx-OS kernel API entry point.
rad_status_t rad_input_device_register_queue(const char *name, rad_input_queue_t queue)
Public RADPx-OS kernel API entry point.
rad_status_t rad_input_queue_create(const char *name, size_t capacity, rad_input_queue_t *queue)
Public RADPx-OS kernel API entry point.
struct rad_input_queue_handle * rad_input_queue_t
Opaque handle type rad_input_queue_t backed by rad_input_queue_handle.
Definition: radkernel.h:1355
char buffer[128];
int32_t rad_fd_close(int32_t fd)
Public RADPx-OS kernel API entry point.
intptr_t rad_fd_read(int32_t fd, void *buffer, size_t size)
Public RADPx-OS kernel API entry point.
int32_t rad_fd_open(const char *path, uint32_t flags)
Public RADPx-OS kernel API entry point.
@ RAD_VFS_READ
RAD_VFS_READ.
Definition: radkernel.h:270