Skip to content

Commit

Permalink
xen/pciback: Drop two backends, squash and cleanup some code.
Browse files Browse the repository at this point in the history
 - Remove the slot and controller controller backend as they
   are not used.
 - Document the find pciback_[read|write]_config_[byte|word|dword]
   to make it easier to find.
 - Collapse the code from conf_space_capability_msi into pciback_ops.c
 - Collapse conf_space_capability_[pm|vpd].c in conf_space_capability.c
   [and remove the conf_space_capability.h file]
 - Rename all visible functions from pciback to xen_pcibk.
 - Rename all the printk/pr_info, etc that use the "pciback" to say
   "xen-pciback".
 - Convert functions that are not referenced outside the code to be
   static to save on name space.
 - Do the same thing for structures that are internal to the driver.
 - Run checkpatch.pl after the renames and fixup its warnings and
   fix any compile errors caused by the variable rename
 - Cleanup any structs that checkpath.pl commented about or just
   look odd.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  • Loading branch information
Konrad Rzeszutek Wilk committed Jul 20, 2011
1 parent c288b67 commit a92336a
Show file tree
Hide file tree
Showing 19 changed files with 679 additions and 1,369 deletions.
5 changes: 0 additions & 5 deletions drivers/xen/xen-pciback/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,9 @@ obj-$(CONFIG_XEN_PCIDEV_BACKEND) += xen-pciback.o
xen-pciback-y := pci_stub.o pciback_ops.o xenbus.o
xen-pciback-y += conf_space.o conf_space_header.o \
conf_space_capability.o \
conf_space_capability_vpd.o \
conf_space_capability_pm.o \
conf_space_quirks.o
xen-pciback-$(CONFIG_PCI_MSI) += conf_space_capability_msi.o
xen-pciback-$(CONFIG_XEN_PCIDEV_BACKEND_VPCI) += vpci.o
xen-pciback-$(CONFIG_XEN_PCIDEV_BACKEND_SLOT) += slot.o
xen-pciback-$(CONFIG_XEN_PCIDEV_BACKEND_PASS) += passthrough.o
xen-pciback-$(CONFIG_XEN_PCIDEV_BACKEND_CONTROLLER) += controller.o

