static struct resource xxx_resources[] = {
  { /* registers */
    .start = XXX_MEM_BASE,
    .end   = XXX_MEM_BASE + 0xff,
    .flags = IORESOURCE_MEM,
  }, { /* general IRQ */
    .start = XXX_IRQ_BASE + 20,
    .flags = IORESOURCE_IRQ,
  }, { /* PIO IRQ */
    .start = XXX_IRQ_BASE + 30,
    .flags = IORESOURCE_IRQ,
  },
};

static u64 xxx_dmamask = ~(u32)0;

static struct platform_device xxx_device = {
  .name = "xxx",
  .id   = -1,
  .dev  = {
    .relase      = xxx_release,
    .dma_mask    = &xxx_dmamask,
    .coherent_dma_mask = 0xffffffff,
  },