#include <linux/kernel.h>
#include <linux/mfd/core.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <asm/olpc.h>
#define DRV_NAME …
enum cs5535_mfd_bars { … };
static struct resource cs5535_mfd_resources[NR_BARS];
static struct mfd_cell cs5535_mfd_cells[] = …;
static struct mfd_cell cs5535_olpc_mfd_cells[] = …;
static int cs5535_mfd_probe(struct pci_dev *pdev,
const struct pci_device_id *id)
{ … }
static void cs5535_mfd_remove(struct pci_dev *pdev)
{ … }
static const struct pci_device_id cs5535_mfd_pci_tbl[] = …;
MODULE_DEVICE_TABLE(pci, cs5535_mfd_pci_tbl);
static struct pci_driver cs5535_mfd_driver = …;
module_pci_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;