drivers/staging/media/atomisp/pci/isp2400_input_system_private.h

Source file repositories/reference/linux-study-clean/drivers/staging/media/atomisp/pci/isp2400_input_system_private.h

File Facts

System
Linux kernel
Corpus path
drivers/staging/media/atomisp/pci/isp2400_input_system_private.h
Extension
.h
Size
3422 bytes
Lines
115
Domain
Driver Families
Bucket
drivers/staging
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

#ifndef __INPUT_SYSTEM_2400_PRIVATE_H_INCLUDED__
#define __INPUT_SYSTEM_2400_PRIVATE_H_INCLUDED__

#include "input_system_public.h"

#include "device_access.h"

#include "assert_support.h"

STORAGE_CLASS_INPUT_SYSTEM_C void input_system_reg_store(
    const input_system_ID_t			ID,
    const hrt_address			reg,
    const hrt_data				value)
{
	assert(ID < N_INPUT_SYSTEM_ID);
	assert(INPUT_SYSTEM_BASE[ID] != (hrt_address)-1);
	ia_css_device_store_uint32(INPUT_SYSTEM_BASE[ID] + reg * sizeof(hrt_data),
				   value);
	return;
}

STORAGE_CLASS_INPUT_SYSTEM_C hrt_data input_system_reg_load(
    const input_system_ID_t			ID,
    const hrt_address			reg)
{
	assert(ID < N_INPUT_SYSTEM_ID);
	assert(INPUT_SYSTEM_BASE[ID] != (hrt_address)-1);
	return ia_css_device_load_uint32(INPUT_SYSTEM_BASE[ID] + reg * sizeof(
					     hrt_data));
}

STORAGE_CLASS_INPUT_SYSTEM_C void receiver_reg_store(
    const rx_ID_t				ID,
    const hrt_address			reg,
    const hrt_data				value)
{
	assert(ID < N_RX_ID);
	assert(RX_BASE[ID] != (hrt_address)-1);
	ia_css_device_store_uint32(RX_BASE[ID] + reg * sizeof(hrt_data), value);
	return;
}

STORAGE_CLASS_INPUT_SYSTEM_C hrt_data receiver_reg_load(
    const rx_ID_t				ID,
    const hrt_address			reg)
{
	assert(ID < N_RX_ID);
	assert(RX_BASE[ID] != (hrt_address)-1);
	return ia_css_device_load_uint32(RX_BASE[ID] + reg * sizeof(hrt_data));
}

STORAGE_CLASS_INPUT_SYSTEM_C void receiver_port_reg_store(
    const rx_ID_t				ID,
    const enum mipi_port_id			port_ID,
    const hrt_address			reg,
    const hrt_data				value)
{
	assert(ID < N_RX_ID);
	assert(port_ID < N_MIPI_PORT_ID);
	assert(RX_BASE[ID] != (hrt_address)-1);
	assert(MIPI_PORT_OFFSET[port_ID] != (hrt_address)-1);
	ia_css_device_store_uint32(RX_BASE[ID] + MIPI_PORT_OFFSET[port_ID] + reg *
				   sizeof(hrt_data), value);
	return;
}

STORAGE_CLASS_INPUT_SYSTEM_C hrt_data receiver_port_reg_load(
    const rx_ID_t				ID,
    const enum mipi_port_id			port_ID,
    const hrt_address			reg)
{
	assert(ID < N_RX_ID);
	assert(port_ID < N_MIPI_PORT_ID);
	assert(RX_BASE[ID] != (hrt_address)-1);
	assert(MIPI_PORT_OFFSET[port_ID] != (hrt_address)-1);
	return ia_css_device_load_uint32(RX_BASE[ID] + MIPI_PORT_OFFSET[port_ID] + reg *
					 sizeof(hrt_data));
}

STORAGE_CLASS_INPUT_SYSTEM_C void input_system_sub_system_reg_store(
    const input_system_ID_t			ID,
    const sub_system_ID_t			sub_ID,
    const hrt_address			reg,
    const hrt_data				value)
{
	assert(ID < N_INPUT_SYSTEM_ID);
	assert(sub_ID < N_SUB_SYSTEM_ID);
	assert(INPUT_SYSTEM_BASE[ID] != (hrt_address)-1);
	assert(SUB_SYSTEM_OFFSET[sub_ID] != (hrt_address)-1);
	ia_css_device_store_uint32(INPUT_SYSTEM_BASE[ID] + SUB_SYSTEM_OFFSET[sub_ID] +

Annotation

Implementation Notes