Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit afd6546d authored by Stefan Richter's avatar Stefan Richter
Browse files

ieee1394: move some comments from declaration to definition

parent ef815334
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ struct hpsb_config_rom_entry {
	unsigned int flag;
};


/* The default host entry. This must succeed. */
int hpsb_default_host_entry(struct hpsb_host *host)
{
	struct csr1212_keyval *root;
@@ -170,7 +170,7 @@ static struct hpsb_config_rom_entry *const config_rom_entries[] = {
	NULL,
};


/* Initialize all config roms */
int hpsb_init_config_roms(void)
{
	int i, error = 0;
@@ -191,6 +191,7 @@ int hpsb_init_config_roms(void)
	return error;
}

/* Cleanup all config roms */
void hpsb_cleanup_config_roms(void)
{
	int i;
@@ -201,6 +202,7 @@ void hpsb_cleanup_config_roms(void)
	}
}

/* Add extra config roms to specified host */
int hpsb_add_extra_config_roms(struct hpsb_host *host)
{
	int i, error = 0;
@@ -219,6 +221,7 @@ int hpsb_add_extra_config_roms(struct hpsb_host *host)
	return error;
}

/* Remove extra config roms from specified host */
void hpsb_remove_extra_config_roms(struct hpsb_host *host)
{
	int i;
+0 −10
Original line number Diff line number Diff line
@@ -4,22 +4,12 @@
#include "ieee1394_types.h"
#include "hosts.h"

/* The default host entry. This must succeed. */
int hpsb_default_host_entry(struct hpsb_host *host);

/* Initialize all config roms */
int hpsb_init_config_roms(void);

/* Cleanup all config roms */
void hpsb_cleanup_config_roms(void);

/* Add extra config roms to specified host */
int hpsb_add_extra_config_roms(struct hpsb_host *host);

/* Remove extra config roms from specified host */
void hpsb_remove_extra_config_roms(struct hpsb_host *host);


/* List of flags to check if a host contains a certain extra config rom
 * entry. Available in the host->config_roms member. */
#define HPSB_CONFIG_ROM_ENTRY_IP1394		0x00000001
+24 −0
Original line number Diff line number Diff line
@@ -62,6 +62,9 @@ void dma_prog_region_free(struct dma_prog_region *prog)

/* dma_region */

/**
 * dma_region_init - clear out all fields but do not allocate anything
 */
void dma_region_init(struct dma_region *dma)
{
	dma->kvirt = NULL;
@@ -71,6 +74,9 @@ void dma_region_init(struct dma_region *dma)
	dma->sglist = NULL;
}

/**
 * dma_region_alloc - allocate the buffer and map it to the IOMMU
 */
int dma_region_alloc(struct dma_region *dma, unsigned long n_bytes,
		     struct pci_dev *dev, int direction)
{
@@ -128,6 +134,9 @@ int dma_region_alloc(struct dma_region *dma, unsigned long n_bytes,
	return -ENOMEM;
}

/**
 * dma_region_free - unmap and free the buffer
 */
void dma_region_free(struct dma_region *dma)
{
	if (dma->n_dma_pages) {
@@ -167,6 +176,12 @@ static inline int dma_region_find(struct dma_region *dma, unsigned long offset,
	return i;
}

/**
 * dma_region_offset_to_bus - get bus address of an offset within a DMA region
 *
 * Returns the DMA bus address of the byte with the given @offset relative to
 * the beginning of the @dma.
 */
dma_addr_t dma_region_offset_to_bus(struct dma_region * dma,
				    unsigned long offset)
{
@@ -177,6 +192,9 @@ dma_addr_t dma_region_offset_to_bus(struct dma_region * dma,
	return sg_dma_address(sg) + rem;
}

/**
 * dma_region_sync_for_cpu - sync the CPU's view of the buffer
 */
void dma_region_sync_for_cpu(struct dma_region *dma, unsigned long offset,
			     unsigned long len)
{
@@ -193,6 +211,9 @@ void dma_region_sync_for_cpu(struct dma_region *dma, unsigned long offset,
				dma->direction);
}

/**
 * dma_region_sync_for_device - sync the IO bus' view of the buffer
 */
void dma_region_sync_for_device(struct dma_region *dma, unsigned long offset,
				unsigned long len)
{
@@ -244,6 +265,9 @@ static struct vm_operations_struct dma_region_vm_ops = {
	.nopage = dma_region_pagefault,
};

/**
 * dma_region_mmap - map the buffer into a user space process
 */
int dma_region_mmap(struct dma_region *dma, struct file *file,
		    struct vm_area_struct *vma)
{
+5 −17
Original line number Diff line number Diff line
@@ -66,35 +66,23 @@ struct dma_region {
	int direction;
};

/* clear out all fields but do not allocate anything */
void dma_region_init(struct dma_region *dma);

/* allocate the buffer and map it to the IOMMU */
int dma_region_alloc(struct dma_region *dma, unsigned long n_bytes,
		     struct pci_dev *dev, int direction);

/* unmap and free the buffer */
void dma_region_free(struct dma_region *dma);

/* sync the CPU's view of the buffer */
void dma_region_sync_for_cpu(struct dma_region *dma, unsigned long offset,
			     unsigned long len);

/* sync the IO bus' view of the buffer */
void dma_region_sync_for_device(struct dma_region *dma, unsigned long offset,
				unsigned long len);

/* map the buffer into a user space process */
int  dma_region_mmap(struct dma_region *dma, struct file *file,
		     struct vm_area_struct *vma);
dma_addr_t dma_region_offset_to_bus(struct dma_region *dma,
				    unsigned long offset);

/* macro to index into a DMA region (or dma_prog_region) */
/**
 * dma_region_i - macro to index into a DMA region (or dma_prog_region)
 */
#define dma_region_i(_dma, _type, _index) \
	( ((_type*) ((_dma)->kvirt)) + (_index) )

/* return the DMA bus address of the byte with the given offset
 * relative to the beginning of the dma_region */
dma_addr_t dma_region_offset_to_bus(struct dma_region *dma,
				    unsigned long offset);

#endif /* IEEE1394_DMA_H */
+86 −3
Original line number Diff line number Diff line
@@ -70,8 +70,12 @@ static struct hl_host_info *hl_get_hostinfo(struct hpsb_highlevel *hl,
	return NULL;
}

/* Returns a per host/driver data structure that was previously stored by
 * hpsb_create_hostinfo. */
/**
 * hpsb_get_hostinfo - retrieve a hostinfo pointer bound to this driver/host
 *
 * Returns a per @host and @hl driver data structure that was previously stored
 * by hpsb_create_hostinfo.
 */
void *hpsb_get_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host)
{
	struct hl_host_info *hi = hl_get_hostinfo(hl, host);
@@ -79,7 +83,13 @@ void *hpsb_get_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host)
	return hi ? hi->data : NULL;
}

/* If size is zero, then the return here is only valid for error checking */
/**
 * hpsb_create_hostinfo - allocate a hostinfo pointer bound to this driver/host
 *
 * Allocate a hostinfo pointer backed by memory with @data_size and bind it to
 * to this @hl driver and @host.  If @data_size is zero, then the return here is
 * only valid for error checking.
 */
void *hpsb_create_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host,
			   size_t data_size)
{
@@ -113,6 +123,11 @@ void *hpsb_create_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host,
	return data;
}

/**
 * hpsb_set_hostinfo - set the hostinfo pointer to something useful
 *
 * Usually follows a call to hpsb_create_hostinfo, where the size is 0.
 */
int hpsb_set_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host,
		      void *data)
{
@@ -132,6 +147,11 @@ int hpsb_set_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host,
	return -EINVAL;
}

/**
 * hpsb_destroy_hostinfo - free and remove a hostinfo pointer
 *
 * Free and remove the hostinfo pointer bound to this @hl driver and @host.
 */
void hpsb_destroy_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host)
{
	struct hl_host_info *hi;
@@ -147,6 +167,12 @@ void hpsb_destroy_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host)
	return;
}

/**
 * hpsb_set_hostinfo_key - set an alternate lookup key for an hostinfo
 *
 * Sets an alternate lookup key for the hostinfo bound to this @hl driver and
 * @host.
 */
void hpsb_set_hostinfo_key(struct hpsb_highlevel *hl, struct hpsb_host *host,
			   unsigned long key)
{
@@ -158,6 +184,9 @@ void hpsb_set_hostinfo_key(struct hpsb_highlevel *hl, struct hpsb_host *host,
	return;
}

/**
 * hpsb_get_hostinfo_bykey - retrieve a hostinfo pointer by its alternate key
 */
void *hpsb_get_hostinfo_bykey(struct hpsb_highlevel *hl, unsigned long key)
{
	struct hl_host_info *hi;
@@ -189,6 +218,12 @@ static int highlevel_for_each_host_reg(struct hpsb_host *host, void *__data)
	return 0;
}

/**
 * hpsb_register_highlevel - register highlevel driver
 *
 * The name pointer in @hl has to stay valid at all times because the string is
 * not copied.
 */
void hpsb_register_highlevel(struct hpsb_highlevel *hl)
{
	unsigned long flags;
@@ -258,6 +293,9 @@ static int highlevel_for_each_host_unreg(struct hpsb_host *host, void *__data)
	return 0;
}

/**
 * hpsb_unregister_highlevel - unregister highlevel driver
 */
void hpsb_unregister_highlevel(struct hpsb_highlevel *hl)
{
	unsigned long flags;
@@ -273,6 +311,19 @@ void hpsb_unregister_highlevel(struct hpsb_highlevel *hl)
	nodemgr_for_each_host(hl, highlevel_for_each_host_unreg);
}

/**
 * hpsb_allocate_and_register_addrspace - alloc' and reg' a host address space
 *
 * @start and @end are 48 bit pointers and have to be quadlet aligned.
 * @end points to the first address behind the handled addresses.  This
 * function can be called multiple times for a single hpsb_highlevel @hl to
 * implement sparse register sets.  The requested region must not overlap any
 * previously allocated region, otherwise registering will fail.
 *
 * It returns true for successful allocation.  Address spaces can be
 * unregistered with hpsb_unregister_addrspace.  All remaining address spaces
 * are automatically deallocated together with the hpsb_highlevel @hl.
 */
u64 hpsb_allocate_and_register_addrspace(struct hpsb_highlevel *hl,
					 struct hpsb_host *host,
					 struct hpsb_address_ops *ops,
@@ -348,6 +399,19 @@ u64 hpsb_allocate_and_register_addrspace(struct hpsb_highlevel *hl,
	return retval;
}

/**
 * hpsb_register_addrspace - register a host address space
 *
 * @start and @end are 48 bit pointers and have to be quadlet aligned.
 * @end points to the first address behind the handled addresses.  This
 * function can be called multiple times for a single hpsb_highlevel @hl to
 * implement sparse register sets.  The requested region must not overlap any
 * previously allocated region, otherwise registering will fail.
 *
 * It returns true for successful allocation.  Address spaces can be
 * unregistered with hpsb_unregister_addrspace.  All remaining address spaces
 * are automatically deallocated together with the hpsb_highlevel @hl.
 */
int hpsb_register_addrspace(struct hpsb_highlevel *hl, struct hpsb_host *host,
			    struct hpsb_address_ops *ops, u64 start, u64 end)
{
@@ -419,6 +483,11 @@ int hpsb_unregister_addrspace(struct hpsb_highlevel *hl, struct hpsb_host *host,
	return retval;
}

/**
 * hpsb_listen_channel - enable receving a certain isochronous channel
 *
 * Reception is handled through the @hl's iso_receive op.
 */
int hpsb_listen_channel(struct hpsb_highlevel *hl, struct hpsb_host *host,
			unsigned int channel)
{
@@ -431,6 +500,9 @@ int hpsb_listen_channel(struct hpsb_highlevel *hl, struct hpsb_host *host,
	return 0;
}

/**
 * hpsb_unlisten_channel - disable receving a certain isochronous channel
 */
void hpsb_unlisten_channel(struct hpsb_highlevel *hl, struct hpsb_host *host,
			   unsigned int channel)
{
@@ -528,6 +600,17 @@ void highlevel_fcp_request(struct hpsb_host *host, int nodeid, int direction,
	read_unlock_irqrestore(&hl_irqs_lock, flags);
}

/*
 * highlevel_read, highlevel_write, highlevel_lock, highlevel_lock64:
 *
 * These functions are called to handle transactions. They are called when a
 * packet arrives.  The flags argument contains the second word of the first
 * header quadlet of the incoming packet (containing transaction label, retry
 * code, transaction code and priority).  These functions either return a
 * response code or a negative number.  In the first case a response will be
 * generated.  In the latter case, no response will be sent and the driver which
 * handled the request will send the response itself.
 */
int highlevel_read(struct hpsb_host *host, int nodeid, void *data, u64 addr,
		   unsigned int length, u16 flags)
{
Loading