| Function report | 
| Source Code: kernel\resource.c | Create Date:2022-07-28 09:05:30 | 
| Last Modify:2022-05-22 11:14:39 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:__request_region - create a new busy resource region*@parent: parent resource descriptor*@start: resource start address*@n: resource region size*@name: reserving caller's ID string*@flags: IO resource flags
Proto:struct resource *__request_region(struct resource *parent, resource_size_t start, resource_size_t n, const char *name, int flags)
Type:struct resource
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct resource * | parent | |
| resource_size_t | start | |
| resource_size_t | n | |
| const char * | name | |
| int | flags | 
| 1127 | DECLARE_WAITQUEUE(wait, current process) | 
| 1128 | res = alloc_resource(GFP_KERNEL) | 
| 1130 | If Not res Then Return NULL | 
| 1137 | write_lock( & resource_lock) | 
| 1139 | cycle | 
| 1142 | flags = resource_type(parent) | resource_ext_type(parent) | 
| 1143 | flags |= Driver has marked this resource busy | flags | 
| 1147 | If Not conflict Then Break | 
| 1154 | If desc == IORES_DESC_DEVICE_PRIVATE_MEMORY Then | 
| 1159 | If Not (flags & Driver has marked this resource busy ) Then | 
| 1164 | If flags & flags & Resource is software muxed Then | 
| 1166 | write_unlock( & resource_lock) | 
| 1168 | schedule() | 
| 1170 | write_lock( & resource_lock) | 
| 1171 | Continue | 
| 1174 | free_resource(res) | 
| 1175 | res = NULL | 
| 1176 | Break | 
| 1178 | write_unlock( & resource_lock) | 
| 1179 | Return res | 
| Name | Describe | 
|---|---|
| __devm_request_region | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |