drivers/hwtracing/coresight/ultrasoc-smb.h

Source file repositories/reference/linux-study-clean/drivers/hwtracing/coresight/ultrasoc-smb.h

File Facts

System
Linux kernel
Corpus path
drivers/hwtracing/coresight/ultrasoc-smb.h
Extension
.h
Size
4241 bytes
Lines
125
Domain
Driver Families
Bucket
drivers/hwtracing
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.

Dependency Surface

Detected Declarations

Annotated Snippet

struct smb_data_buffer {
	void *buf_base;
	u32 buf_hw_base;
	unsigned long buf_size;
	unsigned long data_size;
	unsigned long buf_rdptr;
};

/**
 * struct smb_drv_data - specifics associated to an SMB component
 * @base:	Memory mapped base address for SMB component.
 * @csdev:	Component vitals needed by the framework.
 * @sdb:	Data buffer for SMB.
 * @miscdev:	Specifics to handle "/dev/xyz.smb" entry.
 * @spinlock:	Control data access to one at a time.
 * @reading:	Synchronise user space access to SMB buffer.
 * @pid:	Process ID of the process being monitored by the
 *		session that is using this component.
 */
struct smb_drv_data {
	void __iomem *base;
	struct coresight_device	*csdev;
	struct smb_data_buffer sdb;
	struct miscdevice miscdev;
	raw_spinlock_t spinlock;
	bool reading;
	pid_t pid;
};

#endif

Annotation

Implementation Notes