Commit 4eed3dd7 authored by Ilpo Järvinen's avatar Ilpo Järvinen Committed by Bjorn Helgaas
Browse files

resource: Use typedef for alignf callback

parent f958625c
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -176,10 +176,7 @@ static void pci_clip_resource_to_region(struct pci_bus *bus,
static int pci_bus_alloc_from_region(struct pci_bus *bus, struct resource *res,
		resource_size_t size, resource_size_t align,
		resource_size_t min, unsigned long type_mask,
		resource_size_t (*alignf)(void *,
					  const struct resource *,
					  resource_size_t,
					  resource_size_t),
		resource_alignf alignf,
		void *alignf_data,
		struct pci_bus_region *region)
{
@@ -250,10 +247,7 @@ static int pci_bus_alloc_from_region(struct pci_bus *bus, struct resource *res,
int pci_bus_alloc_resource(struct pci_bus *bus, struct resource *res,
		resource_size_t size, resource_size_t align,
		resource_size_t min, unsigned long type_mask,
		resource_size_t (*alignf)(void *,
					  const struct resource *,
					  resource_size_t,
					  resource_size_t),
		resource_alignf alignf,
		void *alignf_data)
{
#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
+18 −4
Original line number Diff line number Diff line
@@ -188,6 +188,23 @@ enum {
#define DEFINE_RES_DMA(_dma)						\
	DEFINE_RES_DMA_NAMED((_dma), NULL)

/**
 * typedef resource_alignf - Resource alignment callback
 * @data:	Private data used by the callback
 * @res:	Resource candidate range (an empty resource space)
 * @size:	The minimum size of the empty space
 * @align:	Alignment from the constraints
 *
 * Callback allows calculating resource placement and alignment beyond min,
 * max, and align fields in the struct resource_constraint.
 *
 * Return: Start address for the resource.
 */
typedef resource_size_t (*resource_alignf)(void *data,
					   const struct resource *res,
					   resource_size_t size,
					   resource_size_t align);

/* PC/ISA/whatever - the normal PC address spaces: IO and memory */
extern struct resource ioport_resource;
extern struct resource iomem_resource;
@@ -207,10 +224,7 @@ extern void arch_remove_reservations(struct resource *avail);
extern int allocate_resource(struct resource *root, struct resource *new,
			     resource_size_t size, resource_size_t min,
			     resource_size_t max, resource_size_t align,
			     resource_size_t (*alignf)(void *,
						       const struct resource *,
						       resource_size_t,
						       resource_size_t),
			     resource_alignf alignf,
			     void *alignf_data);
struct resource *lookup_resource(struct resource *root, resource_size_t start);
int adjust_resource(struct resource *res, resource_size_t start,
+1 −4
Original line number Diff line number Diff line
@@ -1551,10 +1551,7 @@ int __must_check pci_bus_alloc_resource(struct pci_bus *bus,
			struct resource *res, resource_size_t size,
			resource_size_t align, resource_size_t min,
			unsigned long type_mask,
			resource_size_t (*alignf)(void *,
						  const struct resource *,
						  resource_size_t,
						  resource_size_t),
			resource_alignf alignf,
			void *alignf_data);


+2 −6
Original line number Diff line number Diff line
@@ -63,8 +63,7 @@ EXPORT_SYMBOL(iomem_resource);
 */
struct resource_constraint {
	resource_size_t min, max, align;
	resource_size_t (*alignf)(void *, const struct resource *,
			resource_size_t, resource_size_t);
	resource_alignf alignf;
	void *alignf_data;
};

@@ -783,10 +782,7 @@ static int reallocate_resource(struct resource *root, struct resource *old,
int allocate_resource(struct resource *root, struct resource *new,
		      resource_size_t size, resource_size_t min,
		      resource_size_t max, resource_size_t align,
		      resource_size_t (*alignf)(void *,
						const struct resource *,
						resource_size_t,
						resource_size_t),
		      resource_alignf alignf,
		      void *alignf_data)
{
	int err;