STRUCT IRQ_CHIP_GENE(9) Structures STRUCT IRQ_CHIP_GENE(9)NAME
struct_irq_chip_generic - Generic irq chip data structure
SYNOPSIS
struct irq_chip_generic {
raw_spinlock_t lock;
void __iomem * reg_base;
unsigned int irq_base;
unsigned int irq_cnt;
u32 mask_cache;
u32 type_cache;
u32 polarity_cache;
u32 wake_enabled;
u32 wake_active;
unsigned int num_ct;
void * private;
struct list_head list;
struct irq_chip_type chip_types[0];
};
MEMBERS
lock
Lock to protect register and cache data access
reg_base
Register base address (virtual)
irq_base
Interrupt base nr for this chip
irq_cnt
Number of interrupts handled by this chip
mask_cache
Cached mask register
type_cache
Cached type register
polarity_cache
Cached polarity register
wake_enabled
Interrupt can wakeup from suspend
wake_active
Interrupt is marked as an wakeup from suspend source
num_ct
Number of available irq_chip_type instances (usually 1)
private
Private data for non generic chip callbacks
list
List head for keeping track of instances
chip_types[0]
Array of interrupt irq_chip_types
DESCRIPTION
Note, that irq_chip_generic can have multiple irq_chip_type implementations which can be associated to a particular irq line of an
irq_chip_generic instance. That allows to share and protect state in an irq_chip_generic instance when we need to implement different flow
mechanisms (level/edge) for it.
AUTHORS
Thomas Gleixner <tglx@linutronix.de>
Author.
Ingo Molnar <mingo@elte.hu>
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 STRUCT IRQ_CHIP_GENE(9)
Check Out this Related Man Page
STRUCT PLATFORM_NAND(9) Structures STRUCT PLATFORM_NAND(9)NAME
struct_platform_nand_ctrl - controller level device structure
SYNOPSIS
struct platform_nand_ctrl {
int (* probe) (struct platform_device *pdev);
void (* remove) (struct platform_device *pdev);
void (* hwcontrol) (struct mtd_info *mtd, int cmd);
int (* dev_ready) (struct mtd_info *mtd);
void (* select_chip) (struct mtd_info *mtd, int chip);
void (* cmd_ctrl) (struct mtd_info *mtd, int dat, unsigned int ctrl);
void (* write_buf) (struct mtd_info *mtd, const uint8_t *buf, int len);
void (* read_buf) (struct mtd_info *mtd, uint8_t *buf, int len);
unsigned char (* read_byte) (struct mtd_info *mtd);
void * priv;
};
MEMBERS
probe
platform specific function to probe/setup hardware
remove
platform specific function to remove/teardown hardware
hwcontrol
platform specific hardware control structure
dev_ready
platform specific function to read ready/busy pin
select_chip
platform specific chip select function
cmd_ctrl
platform specific function for controlling ALE/CLE/nCE. Also used to write command and address
write_buf
platform specific function for write buffer
read_buf
platform specific function for read buffer
read_byte
platform specific function to read one byte from chip
priv
private data to transport driver specific settings
DESCRIPTION
All fields are optional and depend on the hardware driver requirements
AUTHOR
Thomas Gleixner <tglx@linutronix.de>
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 STRUCT PLATFORM_NAND(9)