#include <linux/init.h>
#include <linux/types.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/device.h>
#include <linux/of.h>
#include <linux/kernel.h>
#include <linux/kdebug.h>
#include <linux/gpio/consumer.h>
struct out_pin { … };
struct in_pin { … };
struct brcmstb_usb_pinmap_data { … };
static void pinmap_set(void __iomem *reg, u32 mask)
{ … }
static void pinmap_unset(void __iomem *reg, u32 mask)
{ … }
static void sync_in_pin(struct in_pin *pin)
{ … }
static irqreturn_t brcmstb_usb_pinmap_ovr_isr(int irq, void *dev_id)
{ … }
static irqreturn_t brcmstb_usb_pinmap_gpio_isr(int irq, void *dev_id)
{ … }
static void get_pin_counts(struct device_node *dn, int *in_count,
int *out_count)
{ … }
static int parse_pins(struct device *dev, struct device_node *dn,
struct brcmstb_usb_pinmap_data *pdata)
{ … }
static void sync_all_pins(struct brcmstb_usb_pinmap_data *pdata)
{ … }
static int __init brcmstb_usb_pinmap_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id brcmstb_usb_pinmap_of_match[] = …;
static struct platform_driver brcmstb_usb_pinmap_driver = …;
static int __init brcmstb_usb_pinmap_init(void)
{ … }
module_init(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;