Last active
June 23, 2022 07:06
-
-
Save ox1111/c2814962a71e18ae901cc03b47f86fa2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
아들 교육자료 | |
pointer 사용 예제 | |
*/ | |
struct device { | |
struct klist klist_children; | |
struct klist_node knode_parent; /* node in sibling list */ | |
struct klist_node knode_driver; | |
struct klist_node knode_bus; | |
struct device * parent; | |
struct kobject kobj; | |
char bus_id[BUS_ID_SIZE]; /* position on parent bus */ | |
struct semaphore sem; /* semaphore to synchronize calls to | |
* its driver. | |
*/ | |
struct bus_type * bus; /* type of bus device is on */ | |
struct device_driver *driver; /* which driver has allocated this device */ | |
void *driver_data; /* data private to the driver */ | |
void *platform_data; /* Platform specific data, device | |
core doesn't touch it */ | |
void *firmware_data; /* Firmware specific data (e.g. ACPI, | |
BIOS data),reserved for device core*/ | |
struct dev_pm_info power; | |
u64 *dma_mask; /* dma mask (if dma'able device) */ | |
u64 coherent_dma_mask; /* Like dma_mask, but for | |
alloc_coherent mappings as | |
not all hardware supports | |
64 bit addresses for consistent | |
allocations such descriptors. | |
*/ | |
struct list_head dma_pools; /* dma pools (if dma'ble) */ | |
struct dma_coherent_mem *dma_mem; /* internal for coherent mem override */ | |
void (*release)(struct device * dev); | |
}; | |
struct platform_device { | |
const char * name; | |
u32 id; | |
struct device dev; | |
u32 num_resources; | |
struct resource * resource; | |
}; | |
struct devicemodel_data { | |
char *greeting; | |
int number; | |
}; | |
static int devicemodel_probe(struct platform_device *dev) | |
{ | |
struct devicemodel_data *pd = | |
(struct devicemodel_data *)(dev->dev.platform_data); | |
pr_info("devicemodel probe\n"); | |
pr_info("devicemodel greeting: %s; %d\n", pd->greeting, pd->number); | |
/* Your device initialization code */ | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment