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 |