Lines Matching full:resource

21 struct resource {  struct
27 struct resource *parent, *sibling, *child; argument
38 * PCI devices expose these flags to userspace in the "resource" sysfs file,
43 #define IORESOURCE_TYPE_BITS 0x00001f00 /* Resource type */
62 #define IORESOURCE_MUXED 0x00400000 /* Resource is software muxed */
64 #define IORESOURCE_EXT_TYPE_BITS 0x01000000 /* Resource extended types */
69 #define IORESOURCE_SYSRAM_MERGEABLE 0x04000000 /* Resource can be merged. */
71 #define IORESOURCE_EXCLUSIVE 0x08000000 /* Userland may not map this resource */
76 #define IORESOURCE_BUSY 0x80000000 /* Driver has marked this resource busy */
78 /* I/O resource extended types */
127 #define IORESOURCE_PCI_FIXED (1<<4) /* Do not move resource */
131 * I/O Resource Descriptors
134 * for searching a specific resource range in the iomem table. Assign
135 * a new descriptor when a resource range supports the search interfaces.
136 * Otherwise, resource.desc must be set to IORES_DESC_NONE (0).
189 extern struct resource ioport_resource;
190 extern struct resource iomem_resource;
192 extern struct resource *request_resource_conflict(struct resource *root, struct resource *new);
193 extern int request_resource(struct resource *root, struct resource *new);
194 extern int release_resource(struct resource *new);
195 void release_child_resources(struct resource *new);
196 extern void reserve_region_with_split(struct resource *root,
199 extern struct resource *insert_resource_conflict(struct resource *parent, struct resource *new);
200 extern int insert_resource(struct resource *parent, struct resource *new);
201 extern void insert_resource_expand_to_fit(struct resource *root, struct resource *new);
202 extern int remove_resource(struct resource *old);
203 extern void arch_remove_reservations(struct resource *avail);
204 extern int allocate_resource(struct resource *root, struct resource *new,
208 const struct resource *,
212 struct resource *lookup_resource(struct resource *root, resource_size_t start);
213 int adjust_resource(struct resource *res, resource_size_t start,
215 resource_size_t resource_alignment(struct resource *res);
216 static inline resource_size_t resource_size(const struct resource *res) in resource_size()
220 static inline unsigned long resource_type(const struct resource *res) in resource_type()
224 static inline unsigned long resource_ext_type(const struct resource *res) in resource_ext_type()
229 static inline bool resource_contains(struct resource *r1, struct resource *r2) in resource_contains()
248 extern struct resource * __request_region(struct resource *,
257 extern void __release_region(struct resource *, resource_size_t,
263 extern void merge_system_ram_resource(struct resource *res);
269 extern int devm_request_resource(struct device *dev, struct resource *root,
270 struct resource *new);
271 extern void devm_release_resource(struct device *dev, struct resource *new);
278 extern struct resource * __devm_request_region(struct device *dev,
279 struct resource *parent, resource_size_t start,
287 extern void __devm_release_region(struct device *dev, struct resource *parent,
297 int (*func)(struct resource *, void *));
300 int (*func)(struct resource *, void *));
303 void *arg, int (*func)(struct resource *, void *));
306 static inline bool resource_overlaps(struct resource *r1, struct resource *r2) in resource_overlaps()
311 struct resource *devm_request_free_mem_region(struct device *dev,
312 struct resource *base, unsigned long size);
313 struct resource *request_free_mem_region(struct resource *base,
317 void revoke_devmem(struct resource *res);
319 static inline void revoke_devmem(struct resource *res) { }; in revoke_devmem()