arch/arm/include/asm/hardware/locomo.h

Source file repositories/reference/linux-study-clean/arch/arm/include/asm/hardware/locomo.h

File Facts

System
Linux kernel
Corpus path
arch/arm/include/asm/hardware/locomo.h
Extension
.h
Size
7083 bytes
Lines
218
Domain
Architecture Layer
Bucket
arch/arm
Inferred role
Architecture Layer: operation-table or driver-model contract
Status
pattern implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

struct device_driver	drv;
	unsigned int		devid;
	int (*probe)(struct locomo_dev *);
	void (*remove)(struct locomo_dev *);
};

#define LOCOMO_DRV(_d)	container_of_const((_d), struct locomo_driver, drv)

#define LOCOMO_DRIVER_NAME(_ldev) ((_ldev)->dev.driver->name)

extern void locomolcd_power(int on);

int locomo_driver_register(struct locomo_driver *);
void locomo_driver_unregister(struct locomo_driver *);

/* GPIO control functions */
void locomo_gpio_set_dir(struct device *dev, unsigned int bits, unsigned int dir);
int locomo_gpio_read_level(struct device *dev, unsigned int bits);
int locomo_gpio_read_output(struct device *dev, unsigned int bits);
void locomo_gpio_write(struct device *dev, unsigned int bits, unsigned int set);

/* M62332 control function */
void locomo_m62332_senddata(struct locomo_dev *ldev, unsigned int dac_data, int channel);

/* Frontlight control */
void locomo_frontlight_set(struct locomo_dev *dev, int duty, int vr, int bpwf);

struct locomo_platform_data {
	int	irq_base;	/* IRQ base for cascaded on-chip IRQs */
};

#endif

Annotation

Implementation Notes