ifeq ($(CONFIG_XEN_PCIDEV_BE_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG
Expand Down
55 changes: 29 additions & 26 deletions drivers/xen/xen-pciback/conf_space.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,14 @@
#include "conf_space.h"
#include "conf_space_quirks.h"

#define DRV_NAME "xen-pciback"
static int permissive;
module_param(permissive, bool, 0644);

/* This is where xen_pcibk_read_config_byte, xen_pcibk_read_config_word,
* xen_pcibk_write_config_word, and xen_pcibk_write_config_byte are created. */
#define DEFINE_PCI_CONFIG(op, size, type) \
int pciback_##op##_config_##size \
int xen_pcibk_##op##_config_##size \
(struct pci_dev *dev, int offset, type value, void *data) \
{ \
return pci_##op##_config_##size(dev, offset, value); \
Expand Down Expand Up @@ -138,11 +141,11 @@ static int pcibios_err_to_errno(int err)
return err;
}

int pciback_config_read(struct pci_dev *dev, int offset, int size,
u32 *ret_val)
int xen_pcibk_config_read(struct pci_dev *dev, int offset, int size,
u32 *ret_val)
{
int err = 0;
struct pciback_dev_data *dev_data = pci_get_drvdata(dev);
struct xen_pcibk_dev_data *dev_data = pci_get_drvdata(dev);
const struct config_field_entry *cfg_entry;
const struct config_field *field;
int req_start, req_end, field_start, field_end;
Expand All @@ -151,7 +154,7 @@ int pciback_config_read(struct pci_dev *dev, int offset, int size,
u32 value = 0, tmp_val;

if (unlikely(verbose_request))
printk(KERN_DEBUG "pciback: %s: read %d bytes at 0x%x\n",
printk(KERN_DEBUG DRV_NAME ": %s: read %d bytes at 0x%x\n",
pci_name(dev), size, offset);

if (!valid_request(offset, size)) {
Expand Down Expand Up @@ -195,25 +198,25 @@ int pciback_config_read(struct pci_dev *dev, int offset, int size,

out:
if (unlikely(verbose_request))
printk(KERN_DEBUG "pciback: %s: read %d bytes at 0x%x = %x\n",
printk(KERN_DEBUG DRV_NAME ": %s: read %d bytes at 0x%x = %x\n",
pci_name(dev), size, offset, value);

*ret_val = value;
return pcibios_err_to_errno(err);
}

int pciback_config_write(struct pci_dev *dev, int offset, int size, u32 value)
int xen_pcibk_config_write(struct pci_dev *dev, int offset, int size, u32 value)
{
int err = 0, handled = 0;
struct pciback_dev_data *dev_data = pci_get_drvdata(dev);
struct xen_pcibk_dev_data *dev_data = pci_get_drvdata(dev);
const struct config_field_entry *cfg_entry;
const struct config_field *field;
u32 tmp_val;
int req_start, req_end, field_start, field_end;

if (unlikely(verbose_request))
printk(KERN_DEBUG
"pciback: %s: write request %d bytes at 0x%x = %x\n",
DRV_NAME ": %s: write request %d bytes at 0x%x = %x\n",
pci_name(dev), size, offset, value);

if (!valid_request(offset, size))
Expand All @@ -231,7 +234,7 @@ int pciback_config_write(struct pci_dev *dev, int offset, int size, u32 value)
|| (req_end > field_start && req_end <= field_end)) {
tmp_val = 0;

err = pciback_config_read(dev, field_start,
err = xen_pcibk_config_read(dev, field_start,
field->size, &tmp_val);
if (err)
break;
Expand Down Expand Up @@ -290,9 +293,9 @@ int pciback_config_write(struct pci_dev *dev, int offset, int size, u32 value)
return pcibios_err_to_errno(err);
}

void pciback_config_free_dyn_fields(struct pci_dev *dev)
void xen_pcibk_config_free_dyn_fields(struct pci_dev *dev)
{
struct pciback_dev_data *dev_data = pci_get_drvdata(dev);
struct xen_pcibk_dev_data *dev_data = pci_get_drvdata(dev);
struct config_field_entry *cfg_entry, *t;
const struct config_field *field;

Expand All @@ -316,9 +319,9 @@ void pciback_config_free_dyn_fields(struct pci_dev *dev)
}
}

void pciback_config_reset_dev(struct pci_dev *dev)
void xen_pcibk_config_reset_dev(struct pci_dev *dev)
{
struct pciback_dev_data *dev_data = pci_get_drvdata(dev);
struct xen_pcibk_dev_data *dev_data = pci_get_drvdata(dev);
const struct config_field_entry *cfg_entry;
const struct config_field *field;

Expand All @@ -334,9 +337,9 @@ void pciback_config_reset_dev(struct pci_dev *dev)
}
}

void pciback_config_free_dev(struct pci_dev *dev)
void xen_pcibk_config_free_dev(struct pci_dev *dev)
{
struct pciback_dev_data *dev_data = pci_get_drvdata(dev);
struct xen_pcibk_dev_data *dev_data = pci_get_drvdata(dev);
struct config_field_entry *cfg_entry, *t;
const struct config_field *field;

Expand All @@ -356,12 +359,12 @@ void pciback_config_free_dev(struct pci_dev *dev)
}
}

int pciback_config_add_field_offset(struct pci_dev *dev,
int xen_pcibk_config_add_field_offset(struct pci_dev *dev,
const struct config_field *field,
unsigned int base_offset)
{
int err = 0;
struct pciback_dev_data *dev_data = pci_get_drvdata(dev);
struct xen_pcibk_dev_data *dev_data = pci_get_drvdata(dev);
struct config_field_entry *cfg_entry;
void *tmp;

Expand All @@ -376,7 +379,7 @@ int pciback_config_add_field_offset(struct pci_dev *dev,
cfg_entry->base_offset = base_offset;

/* silently ignore duplicate fields */
err = pciback_field_is_dup(dev, OFFSET(cfg_entry));
err = xen_pcibk_field_is_dup(dev, OFFSET(cfg_entry));
if (err)
goto out;

Expand Down Expand Up @@ -406,30 +409,30 @@ int pciback_config_add_field_offset(struct pci_dev *dev,
* certain registers (like the base address registers (BARs) so that we can
* keep the client from manipulating them directly.
*/
int pciback_config_init_dev(struct pci_dev *dev)
int xen_pcibk_config_init_dev(struct pci_dev *dev)
{
int err = 0;
struct pciback_dev_data *dev_data = pci_get_drvdata(dev);
struct xen_pcibk_dev_data *dev_data = pci_get_drvdata(dev);

dev_dbg(&dev->dev, "initializing virtual configuration space\n");

INIT_LIST_HEAD(&dev_data->config_fields);

err = pciback_config_header_add_fields(dev);
err = xen_pcibk_config_header_add_fields(dev);
if (err)
goto out;

err = pciback_config_capability_add_fields(dev);
err = xen_pcibk_config_capability_add_fields(dev);
if (err)
goto out;

err = pciback_config_quirks_init(dev);
err = xen_pcibk_config_quirks_init(dev);

out:
return err;
}

int pciback_config_init(void)
int xen_pcibk_config_init(void)
{
return pciback_config_capability_init();
return xen_pcibk_config_capability_init();
}
42 changes: 21 additions & 21 deletions drivers/xen/xen-pciback/conf_space.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,58 +69,58 @@ struct config_field_entry {
/* Add fields to a device - the add_fields macro expects to get a pointer to
* the first entry in an array (of which the ending is marked by size==0)
*/
int pciback_config_add_field_offset(struct pci_dev *dev,
int xen_pcibk_config_add_field_offset(struct pci_dev *dev,
const struct config_field *field,
unsigned int offset);

static inline int pciback_config_add_field(struct pci_dev *dev,
static inline int xen_pcibk_config_add_field(struct pci_dev *dev,
const struct config_field *field)
{
return pciback_config_add_field_offset(dev, field, 0);
return xen_pcibk_config_add_field_offset(dev, field, 0);
}

static inline int pciback_config_add_fields(struct pci_dev *dev,
static inline int xen_pcibk_config_add_fields(struct pci_dev *dev,
const struct config_field *field)
{
int i, err = 0;
for (i = 0; field[i].size != 0; i++) {
err = pciback_config_add_field(dev, &field[i]);
err = xen_pcibk_config_add_field(dev, &field[i]);
if (err)
break;
}
return err;
}

static inline int pciback_config_add_fields_offset(struct pci_dev *dev,
static inline int xen_pcibk_config_add_fields_offset(struct pci_dev *dev,
const struct config_field *field,
unsigned int offset)
{
int i, err = 0;
for (i = 0; field[i].size != 0; i++) {
err = pciback_config_add_field_offset(dev, &field[i], offset);
err = xen_pcibk_config_add_field_offset(dev, &field[i], offset);
if (err)
break;
}
return err;
}

/* Read/Write the real configuration space */
int pciback_read_config_byte(struct pci_dev *dev, int offset, u8 *value,
void *data);
int pciback_read_config_word(struct pci_dev *dev, int offset, u16 *value,
void *data);
int pciback_read_config_dword(struct pci_dev *dev, int offset, u32 *value,
void *data);
int pciback_write_config_byte(struct pci_dev *dev, int offset, u8 value,
void *data);
int pciback_write_config_word(struct pci_dev *dev, int offset, u16 value,
void *data);
int pciback_write_config_dword(struct pci_dev *dev, int offset, u32 value,
int xen_pcibk_read_config_byte(struct pci_dev *dev, int offset, u8 *value,
void *data);
int xen_pcibk_read_config_word(struct pci_dev *dev, int offset, u16 *value,
void *data);
int xen_pcibk_read_config_dword(struct pci_dev *dev, int offset, u32 *value,
void *data);
int xen_pcibk_write_config_byte(struct pci_dev *dev, int offset, u8 value,
void *data);
int xen_pcibk_write_config_word(struct pci_dev *dev, int offset, u16 value,
void *data);
int xen_pcibk_write_config_dword(struct pci_dev *dev, int offset, u32 value,
void *data);

int pciback_config_capability_init(void);
int xen_pcibk_config_capability_init(void);

int pciback_config_header_add_fields(struct pci_dev *dev);
int pciback_config_capability_add_fields(struct pci_dev *dev);
int xen_pcibk_config_header_add_fields(struct pci_dev *dev);
int xen_pcibk_config_capability_add_fields(struct pci_dev *dev);

#endif /* __XEN_PCIBACK_CONF_SPACE_H__ */
Loading

0 comments on commit a92336a

Please sign in to comment.