drivers/usb/serial/kl5kusb105.h
Source file repositories/reference/linux-study-clean/drivers/usb/serial/kl5kusb105.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/usb/serial/kl5kusb105.h- Extension
.h- Size
- 1825 bytes
- Lines
- 67
- Domain
- Driver Families
- Bucket
- drivers/usb
- 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.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#define PALMCONNECT_VID 0x0830
#define PALMCONNECT_PID 0x0080
/* Vendor commands: */
/* port table -- the chip supports up to 4 channels */
/* baud rates */
enum {
kl5kusb105a_sio_b115200 = 0,
kl5kusb105a_sio_b57600 = 1,
kl5kusb105a_sio_b38400 = 2,
kl5kusb105a_sio_b19200 = 4,
kl5kusb105a_sio_b14400 = 5,
kl5kusb105a_sio_b9600 = 6,
kl5kusb105a_sio_b4800 = 8, /* unchecked */
kl5kusb105a_sio_b2400 = 9, /* unchecked */
kl5kusb105a_sio_b1200 = 0xa, /* unchecked */
kl5kusb105a_sio_b600 = 0xb /* unchecked */
};
/* data bits */
#define kl5kusb105a_dtb_7 7
#define kl5kusb105a_dtb_8 8
/* requests: */
#define KL5KUSB105A_SIO_SET_DATA 1
#define KL5KUSB105A_SIO_POLL 2
#define KL5KUSB105A_SIO_CONFIGURE 3
/* values used for request KL5KUSB105A_SIO_CONFIGURE */
#define KL5KUSB105A_SIO_CONFIGURE_READ_ON 3
#define KL5KUSB105A_SIO_CONFIGURE_READ_OFF 2
/* Interpretation of modem status lines */
/* These need sorting out by individually connecting pins and checking
* results. FIXME!
* When data is being sent we see 0x30 in the lower byte; this must
* contain DSR and CTS ...
*/
#define KL5KUSB105A_DSR ((1<<4) | (1<<5))
#define KL5KUSB105A_CTS ((1<<5) | (1<<4))
#define KL5KUSB105A_WANTS_TO_SEND 0x30
#if 0
#define KL5KUSB105A_DTR /* Data Terminal Ready */
#define KL5KUSB105A_CTS /* Clear To Send */
#define KL5KUSB105A_CD /* Carrier Detect */
#define KL5KUSB105A_DSR /* Data Set Ready */
#define KL5KUSB105A_RxD /* Receive pin */
#define KL5KUSB105A_LE
#define KL5KUSB105A_RTS
#define KL5KUSB105A_ST
#define KL5KUSB105A_SR
#define KL5KUSB105A_RI /* Ring Indicator */
#endif
Annotation
- Atlas domain: Driver Families / drivers/usb.
- 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.