drivers/media/common/siano/smscoreapi.h
Source file repositories/reference/linux-study-clean/drivers/media/common/siano/smscoreapi.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/common/siano/smscoreapi.h- Extension
.h- Size
- 36368 bytes
- Lines
- 1145
- Domain
- Driver Families
- Bucket
- drivers/media
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/device.hlinux/list.hlinux/mm.hlinux/scatterlist.hlinux/types.hlinux/mutex.hlinux/wait.hlinux/timer.hmedia/media-device.hasm/page.hsmsir.h
Detected Declarations
struct smscore_device_tstruct smscore_client_tstruct smscore_buffer_tstruct smscore_buffer_tstruct smsdevice_params_tstruct smsclient_params_tstruct smscore_device_tstruct sms_msg_hdrstruct sms_msg_datastruct sms_msg_data2struct sms_msg_data5struct sms_data_downloadstruct sms_version_resstruct sms_firmwarestruct sms_statsstruct sms_msg_statistics_infostruct sms_isdbt_layer_statsstruct sms_isdbt_statsstruct sms_isdbt_stats_exstruct sms_pid_stats_datastruct PID_BURST_Sstruct sms_pid_datastruct sms_tx_statsstruct sms_rx_statsstruct sms_rx_stats_exstruct sms_stats_dvbstruct sms_stats_dvb_exstruct sms_srvm_signal_statusstruct smscore_config_gpioenum sms_device_type_stenum sms_power_mode_stenum sms_bandwidth_modeenum msg_typesenum SMS_DVB3_EVENTSenum SMS_DEVICE_MODE
Annotated Snippet
struct smscore_buffer_t {
/* public members, once passed to clients can be changed freely */
struct list_head entry;
int size;
int offset;
/* private members, read-only for clients */
void *p;
dma_addr_t phys;
unsigned long offset_in_common;
};
struct smsdevice_params_t {
struct device *device;
struct usb_device *usb_device;
int buffer_size;
int num_buffers;
char devpath[32];
unsigned long flags;
setmode_t setmode_handler;
detectmode_t detectmode_handler;
sendrequest_t sendrequest_handler;
preload_t preload_handler;
postload_t postload_handler;
void *context;
enum sms_device_type_st device_type;
};
struct smsclient_params_t {
int initial_id;
int data_type;
onresponse_t onresponse_handler;
onremove_t onremove_handler;
void *context;
};
struct smscore_device_t {
struct list_head entry;
struct list_head clients;
struct list_head subclients;
spinlock_t clientslock;
struct list_head buffers;
spinlock_t bufferslock;
int num_buffers;
void *common_buffer;
int common_buffer_size;
dma_addr_t common_buffer_phys;
void *context;
struct device *device;
struct usb_device *usb_device;
char devpath[32];
unsigned long device_flags;
setmode_t setmode_handler;
detectmode_t detectmode_handler;
sendrequest_t sendrequest_handler;
preload_t preload_handler;
postload_t postload_handler;
int mode, modes_supported;
gfp_t gfp_buf_flags;
/* host <--> device messages */
struct completion version_ex_done, data_download_done, trigger_done;
struct completion data_validity_done, device_ready_done;
struct completion init_device_done, reload_start_done, resume_done;
struct completion gpio_configuration_done, gpio_set_level_done;
struct completion gpio_get_level_done, ir_init_done;
/* Buffer management */
wait_queue_head_t buffer_mng_waitq;
/* GPIO */
int gpio_get_res;
/* Target hardware board */
int board_id;
/* Firmware */
u8 *fw_buf;
Annotation
- Immediate include surface: `linux/device.h`, `linux/list.h`, `linux/mm.h`, `linux/scatterlist.h`, `linux/types.h`, `linux/mutex.h`, `linux/wait.h`, `linux/timer.h`.
- Detected declarations: `struct smscore_device_t`, `struct smscore_client_t`, `struct smscore_buffer_t`, `struct smscore_buffer_t`, `struct smsdevice_params_t`, `struct smsclient_params_t`, `struct smscore_device_t`, `struct sms_msg_hdr`, `struct sms_msg_data`, `struct sms_msg_data2`.
- Atlas domain: Driver Families / drivers/media.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.