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 |