drivers/gpu/drm/solomon/ssd130x.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/solomon/ssd130x.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/solomon/ssd130x.h- Extension
.h- Size
- 2302 bytes
- Lines
- 114
- Domain
- Driver Families
- Bucket
- drivers/gpu
- 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
drm/drm_connector.hdrm/drm_crtc.hdrm/drm_drv.hdrm/drm_encoder.hlinux/regmap.h
Detected Declarations
struct ssd130x_deviceinfostruct ssd130x_deviceenum ssd130x_family_idsenum ssd130x_variants
Annotated Snippet
struct ssd130x_deviceinfo {
u32 default_vcomh;
u32 default_dclk_div;
u32 default_dclk_frq;
u32 default_width;
u32 default_height;
bool need_pwm;
bool need_chargepump;
bool page_mode_only;
enum ssd130x_family_ids family_id;
};
struct ssd130x_device {
struct drm_device drm;
struct device *dev;
struct drm_display_mode mode;
struct drm_plane primary_plane;
struct drm_crtc crtc;
struct drm_encoder encoder;
struct drm_connector connector;
struct i2c_client *client;
struct regmap *regmap;
const struct ssd130x_deviceinfo *device_info;
unsigned page_address_mode : 1;
unsigned area_color_enable : 1;
unsigned com_invdir : 1;
unsigned com_lrremap : 1;
unsigned com_seq : 1;
unsigned lookup_table_set : 1;
unsigned low_power : 1;
unsigned seg_remap : 1;
u32 com_offset;
u32 contrast;
u32 dclk_div;
u32 dclk_frq;
u32 height;
u8 lookup_table[4];
u32 page_offset;
u32 col_offset;
u32 prechargep1;
u32 prechargep2;
struct backlight_device *bl_dev;
struct pwm_device *pwm;
struct gpio_desc *reset;
struct regulator *vcc_reg;
u32 vcomh;
u32 width;
/* Cached address ranges */
u8 col_start;
u8 col_end;
u8 page_start;
u8 page_end;
};
extern const struct ssd130x_deviceinfo ssd130x_variants[];
struct ssd130x_device *ssd130x_probe(struct device *dev, struct regmap *regmap);
void ssd130x_remove(struct ssd130x_device *ssd130x);
void ssd130x_shutdown(struct ssd130x_device *ssd130x);
#endif /* __SSD130X_H__ */
Annotation
- Immediate include surface: `drm/drm_connector.h`, `drm/drm_crtc.h`, `drm/drm_drv.h`, `drm/drm_encoder.h`, `linux/regmap.h`.
- Detected declarations: `struct ssd130x_deviceinfo`, `struct ssd130x_device`, `enum ssd130x_family_ids`, `enum ssd130x_variants`.
- Atlas domain: Driver Families / drivers/gpu.
- 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.